Mám server ubuntu, který sdílí některé složky pomocí samby. Když klient vytvoří novou složku nebo soubor, oprávnění nejsou nastavena podle nastavení v smb.conf.
Moje aktuální nastavení pro konkrétní sdílenou složku:
[share]
path = /mnt/share
browsable = yes
guest ok = no
writable = yes
read only = no
create mask = 0774
directory mask = 0774
write list = netuser
Když klient samby (box se systémem Windows 7) použije účet „netuser“ k vytvoření souboru nebo adresáře, oprávnění se stanou
drwxr-sr-- 2 netuser sambashare 4096 2012-01-22 21:14 New folder
-rwxrw-r-- 1 netuser sambashare 0 2012-01-22 21:07 New Text Document.txt
Nadřazený adresář má nastavený příznak ID skupiny, tedy vlastníka skupiny sambashare. Myšlenka je taková, že jak uživatelé samby, tak uživatelé serveru patří do skupiny sambashare, a proto mají být schopni upravovat, mazat a vytvářet soubory a adresáře. Protože však vytvořené složky nemají nastaven příznak zápisu pro skupinu, uživatelé serveru nemohou v těchto složkách vytvářet nové soubory nebo složky bez sudo.
Testoval jsem přidání a odebrání masky adresáře, vynucení režimu adresáře, režimu zabezpečení adresáře a vynucení režimu zabezpečení adresáře, ale chování stále zůstává. Nově vytvořené soubory a složky nezískají zamýšlené oprávnění 774, ale spíše oprávnění 764 a 754.
co mi chybí? Proč samba nenastaví správná oprávnění?
Nejlepší odpověď
Myslím, že musíte použít následující parametry:
# I changes the permissions to rw-rw-r--
# You should be able to change them to 775 if you need the files to
# be executable
create mask = 664
force create mode = 664
security mask = 664
force security mode = 664
# I set the SGID flag here as I thought this is what you wanted
# You could change to 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
Hledal jsem pěkné vysvětlení toho, jak tato nastavení fungují, ale nenašel jsem nic lepšího než man smb.conf
Pro tyto možnosti budete muset posunout trochu dolů.
Stručně řečeno, oprávnění systému Windows nejsou stejná jako unix (linux) a je trochu zvláštní, jak samba mapuje oprávnění.