覆盖时保留对 samba 共享文件的权限

use*_*621 5 samba

我在我的 Ubuntu VM 中共享了一个目录。这是我的 smb.conf:

...
[share]
comment = Ubuntu File Server Share
path = /home/foo/share
browsable = yes
guest ok = yes
read only = no
create mask = 0644
Run Code Online (Sandbox Code Playgroud)

几乎一切正常,即当创建一个新文件时,它被屏蔽0644。而且每当我打开(在 Windows 中)并保存现有文件时,该文件的权限也设置为0644. 这在编辑脚本时非常烦人,以前被屏蔽0755777.

有没有办法在文件被覆盖时让 Samba 保留现有的权限掩码?
[编辑] ...在创建具有权限的文件时0644

小智 10

添加:

map archive = no
Run Code Online (Sandbox Code Playgroud)

到[分享]。默认(是)将在您保存的几乎所有内容上设置执行位。设置为 no 时,您可以将创建掩码设置为 755 或其他值。

如果您编辑许多系统文件,例如 /etc/mail/aliases,这将无法在设置执行位的情况下编译,我发现这很重要。

;o) 科尔


Tom*_*Tom 1

我使用 samba 在 Windows 和 Kubuntu 之间共享,但在我的系统上 Linux 是主机,而不是 VM。对于我的设置,我使两个系统中的用户名相同,然后valid users在 smb.conf 中设置为我的用户名。我没有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
Run Code Online (Sandbox Code Playgroud)