bom dia,
Linux como Workstation, em maquina com dual-boot, integrado em uma rede
windows NT:
eis uma solucao que adotei!
WORKSTATION LINUX COM WINBIND
ou
LINUX AUTENTICAR NO WINDOWS NT/2K : WINBIND
Como usar o WinBind para autenticar usuarios do samba no Windows NT /2000
O que é o WinBind?
O WinBind é um componente do software SAMBA que é usado para permitir que os
usuários do samba sejam autenticados no NT. Com isto obtem-se uma base
centralizada e unificada de usuários, simplificando a administracao e
gerenciamento ( os usuários tem um mesmo login/senha para acessar tanto a
maquina quanto o linux/samba ).
Para que o WinBind funcione perfeitamente o samba deve ser configurado como
parte de um dominio NT/2000 ja existente e adcionada, e isto é feito em duas
etapas: 1) configurar o smb.conf e 2) adcionar a maquina samba ao dominio
NT/2K ( isto é feito pelo administrador do NT/2K ).
O que precisa para fazer isto?
Uma instalacao padrao, com a parte de rede funcionando ( de preferencia por
dhcp ) e os dados sobre a rede, tais como nome do servidor, nome do dominio,
endereco ip de algumas maquina ( o servidor por exemplo ); para o ambiente
de teste em que fizemos os testes, temos:
Dados da estação:
IP = 10.0.1.7
Subnet Masq = 255.255.255.0
Gateway = 10.0.1.1
Nome da estação no windows = SARE100
Nome da estação no linux = SARE100 ( neste caso, o NetBios Name do SAMBA e
nao o hostname )
Hostname = Sare100.NuinfDomain
Dados do servidor:
IP = 10.0.1.2
Subnet Masq = 255.255.255.0
Nome da máquina = SAD_01
Nome do domínio = SAD
Tambem precisa ter o samba server instalado, e nao apenas a parte cliente,
pois precisamos ter uma configuracao minima de modo a inclui-lo no dominio
existente; nao necessitamos compartilhar necesáriamente nenhum recurso (
diretorios, arquivos, impressoras ) já que o objetivo é que a maquina seja
usada como estação de trabalho e não como servidor. Considere apenas criar
um diretório e deixa-lo disponível, para uma eventual necessidade de troca
de arquivos com outra pessoas na rede. ( mkdir /diversos ; chmod 0777
/diversos ).
Considere usar o modelo abaixo, pois é de uma maquina em operação e
funcionando corretamente, apenas adpate para suas próprias particularidades.
==>>> inicio de modelo
# Samba config file created using SWAT
# from localhost.localdomain (127.0.0.1)
# Date: 2002/08/26 15:21:05
# Global parameters
[global]
# workgroup = FREVO
workgroup = SAD
netbios name = MANGUEBEAT
server string = Linux_FREVO_Server
security = DOMAIN
encrypt passwords = Yes
password server = sad_01
passwd program = /usr/bin/passwd
unix password sync = Yes
log file = /var/log/samba/log.%m
max log size = 500
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
preferred master = False
domain master = False
dns proxy = No
printing = lprng
#
# Para fazer uso do Winbind
# Conferir em: http://us1.samba.org/samba/ftp/docs/htmldocs/winbind.html
#
# separate domain and username with ´+´ like DOMAIN+username
winbind separator = +
# use uids from 10000 to 20000 for domain users
winbind uid = 10000-20000
# use gids from 10000 to 20000 for domain groups
winbind gid = 10000-20000
# allow enumeration of winbind users and groups
# might need to disable these next two for performance
# reasons on the winbind host
#
winbind enum users = yes
winbind enum groups = yes
# give winbind users a real shell ( only needed if they have
telnet/sshd/etc...access )
template homedir = /home/winnt/%D/%U
template shell = /bin/bash
#
# ends the needed to uses winbind...05/09/02
#
[homes]
comment = Home Directories
read only = No
guest ok = Yes
only user = Yes
[printers]
comment = All Printers
path = /var/spool/samba
guest ok = Yes
printable = Yes
browseable = No
[netlogon]
comment = Logon Dos Usuarios
path = /home/netlogon
[Diversos]
comment = Diretorio Uso Geral
path = /diversos
read only = No
guest ok = Yes
[SMB_PRT_HP820]
comment = Impressora do Servidor FREVO (samba)
path = /tmp
printable = Yes
===>>> fim do modelo
Maos a obra
Configure o /etc/smb.conf conforme modelo acima
Edite o arquivo /etc/nsswitch.conf de modo a permitir que usuarios egrupos
fiquem visiveis ao winbindd, conforme abaixo:
Passwd: files winbind
Shadow: files
Group: files winbind
Adicione o samba ao dominio NT/2K:
# smbpasswd -j SAD -r SAD_01
Rodar o winbindd para testar a configuração
# winbindd
OBS: verifique se está mesmo rodando com ps -ae| grepwinbindd
Agora digite o comando wbinfo -u , que deve mostrar o seguinte:
SAD+user1
SAD+user2
SAD+user3
SAD+user4
SAD+user5
Etc...
E significa que o dominio é SAD e o separador é " + " e user1/2/3/4/5 são os
usuários.
Agora digite o comando wbinfo -g , que deve mostrar os grupos de trabalho do
WinNT, como abaixo:
SAD+Domain Admin
SAD+Domain Users
SAD+Domain Computers
SAD+Domain Analista
SAD+Domain Producao
SAD+Domain Guests
Etc...
Agora podemos usar o comando getent passwd para unificar os usuários locais
e do PDC ( na tela vai mostra algo como cat /etc/passwd )
Agora digite o comando getent group para unificar os grupos locais e do PDC
Agora vamos alterar alguns arquivos do PAM de modo que nossos usuarios sejam
autenticados no WinNT/2K:
Edite o arquivo /etc/pam.d/login
==>> veja exemplo
#%PAM-1.0
# alterada para incluir suporte a WinBind 05/09/02
auth required /lib/security/pam_securetty.so
auth sufficient /lib/security/pam_winbind.so
auth sufficient /lib/security/pam_unix.so use_first_pass
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_nologin.so
account sufficient /lib/security/pam_winbind.so
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0022
session optional /lib/security/pam_console.so
==>> fim do exemplo
Edite o arquivo /etc/pam.d/system-auth
==>> veja exemplo
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_winbind.so
auth sufficient /lib/security/pam_unix.so likeauth nullok use_first_pass
auth required /lib/security/pam_deny.so
account required /lib/security/pam_unix.so
account sufficient /lib/security/pam_localuser.so
password required /lib/security/pam_cracklib.so retry=3 type=
password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow
nis
password required /lib/security/pam_deny.so
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
==>> fim do exemplo
Edite o arquivo /etc/pam.d/kde ( autenticar a partir da tela de login do
kde )
==>> veja exemplo
#%PAM-1.0
# alterado para incluir suporte ao WinBind
#
auth required /lib/security/pam_stack.so service=system-auth
auth sufficient /lib/security/pam_winbind.so
auth sufficient /lib/security/pam_unix.so use_first_pass
auth required /lib/security/pam_nologin.so
account sufficient /lib/security/pam_winbind.so
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
session optional /lib/security/pam_console.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0022
==>> fim de exemplo
E por ultimo coloque o winbindd para carregar na inicialização da maquina;
você pode alterar o arquivo que carrega o samba de modo que ele tambem
estarte o winbindd ou colocar uma chamada pelo /etc/rc.d/rc.local .
Edite o arquivo /etc/rc.d/rc.local e adiciona a linha ao final do arquivo:
# starta o winbindd
/usr/sbin/winbindd
Ou pode alterar o arquivo /etc/rc.d/init.d/smb e incluir as linhas
referentes ao winbindd
Na parte de start ( que carrega o samba)
Daemon winbindd
Echo " Iniciando o WinBind Daemon "
Na parte de stop ( que para o samba )
Killproc winbindd
Echo " Parando o WinBindd "
Na parte de status ( que mostra o status dos serviços )
Status winbindd
===>>> veja exemplo do arquivo de ativação do samba ( /etc/rc.d/init.d/smb )
#!/bin/sh
#
# chkconfig: 345 91 35
# description: Starts and stops the Samba smbd and nmbd daemons
# used to provide SMB network services.
# description(pt_BR): Gerencia os servidores do Samba (smbd e nmbd)
# usados para fornecer os serviços de rede SMB.
# description(es): Administra los servidores de Samba (smbd y nmbd)
# usados para suministrar los servicios de red SMB.
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Check that smb.conf exists.
[ -f /etc/smb.conf ] || exit 0
# we have to do this
unset TMP TMPDIR
# See how we were called.
case "$1" in
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 -D
echo
touch /var/lock/subsys/smb
;;
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
;;
restart)
$0 stop
$0 start
;;
*)
gprintf "Usage: %s {start|stop|status|restart}n" "samba"
exit 1
esac
===>>> fim do exemplo
E lembre-se de configurar o samba para carregar na inicializacao da maquina
( via setup ou ntsysv )
E depois ?
E depois disto os usuários ja poderam logar digitando: SAD+login e senha
Também poderão acessar seus compartilhamentos do Windows NT usando as
tradicionais ferramentas do samba, como:
Smbmount
Smbumount
Smbclient
E instale o OpenOffice e os usuários poderão fazer normalmente seu trabalho.
Referencia:
http://us1.samba.org/samba/docs/man/winbind.html
Http://www.mandrakeuser.org/docs/connect/csamba5.html
t+
Clovis.