PDA

View Full Version : samba in active directory 2003


eclissi83
17-12-2007, 15:47
salve, come da oggetto ho un problema a inserire una macchina samba in un dominio active directory su windows 2003 server r2.
l'esigenza e' quella di permettere ad ogni utente del dominio AD di accedere al proprio spazio sulla macchina linux previa autenticazione via user e pass (quelle che usa per loggare nel dominio); inoltre deve essere presente uno spazio di interscambio in cui e' possibile scrivere e leggere da qualsiasi utente.
il server samba fa il join nel dominio e se do' il comando getent passwd, mi mostra sia gli utenti windows che quelli linux.
il problema nasce quando da una macchina windows tento di accedere alle home dei vari utenti: mi da' sempre accesso negato.
riesco ad accedere alla directory di interscambio, ma in sola lettura.

la configurazione di samba e' questa:

[root@centos5_1 samba]# cat smb.conf
[global]
workgroup = SMB
server string = %h server (Samba, CentOS)
; wins support = no
; wins server = w.x.y.z
dns proxy = no
; name resolve order = lmhosts host wins bcast
winbind separator = \
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash
; interfaces = 127.0.0.0/8 eth0
; bind interfaces only = true
log file = /var/log/samba/log.%m
max log size = 1000
; syslog only = no
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = ADS
realm = SMB.LOCAL
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
; guest account = nobody
invalid users = root
; unix password sync = no
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
; pam password change = no
; domain logons = yes
; logon path = \\%N\profiles\%U
; logon path = \\%N\%U\profile
; logon drive = H:
; logon home = \\%N\%U
; logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; load printers = yes
; printing = bsd
; printcap name = /etc/printcap
; printing = cups
; printcap name = cups
; printer admin = @lpadmin
; include = /home/samba/etc/smb.conf.%m
socket options = TCP_NODELAY
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
; domain master = auto
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash
[homes]
comment = Home Directories
browseable = yes
valid users = %S
writable = yes
create mask = 0600
directory mask = 0700
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; writable = no
; share modes = no
;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700
[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
; write list = root, @ntadmin
;[cdrom]
; comment = Samba server's CD-ROM
; writable = no
; locking = no
; path = /cdrom
; public = yes
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom
[pubblica]
comment = Directory Pubblica
path = /home/SMB/sambaserver
writable = yes
public = yes
read only = no
[root@centos5_1 samba]#

c'e' qualcosa di sbagliato nella configurazione?

WebWolf
17-12-2007, 16:33
Per la pubblica: guarda come sono i permessi. Devi dargli il 777 da riga di comando.

Per le /homes: se accedi da un pc non loggato al dominio, ti chiede user e passwd o ti dice solo 'Accesso negato' ?
Poi non ho capito una cosa, se samba pesca le credenziali degli utenti dall'AD, le password di samba sono uguali a quelle di accesso degli utenti ?

Inoltre: come fai il join sull'AD ?
Io di solito uso Kerberos.

eclissi83
17-12-2007, 16:48
Per la pubblica: guarda come sono i permessi. Devi dargli il 777 da riga di comando.

ok, risolto...

Per le /homes: se accedi da un pc non loggato al dominio, ti chiede user e passwd o ti dice solo 'Accesso negato' ?

no, mi serve che facciano il login solo le macchine del dominio... credo che le homedir vadano cmq create... infatti se faccio su - "SMB\alfredo" e non ho la homedir mi dice che non puo' usare la homedir impostata nel passwd, mentre non ho problemi se creo la homedir.

Poi non ho capito una cosa, se samba pesca le credenziali degli utenti dall'AD, le password di samba sono uguali a quelle di accesso degli utenti ?

beh io spero che le peschi da li'... non vorrei dover settare cmq a mano le pass degli utenti AD in samba, visto che in questo modo non avrebbe alcuna utilita'..

Inoltre: come fai il join sull'AD ?
Io di solito uso Kerberos.
prima di fare il net ads join faccio kinit administrator@SMB.LOCAL

ciao

WebWolf
17-12-2007, 17:32
Sono di ultrafretta perchè devo andare a ... scuola. ;)

Il comando kinit e la sintassi sono giuste. Kerberos è installato correttamente ?

Nel caso leggi qui:

http://www.justlinux.com/forum/archive/index.php/t-118288.html

http://www.howtoforge.com/samba_ads_security_mode

eclissi83
17-12-2007, 19:11
Sono di ultrafretta perchè devo andare a ... scuola. ;)

Il comando kinit e la sintassi sono giuste. Kerberos è installato correttamente ?

Nel caso leggi qui:

http://www.justlinux.com/forum/archive/index.php/t-118288.html

http://www.howtoforge.com/samba_ads_security_mode

questi due how to gia' li avevo letti e seguiti...

cmq, son riuscito a far andare la scrittura nelle home dir pero' ho dovuto dare nella macchina windows client il comando net use \\centos5_1\alfredo /USER:alfredo *
e poi aprendo direttamente \\centos5_1\alfredo riesco a leggere e scrivere nella dir... come faccio a non dover usare il comando da terminale? (credo che bisogna farlo ogni volta che si accede al dominio, giusto?)

ciao e grazie