it-swarm-ja.com

上書きするときにSamba共有ファイルの権限を保持する

UbuntuVMでディレクトリを共有しています。これは私のsmb.confです:

...
[share]
comment = Ubuntu File Server Share
path = /home/foo/share
browsable = yes
guest ok = yes
read only = no
create mask = 0644

ほとんどすべてが正常に機能します。つまり、新しいファイルが作成されると、0644でマスクされます。ただし、(Windowsで)既存のファイルを開いて保存すると、そのファイルのアクセス許可も0644に設定されます。以前に0755または777でマスクされていたスクリプトを編集する場合、これはかなり厄介です。

ファイルが上書きされたときにSambaにexistingパーミッションマスクを保持させる方法はありますか?
[編集] ...作成中新規権限を持つファイル0644

5

追加:

map archive = no

[共有]に。デフォルト(yes)は、保存するほとんどすべてのものに実行ビットを設定します。 noに設定すると、作成マスクを755などに設定したままにすることができます。

/ etc/mail/aliasesのような多くのシステムファイルを編集する場合、これは不可欠だと思います。これらのファイルは、実行ビットを設定するとコンパイルに失敗します。

; o)Cor

10
Cor

ファイルがSambaを介して保存されたときに、Sambaがファイルのアクセス許可をリセットしないようにするには、smb.confで次のパラメーターを設定します。

nt acl support = no

これにより、SambaがUNIXのアクセス許可をWindowsのアクセス制御リストにマップしようとするのを防ぎます。

2
Ville

Sambaゲストアカウントを、通常は775のアクセス許可を持つファイルを書き込むアカウントに設定する場合は、問題ないはずです。

[global]
guest account = [unix user]

または、Ubuntuで755のアクセス許可を持つユーザーと同じsambaユーザーを作成し(各sambaユーザーはUNIXユーザーと一致する必要があります)、そのユーザーとしてログインしてsamba共有にアクセスすることもできます。

[email protected]$ ~ Sudo smbpasswd -a [username]
1
jason

私のシステムではLinuxがホストであり、VMではないことを除いて、WindowsとKubuntuの間で共有するためにsambaを使用しています。セットアップでは、両方のシステムのユーザー名を同じにしてから、smb.confのvalid usersを自分のユーザー名に設定しました。 create mask設定がなく、権限は正常に機能します。

[shared]
comment = My Shared Partition
path = /mnt/shared/
browseable = yes
available = yes
read only = no
guest ok = no
valid users = my_user_name
0
Tom