PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba und ACLs + Active Directory



ddreamer
31.05.06, 02:28
Hallo Liebe Gemeinde...
Ich komme einfach nicht weiter.

Das Problem (welches bestimmt schon zum x-Ten male durchgekaut wurde) besteht darin, dass ich nicht korrekt mit ACL's Arbeiten kann.

Ich habe hier auf einem Rechner RedHad 9 (mit 2.6er Kernel) und aktuellestem Samba.
Habe Samba auch mit der Option --with-acl-support kompiliert.

Die Dateien krb5.conf sind ebenfalls korrekt editiert und der Server ist als Mitglieds-Server an einer W2K3 - Umgebung beigetreten.
Wir haben hier (eigentlich 5) Windows 2003 Server stehen.
Nun haben wir einen 6.ten als FileServer eingerichtet und nun auch ein Lizenzproblem.

Jetzt wollte ich unseren alten FileServer mit hilfe der o.a. Variation Ablösen.

Zum Punkt.
Kerb. funzt 100%
Rechner ist der Domäne beigetreten. (funzt auch)
Das EXT3-FileSystem ist ebenfalls mit der Option acl gemountet worden.

Samba - Server geht auch soweit.
In der smb.conf ist auch die Option für den ACL-Support auf "yes" gesetzt.

Nun kann ich auch Ordner mit der entsprechenden ACL (sagen wir @DOMAIN/Management) Freigeben. Der Zugriff funzt auch, wie eingestellt.

Die Clients arbeiten alle unter Windows XP Pro.
Client A (Mitglied von DOMAIN/Management) legt nun einen Ordner Namens Dokumente an. Nun versucht dieser, der Gruppe Projekt - Zugriff auf diesen Ordner zu geben.
Rechtsklick auf den Ordner (so wie so üblich bei M$), Sicherheit -> Hinzufügen, blablabla...

Möchte man diese nun übernehmen, bekommt der Client die Fehlermeldung "Zugriff verweigert".

Komischerweise, kann er aber sonst alles ?!?!

Schaue ich mir nun als Root die berechtigung für den Ordner "Dokumente" an der Console an, sehe ich den Eintrag: fmeier Management drwxrwxrwx

Wieso kann ich von den Windows Clients keine Berechtigung vergeben. ??

Gruss Micha

Myst
31.05.06, 07:42
Versteh ich richtig, das es ohne ACL funktioniert?

Wenn nicht, solltest du mal schauen, ob Redhat 9 auch schon SELinux einsetzt. Damit hatte ich nämlich auch Probleme, weil SELinux so konfiguriert ist, das der Zugriff auf SMB-Shares mit nem ACCESS_DENIED bei LogLevel 3 in der smb.conf im Logfile auftaucht.

Vielleicht schraubst du einfach den Loglevel hoch und machst ma nen Post mit den Teilen des Logfiles, der geschrieben wird, wenn du auf die Share zugreifst.

ddreamer
31.05.06, 10:45
Hallo & Danke für die Schnelle Antwort.
Bin deinem Rat mal gefolgt und habe den Log-Level ebenfalls auf 3 gesetzt.

Jetzt sehe ich, dass da etwas im Argen ist.
Leider weiss ich nur nicht was ... ?
Fehler des SAMBA oder FileSys...

Hier der entsprechende Log-Eintrag:



[2006/05/31 10:43:34, 3] smbd/process.c:process_smb(1091)
Transaction 197 of length 124
[2006/05/31 10:43:34, 3] smbd/process.c:switch_message(886)
switch message SMBtrans2 (pid 4099) conn 0x94ad1d0
[2006/05/31 10:43:34, 3] smbd/trans2.c:call_trans2findfirst(1359)
call_trans2findfirst: dirtype = 22, maxentries = 1366, close_after_first=0, close_if_end = 1 requires_resume_key = 1 level = 0x103, max_data_bytes = 16384
[2006/05/31 10:43:34, 3] smbd/dir.c:dptr_create(491)
creating new dirptr 256 for path Neuer Ordner (2), expect_close = 1
[2006/05/31 10:43:34, 3] smbd/process.c:process_smb(1091)
Transaction 198 of length 300
[2006/05/31 10:43:34, 3] smbd/process.c:switch_message(886)
switch message SMBnttrans (pid 4099) conn 0x94ad1d0
[2006/05/31 10:43:34, 3] smbd/nttrans.c:call_nt_transact_set_security_desc(2021)
call_nt_transact_set_security_desc: file = Neuer Ordner (2), sent 0x20000004
[2006/05/31 10:43:34, 3] passdb/lookup_sid.c:fetch_sid_from_uid_cache(152)
fetch sid from uid cache 10000 -> S-1-5-21-1668988798-4205635330-2045143151-1144
[2006/05/31 10:43:34, 3] passdb/lookup_sid.c:fetch_sid_from_gid_cache(226)
fetch sid from gid cache 10000 -> S-1-5-21-1668988798-4205635330-2045143151-513
[2006/05/31 10:43:34, 3] passdb/lookup_sid.c:fetch_gid_from_cache(247)
fetch uid from cache 10000 -> S-1-5-21-1668988798-4205635330-2045143151-513
[2006/05/31 10:43:34, 3] passdb/lookup_sid.c:fetch_uid_from_cache(173)
fetch uid from cache 10000 -> S-1-5-21-1668988798-4205635330-2045143151-1144
[2006/05/31 10:43:34, 3] smbd/dosmode.c:unix_mode(111)
unix_mode(Neuer Ordner (2)) returning 0744
[2006/05/31 10:43:34, 2] smbd/posix_acls.c:set_canon_ace_list(2420)
set_canon_ace_list: sys_acl_set_file type file failed for file Neuer Ordner (2) (Operation not supported).
[2006/05/31 10:43:34, 3] smbd/posix_acls.c:convert_canon_ace_to_posix_perms(2501 )
convert_canon_ace_to_posix_perms: Too many ACE entries for file Neuer Ordner (2) to convert to posix perms.
[2006/05/31 10:43:34, 3] smbd/posix_acls.c:set_nt_acl(3142)
set_nt_acl: failed to convert file acl to posix permissions for file Neuer Ordner (2).
[2006/05/31 10:43:34, 3] smbd/error.c:error_packet(105)
error string = Operation not supported
[2006/05/31 10:43:34, 3] smbd/error.c:error_packet(129)
error packet at smbd/nttrans.c(2027) cmd=160 (SMBnttrans) NT_STATUS_ACCESS_DENIED
[2006/05/31 10:43:34, 3] smbd/process.c:process_smb(1091)
Transaction 199 of length 45
[2006/05/31 10:43:34, 3] smbd/process.c:switch_message(886)
switch message SMBclose (pid 4099) conn 0x94ad1d0
[2006/05/31 10:43:34, 3] smbd/reply.c:reply_close(2758)
close directory fnum=5017
[2006/05/31 10:43:34, 3] smbd/sec_ctx.c:set_sec_ctx(288)


smbd/posix_acls.c:convert_canon_ace_to_posix_perms(2501 )
convert_canon_ace_to_posix_perms: Too many ACE entries for file Neuer Ordner (2) to convert to posix perms.

set_nt_acl: failed to convert file acl to posix permissions for file Neuer Ordner (2).



smbd/error.c:error_packet(105)
error string = Operation not supported

Bedeutet das jetzt, das ich doch beim kompilieren etwas falsch gemacht habe ?
Andererseits, sieht es ja so aus, (oben) als wenn das FileSys. keine ACL-Einträge mehr verkraftet...

Gruss Micha

Myst
31.05.06, 15:21
Hast du versucht, mit setfacl die ACLs manuell zu setzen und mit getfacl aus zu lesen? Ich vermute es liegt am Dateisystem.

Interessant wäre noch :
- Version vom Kernel
- Version des Samba
- Version von libacl

emba
31.05.06, 22:14
ich wuerde den samba mal auf ein XFS loslassen. am besten ein build von samba.org oder sernet verwenden. dann klappts auch mit den nachbarn.

btw: wenn du ACLs als root setzen kannst, als normaler nutzer bspw. aber nicht, hilft evtl. "acl group control"

greez