Bit di autorizzazione non applicati sulla condivisione samba


12

Ho un problema a causa del quale i bit di autorizzazione non vengono applicati su una condivisione samba usando un client Linux. Ho configurato samba sul server per forzare un determinato utente, gruppo e bit di autorizzazione e questo funziona come previsto fino a quando non tocco il file o diventa la destinazione del reindirizzamento IO.

Ecco cosa sta succedendo:

user@linuxbox:~-->ls -l ~/archive/foo.txt
ls: cannot access /home/user/archive/foo.txt: No such file or directory
user@linuxbox:~-->touch ~/archive/foo.txt
user@linuxbox:~-->ls -l ~/archive/foo.txt
-rw-rw-r-- 1 archive archive 0 2010-09-13 20:29 /home/user/archive/foo.txt
user@linuxbox:~-->touch ~/archive/foo.txt
user@linuxbox:~-->ls -l ~/archive/foo.txt
-rwxrwxrwx 1 archive archive 0 2010-09-13 20:30 /home/user/archive/foo.txt

Notare che quando tocco il file esistente i suoi bit di autorizzazione sono 0777. Dovrebbero essere 0664 come quando è stato creato per la prima volta. Come posso applicare 0664 sul file esistente?

Ho la versione 3.0.24 sul server e la versione 3.4.7 sul client. Ecco il mio smb.conf:

[global]
interfaces = egiga0
unix charset = UTF8
workgroup = workgroup
netbios name = foo
server string = Foo
security = USER
map to guest = bad user
host msdfs = no
encrypt passwords = yes

[archive]
comment = File Archive
path = /home/archive
force user = archive
force group = archive
read only = yes
write list = @archive
guest ok = yes
create mask = 0
force create mode = 0664
security mask = 0
force security mode = 0664
directory mask = 0
force directory mode = 0775
directory security mask = 0
force directory security mode = 0775

Cosa c'è nel tuo smb.conf?
Grizly,

Ho inserito il contenuto del mio smb.conf. Francamente, non sono sicuro di aver bisogno della modalità esplicita e dei bit di maschera.
Jonathon Watney,

@Jonathon tutto il tuo touching sembra essere su un sistema * nix ... è il sistema che stai creando il file su Windows? o stai creando il file da un sistema Windows? o è questo * nix a * nix via samba (nel qual caso perché samba e non nfs)
xenoterracide

@xenoterracide, sto toccando un file sulla condivisione usando un client Linux; In questo caso vado da * nix a * nix. C'è un mix di macchine Windows, Mac e Linux che si connettono a questo servizio samba.
Jonathon Watney,

Sei sicuro che le tue maschere siano buone? crea maschera, maschera di sicurezza, maschera directory. I documenti non sono chiari sul tempo, uno "0" da solo è valido per le maschere. A parte questo ... che strano.
gabe.

Risposte:


2

Le autorizzazioni di samba funzionano solo sui client di rete SMB (ovvero Windows). Se si desidera imporre questo sul server (e su qualsiasi client NFS) è necessario impostare il bit sticky su tutte le directory.

prima correggi i file che ci sono:

chown -R archive /home/archive 
chgrp -R archive /home/archive 
find /home/archive -type d -exec chmod 0775 {} \;
find /home/archive -type f -exec chmod 0664 {} \;

quindi applicare questo con il gruppo sticky bit

find /home/archive -type d -exec chmod g+s {} \;

Questo non è infalabile, ma risolve il 99% di questo tipo di problema.

Saluti DaveF

Risultato sul mio riquadro Solaris:

davef@dalek[10]$ cd /proj/ftptmp
davef@dalek[11]$ ls -ld .
drwxrwsr-x  60 root     ftpusers     377 Oct  5 09:31 ./
davef@dalek[12]$
davef@dalek[12]$ ls -l foo.txt
foo.txt: No such file or directory
davef@dalek[13]$ touch foo.txt
davef@dalek[14]$ ls -l foo.txt
-rw-rw-r--   1 davef    ftpusers       0 Oct 15 11:49 foo.txt
davef@dalek[15]$ touch foo.txt
davef@dalek[16]$ ls -l foo.txt
-rw-rw-r--   1 davef    ftpusers       0 Oct 15 11:49 foo.txt
davef@dalek[17]$
davef@dalek[17]$ umask
2
davef@dalek[18]$

Grazie. Finalmente ho avuto la possibilità di provare questo, ma purtroppo il problema rimane.
Jonathon Watney,

Mi chiedo se potrebbe essere la tua umask?
David Allan Finch,

La mia umask è 0022. Altre idee? :)
Jonathon Watney,

Devo provarlo sul mio box Linux. Non ho ancora avuto tempo. A proposito usiamo NFS Unix su Linux ecc. Non SMB.
David Allan Finch,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.