Bug 29065 - Zusätzliche default fACL für Authenticated Users unterläuft Samba4 NTACLs
Zusätzliche default fACL für Authenticated Users unterläuft Samba4 NTACLs
Status: RESOLVED WORKSFORME
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: Arvid Requate
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-11-05 21:42 CET by Arvid Requate
Modified: 2013-04-25 13:08 CEST (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2012-11-05 21:42:42 CET
Die im univention-samba4 Joinscript gesetzte zusätzliche default fACL für "Authenticated Users" unterläuft die Samba4 NTACLs bei Verzeichnissen (nicht bei Dateien):

Wenn man samba/debug/level=10 setzt und z.B. per samba-tool ntacl eine NTACL für eine Verzeichnis liest (oder schreibt), sieht man die Meldung:

============================================================================
get_nt_acl_internal: blob hash does not match for file /var/lib/samba/sysvol/arucs31i5.qa/Policies/{6AC1786C-016F-11D2-945F-00C04FB984F9}/USER - returning file system SD mapping.
============================================================================

Irgendwas an der Auswertung der zusätzlich vererbten default ACL scheint hier nicht so sauber zu sein wie eigentlich gewünscht, jedenfalls passt die Quersumme der aus dem Dateisystem gelesenen (und in source3/smbd/posix_acl.c aufbereiteten) ACL nicht zu der, die beim Schreiben der NTACL&fACL notiert wurde. Das ist aktuell das Verhalten von RC2, noch ohne den Patch für Bug 28737.

Was das für weitere Effekte hat, ist noch unklar.


+++ This bug was initially created as a clone of Bug #28737 +++

Das Skript /usr/share/univention-samba4/scripts/set_sysvol_ntacl.py schreibt
NTACLs, die das Tool "samba-tool ntacl sysvolcheck" nicht als korrekt ansieht.
Comment 1 Arvid Requate univentionstaff 2012-11-05 21:42:52 CET
Dass die zusätzliche default fACL die Verhaltensänderung gegenüber den Samba4 Standardverhalten bewirkt, kann man sehen, indem man z.B.

ucr set samba4/sysvol/sync/cron="# */5 * * * *"
setfacl -b -R /var/lib/samba/sysvol

aufruft und danach einmal eine NTACL auf eine Verzeichnis schreibt und wieder ausliest. Dann wird auch für Verzeichnisse die ausgelesene NTACL verwendet und die Meldung lautet:

=========================================================
get_nt_acl_internal: blob hash matches for file ...
=========================================================
Comment 2 Arvid Requate univentionstaff 2012-11-05 22:02:47 CET
Mit gesetzter default fACL für Authenticated Users liefert

samba-tool ntacl sysvolcheck

eine Fehlermeldung:

ERROR(<class 'samba.provision.ProvisioningError'>): uncaught exception - ProvisioningError: VFS ACL on sysvol directory /var/lib/samba/sysvol/arucs31i5.qa O:LAG:BAD:(A;OICI;0x001200a9;;;AU)(A;;0x001f01ff;;;LA)(A;;0x001f01ff;;;SY)(A;;0x001200a9;;;SO)(A;;0x001f01ff;;;BA)(A;;0x001f01ff;;;BA)(A;;0x001f01ff;;;LA)(A;OICIIO;0x001f01ff;;;CO)(A;OICIIO;0x001f01ff;;;CG) does not match expected value O:LAG:BAD:P(A;OICI;0x001f01ff;;;BA)(A;OICI;0x001200a9;;;SO)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU) from provision
Comment 3 Arvid Requate univentionstaff 2012-11-05 22:08:16 CET
Ein Test mit "samba-tool ntacl sysvolreset" zeigt, dass z.B.

# file: /var/lib/samba/sysvol/arucs31i6.qa/Policies/{6AC1786C-016F-11D2-945F-00C04FB984F9}/USER
# O:DAG:DUD:P(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;EA)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED)S:AI(OU;CIIDSA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CIIDSA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)

geschrieben wird. Ohne die zusätzliche default fACL für Authenticated Users liest "samba-tool ntacl get --as-sddl" dann auch genau diese NTACL wieder aus. Mit der zusätzlichen default fACL für Authenticated Users liest man hingegen eine andere NTACL aus:

O:DAG:DUD:(A;;0x001f01ff;;;DA)(A;;0x001200a9;;;ED)(A;;0x001f01ff;;;EA)(A;;0x001f01ff;;;DA)(A;;0x001200a9;;;AU)(A;;0x001f01ff;;;SY)(A;;0x001f01ff;;;DA)(A;OICIIO;0x001f01ff;;;CO)(A;OICIIO;WO;;;CG)(A;OICIIO;0x001200a9;;;S-1-22-2-5020)

Dies geschieht, weil Samba hier den eigentlichen, in die xattr gespeicherte NTACL verwirft und statt dessen eine aus den Dateisystem-fACLs ableitet: Weil die Quersumme über die Dateisystem-fACL nicht "mehr" stimmt, nimmt Samba an, dass die Dateisystem-fACL in der zwischenzeit geändert wurde und bevorzugt sie vor der NTACL.
Comment 4 Arvid Requate univentionstaff 2012-11-05 22:13:02 CET
Es wäre hier zu prüfen, ob der zusätzliche default fACL-Eintrag für "Authenticated Users" mit RC2 oder neuer (und dem Patch für Bug 28737) noch notwendig ist.
Comment 5 Arvid Requate univentionstaff 2012-11-27 19:49:38 CET
Das Hash-Problem bei Verzeichnissen scheint upstream auch aufgefallen und gelöst worden zu sein: https://bugzilla.samba.org/show_bug.cgi?id=9381
Comment 6 Arvid Requate univentionstaff 2013-04-25 13:08:08 CEST
Not reproducable in UCS 3.1-1 (Samba 4.0.3).