A SaMBa felesleges és hibás POSIX ACL bejegyzéseket generál?

Fórumok

Sziasztok!

Megküzdöttem a https://hup.hu/node/181159 bejegyzésben említett problémával. Többmilló fájlt és többtízezer POSIX ACL-t migráltam a convmv parancs, illetve megfelelő chroot környzetekben futtatott getfack/setfacl párosokkal. Néhány hét használat után azonban észrevettem, hogy a SaMBa (4.16.4) mintha felesleges POSIX ACL bejegyzéseket generálna. Először egy Word dokumentumnál bukott ki a probléma: Azt vettem észre, hogy amikor egy (esetleg más által tulajdonolt fájlt) szerkesztek, akkor a Word egy új fájl hoz létre, majd mentéskor törli az eredetit, az újat pedig átnevezi és megpróbálja a jogosultságait az eredetihez hasonlóra beállítani. A jogosultságok/Windows ACL-ek szerkesztése viszont gyakorlatilag mindig ahhoz vezet, hogy (szerintem) felesleges bejegyzések tömege kerül a POSIX ACL-be.

Pl. a file.docx nevű fájl eredeti jogosultsági beállításai így néztek ki:

# file: file.docx
# owner: user_2        #Valaki más, nem én.
# group: group_2    #A tulajdonos egyik csoportja (nem elsődleges).
user::rw-
group::rw-
other::rw-            #Az írást számomra lehetővé tevő jogosultsági bitek.

Két MS Word-os szerkesztés után így néz ki a fájl POSIX ACL-je (ez persze már nem ugyanaz a fájl, mert a Word újat hozott létre, majd mentéskor törölte az eredeti fájl, az újat pedig átnevezte, és megpróbálta rá átvinni az eredeti fájl jogosultságait):

# file: file.docx
# owner: user_1                #Az új fájl már az én tulajdonomban van.
# group: domain\040users    #Az én elsődleges csoportom.
user::rw-
user:domain\040users:rw-    #Az elsődleges csoportom GID-je hozzáadva az UID-ek listájához. Nyilván nincs ilyen nevű user.
user:user_2:rw-                #Az eredeti fájl tulajdonosa.
user:group_2:rw-            #Az eredeti tulajdonos csoport GID-je hozzáadva az UID-ek listájához. Nincs ilyen nevű user.
group::rw-
group:domain\040users:rw-    #A tulajdonos GID még egyszer hozzáadva. Nem felesleges?
group:user_1:rw-            #Az én UID-em hozzáadva a GID-ek listájához. Nincs ilyen nevű csoport.
group:user_2:rw-            #Az eredeti tulajdonos UID-je hozzáadva a GID-ek listájához. Nincs ilyen nevű csoport.
group:group_2:rw-            #Az eredeti tulaj csoport.
mask::rwx
other::rw-

Fájlkezelővel is megpróbáltam egy könyvtáron dolgozni. user_1-ként létrehoztam egy könyvtárt, amely az alábbi jogosultságokkal jött létre:

# owner: user_1
# group: domain\040users
user::rwx
group::rwx
other::---

Ezután nem csináltam mást, mint írási jogot adtam a könyvtárra az user_2 felhasználó számára, de ezen felül (szerintem) felesleges és hibás ACE-k adódtak hozzá a POSIX ACL-hez:

# file: directory_name
# owner: user_1
# group: domain\040users
user::rwx
user:domain\040users:rwx    #UID-ként hozzáadott GID. Nincs ilyen nevű user.
user:user_2:rwx                #Csak ezt a jogosultságot szándékoztam hozzáadni.
group::rwx
group:domain\040users:rwx    #A tulajdonos GID még egyszer hozzáadva. Nem felesleges?
group:user_1:rwx            #GID-ként hozzáadott UID. Nincs ilyen nevű csoport.
group:user_2:rwx            #GID-ként hozzáadott UID. Nincs ilyen nevű csoport.
mask::rwx
other::---

A kérdésem annyi, hogy van-e elképzelésetek arról, miért kerül ez sok - látszólag - felesleges információ a POSIX ACL-be, és főként az, hogy miért veszi fel a POSIX ACL-be a SaMBa az UID-eket GID-ként és viszont?

Hozzászólások

Ez nem bug, hanem egy FIX a Samba-soktól hogy rendesen működjön az MS Office a Samba megosztásból (máskülönben nem működne).

Erről volt régebben itt egy topik ugyan ezzel kapcsolatban, ott belinkelték a "technikai-miért"-t is.
 

Esetleg teljesen kikapcsolni az ACL-t?

Igen, jelenleg úgy érzem, megosztásonként kellene választani két szélsőséges megoldás közül: Az egyik az ACL támogatás teljes kikapcsolása (nt acl support = no), a másik a teljes értékű Windows ACL támogatás engedélyezése úgy, hogy a kernel helyett a SaMBa kezelje a jogosultságokat (vfs objects = acl_xattr \ acl_xattr:ignore system acls = yes). Azt remélem, mindkét megoldás véget vet az értelmetlen POSIX ACL-bejegyzések termelésének.