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.