quinta-feira, 23 de maio de 2013

Servidor Debian – Parte 5 e final!

Bom, no inicio dessa série de posts me prôpus a criar um servidor simples que tivesse todos os serviços básicos em um só equipamento , com duas placas de redes e uma delas ligada ao roteador/modem, e a outra à rede interna.
Fiz isso de uma maneira bem simples não usei configurações muito avançadas nem nada que fosse realmente inovador. Porque o objetivo e para ser usado como plataforma de apoio à montagem de confs mais elaboradas no futuro.
Se comparem esse tutorial aos servidores que produzo normalmente, parecerá uma coisa boba, pois não há nem mesmo algum script que automatize alguma tarefa. Agora vou finalizar ensinando como configurar o SAMBA, que será nosso PDC, e servidor de arquivos.
PDC é o Primay Domain Controler responsavel pela autenticação da rede. No caso do dominio. Eu utilizo o Roaming Profile nessa configuração ou seja, em qualquer maquina que o usuario logar ele irá baixar do servidor a sua área de trabalho, seus arquivos do perfil etc…
Uma sacada importante para isso funcionar e a pasta “sysvol”, que é obrigatoria, passei meses testando configurações lá pras idas de 2008, pra descobrir isso. Por falar nisso essa conf e dessa época também, e roda tão redondo nos meu servidores, que nunca quis alterá-la.
Bom vamos parar de papo e ir para a instalação.
#apt-get install samba
Depois vamos trabalhar no arquivo de configuração.
#vim /etc/samba/smb.conf
[global]
### Nome do Dominio ###
netbios name = srvamcollucci
workgroup = amcollucci.local
### Seguranca ###
security = user
smb passwd file = /etc/samba/smbpasswd
encrypt passwords = true
guest account = nobody
admin users = admin
domain logons = yes
hosts allow = 192.168.25.0/24
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
### Define a interfacae que vai atender as solicitacoes ###
bind interfaces only = yes
interfaces = eth0
### Pasta do Roaming Profile ###
logon path = \\srvamcollucci\sysvol\%U
### Configuracoes para fazer o Samba responder como PDC ###
os level = 80
domain master = yes
preferred master =yes
local master = yes
domain master = yes
wins support = yes
### Compartilhamentos ###
### Deixei um exemplo comentado:
# compartilhamentos
#        [SAMPLE]
#        path = /home/fileserver/
#        comment = Acesso restrito
#        writeable = yes
#        browseable = yes
#        valid users =
#        write list =
#        read list =
#        force directory mode = 0777
#        force create mode = 0777
#Pasta de logon dos usuarios
[sysvol]
comment = System Volume
path = /home/fileserver/sysvol
public = yes
guest ok = no
valid users =
write list =
writeable = yes
browseable = no
share modes = no
Agora vem a parte da montagem da estrutura de pastas:
#mkdir /home/fileserver
#mkdir /home/fileserver/sysvol
#chmod 777 /home/fileserver
#chmod 777 /home/fileserver/sysvol
Como voce pode querer criar muitas pastas, o melhor e criar um script que automatize isso, pois sempre que criar uma pasta deve dar permissões para que o samba possa abri-la, outra coisa e que precisaremos desse script logo depois para criarmos o script de criação de usuários.
#vim /etc/samba/criadiretorios.sh
#!/bin/sh
mkdir /home/fileserver/$1
chmod 777 /home/fileserver/$1
Vamos agora criar um script para criação de usuarios:
#vim /etc/samba/criausuarios.sh
#!/bin/sh
useradd $1 –shell /bin/false
smbpasswd -a $1
smbpasswd -e $1
echo “usuario $1 criado com sucesso!”
mkdir /home/fileserver/sysvol/$1
cd /home/fileserver/sysvol
chmod 777 $1 $1
chown $1 $1
cd -
No fim damos permissão de execução para esses scripts:
# chmod 755 criausuarios.sh
# chmod 755 criadiretorios.sh
#chmod +X criausuarios.sh
# chmod +X criadiretorios.sh
Vamos transformar eses scritps em comandos agora:
#cd /usr/bin
#ln -s /etc/samba/criadiretorios.sh criadiretorios
#ln -s /etc/samba/criausuarios.sh criausuarios
Agora em qualquer pasta que você utilizar os comandos criadiretorios ou criausuarios ele executará o script que configuramos.
Ainda precisamos criar o usuario admin que configuramos como o Administrador da nossa rede.
#criausuarios admin
Pronto! nosso servidor esta montado. Os scripts que criamos facilitam e muito a vida na hora de criar os usuários e diretorios. No fim das contas deposi de tudo montando a unicas coisas que são necessárias no dia a dia, são a adição de máquinas ao domínio, a adição de pastas compartilhadas, e a adição de usuarios as três operações também são bem simples.
Adição de usuários:
#criausuarios user
Adição de máquinas: (isso aqui pode virar um script, mas vou deixar para você)
useradd -s /bin/false -d /dev/null nome_seguido_de_$
smbpasswd -m -a nome_sem_$
ex:
#useradd -s /bin/false -d /dev/null maquina1$
smbpasswd -m -a  maquina1
Para compartilhar uma pasta basta acrescentar no smb.conf, as linhas que deixei comentada no script e que replico aqui:
[Nome do compartilhamento]
path = caminho do compatilhamento
comment = Acesso restrito
writeable = se há  podemos escrever ou não
browseable = se podemos navegar na pasta
valid users = Usuários aptos a interagirem com a pasta
write list = Usuários com permissão de escrita na pasta
read list = Usuários com permissão de leitura na pasta
force directory mode = 0777
force create mode = 0777
ex:
Primeiro criamos o diretorio:
criadiretorio estamosnofim
Depois configuramos ele no smb.conf:
[FIM]
path = /home/fileserver/estamosnofim
comment = Acesso restrito
writeable = yes
browseable =  yes
valid users = user1,user2
write list = user1
read list = user2
force directory mode = 0777
force create mode = 0777
Agora so adicione as seguinte linhas ao seu firewall, para conseguir acessar os compartilhamentos:
echo “liberando o SAMBA”
iptables -A INPUT -p tcp -s 192.168.0.0/24 –dport 139 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.0.0/24 –dport 139 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.0.0/24 –dport 138 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.0/24 –dport 138 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.0.0/24 –dport 137 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.0/24 –dport 137 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.0.0/24 –dport 445 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.0/24 –dport 445 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 –dport 139 -j DROP
iptables -A INPUT -p udp -s 0/0 –dport 139 -j DROP
iptables -A INPUT -p tcp -s 0/0 –dport 138 -j DROP
iptables -A INPUT -p udp -s 0/0 –dport 138 -j DROP
iptables -A INPUT -p tcp -s 0/0 –dport 137 -j DROP
iptables -A INPUT -p udp -s 0/0 –dport 137 -j DROP
iptables -A INPUT -p tcp -s 0/0 –dport 445 -j DROP
iptables -A INPUT -p udp -s 0/0 –dport 445 -j DROP
iptables -A OUTPUT -p tcp -s 192.168.0.0/24 –dport 139 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.0.0/24 –dport 139 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.0.0/24 –dport 138 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.0.0/24 –dport 138 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.0.0/24 –dport 137 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.0.0/24 –dport 137 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.0.0/24 –dport 445 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.0.0/24 –dport 445 -j ACCEPT
Depois e so iniciar o SAMBA e correr para o abraço!
/etc/init.d/samba restart
Bom esse e o fim

Nenhum comentário:

Postar um comentário