Samba共有に権限ビットが適用されない

Samba共有に権限ビットが適用されない

Linuxクライアントを使用するSamba共有に権限ビットが適用されない問題が発生しました。特定のユーザー、グループ、および許可ビットを強制するようにサーバーにSambaを設定しました。

何が起こるかは次のとおりです。

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

既存のファイルをタッチすると、そのファイルの許可ビットは0777です。最初に作成されたときと同じように、0664でなければなりません。既存のファイルに0664を強制する方法は?

サーバーにはバージョン3.0.24があり、クライアントには3.4.7があります。これは私の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

ベストアンサー1

Samba 権限は Windows などの SMB ネットワーククライアントにのみ適用されます。サーバー(およびすべてのNFSクライアント)でそれを強制するには、すべてのディレクトリに固定ビットを設定する必要があります。

まず、ファイルを修正してください。

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 {} \;

次に、グループ固定ビットを使用してそれを強制します。

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

これは絶対に正確ではありませんが、これらの問題の99%を解決します。

ありがとう、Dave F

私の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]$

おすすめ記事