### Conectiva 8 ###
Considera-se que o Servidor Windows 2000 que autenticará os usuários seja o PDC (Primary Domain Controller) da rede e que a configuração básica do samba já esta realizada.
Para obter informações sobre as configurações genéricas do samba, acesse:
http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.samba.html
Inicialmente iremos configurar o Windows 2000, acessando no Active Directory:
Container (pasta):
Computers
Clique com o botão Direito -> New -> Computer.-> Computer Name: <nome do servidor linux que fará a autenticação no Windows 2000> ->Habilite a opção Allow pre-Windows 2000 computers to use this accout Pressione OK
Agora no Linux:
Primeiramente deve-se configurar o samba. Edite o arquivo /etc/smb.conf e localize as respectivas seções e altere-as conforme indicado:
workgroup = conectiva
|
altere conforme o domínio (workgroup) de sua rede windows
security = domain
|
isto fará o samba autenticar em domínio (se estiver como share ou user altere para domain, caso seja alterado para server a autenticação será por servidor independente de ser PDC de rede ou não)
password server = w2k.conectiva
|
indique o servidor que irá autenticar os usuários, caso seja usado um "*" (sem aspas) em vez do nome de uma máquina, ele irá procurar pelo PDC da rede.
encrypt passwords = yes
|
faz com que o samba use senhas criptografadas, necessário para interagir com Windows 95 OSR2, Windows 98/ME/XP/2000 e Windows NT com service pack 3 ou maior instalado.
winbind separator = +
|
Separa o domínio do nome do usuário com o caractere "+". Pode ser usado também o caractere "\". Geralmente o correto é o "+".
winbind uid = 1000-2000
winbind gid = 1000-2000
|
Informa o range de uid (user ID) e gid (group ID) a ser usado. Deve ser usada uma faixa que não está sendo usada pelo sistema, para saber quais os uid e gid, pode-se executar:
[root@localhost /]# getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
games:x:12:100:games:/usr/games:
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTP User:/var/ftp:
nobody:x:65534:65534:Nobody:/home:
mysql:x:100:101:MySQL server:/var/lib/mysql:/bin/bash
www:x:101:102::/var/www:/bin/false
sshd:x:102:103:sshd:/var/empty:/bin/false
stunnel:x:103:233::/home/stunnel:/dev/null
postfix:x:104:104:postfix:/var/spool/postfix:
ntp:x:105:105:NTP daemon:/etc/ntp:/bin/false
named:x:106:235:Domain name server:/var/named:/bin/false
postgres:x:107:107:PostgreSQL Server:/var/lib/pgsql:/bin/bash
[root@localhost /]#
|
Em nossa simulação, o último uid foi o 107, então poderíamos usar na opção winbind uid os valores 150-500, por exemplo, o valor inicial foi 150 para reservar User IDs para contas adicionadas futuramente no sistema (linux).
winbind enum users = yes
winbind enum groups = yes
|
Ativa a numeração de usuários e grupos para as chamadas de sistema. Em ambientes grandes, é aconselhável desabilitar esta numeração (com a flag no), mas alguns aplicativos podem deixar de funcionar apropriadamente.
Salve o arquivo e saia.
Devemos adicionar o servidor linux no domínio do Windows 2000, para isto usaremos o comando smbpasswd conforme exemplo abaixo:
[root@localhost /]# smbpasswd -r <nome do pdc> -j <dominio>
|
Considerando que a máquina com Windows 2000 e PDC da rede tenha o nome de w2k e o domínio seja conectiva, o comando seria:
# smbpasswd -r w2k.conectiva -j conectiva
2002/07/10 11:04:55 : change_trust_account_password: Changed password for domain CONECTIVA.
Joined domain CONECTIVA.
|
Edite o arquivo /etc/nsswitch.conf e localize as linhas:
passwd: files nisplus nis
group: files nisplus nis
|
e altere-as para:
passwd: files winbind
group: files winbind
|
Edite o arquivo /etc/pam.d/samba e as linhas:
auth required /lib/security/pam_unix.so nullok shadow
account required /lib/security/pam_unix.so
|
devem ser removidas (aconselha-se apenas comentar as linhas ou fazer uma cópia de segurança do arquivo) e as seguintes linhas adicionadas:
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_winbind.so
auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
account required /lib/security/pam_winbind.so
|
Edite o arquivo /etc/rc.d/init.d/smb e localize a seção:
start)
gprintf "Starting %s services: " "SMB"
daemon smbd -D
echo
gprintf "Starting %s services: " "NMB"
daemon nmbd -D
echo
touch /var/lock/subsys/smb
;;
|
Adicione as linhas:
gprintf "Starting %s services: " "Winbind"
daemon winbindd
echo
|
Deixando a seção do seguinte modo:
start)
gprintf "Starting %s services: " "SMB"
daemon smbd -D
echo
gprintf "Starting %s services: " "NMB"
daemon nmbd -D
echo
gprintf "Starting %s services: " "Winbind"
daemon winbindd
echo
touch /var/lock/subsys/smb
;;
|
O mesmo deverá ser feito nas seções stop e status, conforme exemplo:
stop)
gprintf "Stopping %s services: " "SMB"
killproc smbd
echo
gprintf "Stopping %s services: " "NMB"
killproc nmbd
echo
gprintf "Stopping %s services: " "Winbind"
killproc winbindd
echo
rm -f /var/lock/subsys/smb
;;
status)
status smbd
status nmbd
status winbindd
;;
|
[root@localhost /]# service smb stop
[root@localhost /]# service smb start
|
Então, teste a configuração executando:
[root@localhost /]# smbclient <//nomedamaquina/compartilhamento> -U <dominio+usuario>
|
Considerando que o nome da máquina linux seja samba, o compartilhamento seja usr, o domínio seja conectiva e o usuário seja tulio, o comando seria:
[root@localhost /]# smbclient //samba/usr -U conectiva+tulio
added interface ip=10.0.2.89 bcast=10.0.7.255 nmask=255.255.248.0
Password:
Domain=[CONECTIVA] OS=[Unix] Server=[Samba 2.2.3a]
smb: \>
|