![无法将 Samba 共享挂载为读写](https://linux22.com/image/157840/%E6%97%A0%E6%B3%95%E5%B0%86%20Samba%20%E5%85%B1%E4%BA%AB%E6%8C%82%E8%BD%BD%E4%B8%BA%E8%AF%BB%E5%86%99.png)
我已经在机器 msc001y 上安装了 Samba。我想访问它在 msc001 上的共享文件夹。
两台机器具有相同的用户(在 Samba 上镜像)
msc (5001), james (5002), rachel (5003).
两台机器具有相同的组:
grp_public (2001), grp_personal (2002)
msc
,james
并且rachel
所有人都可以访问grp_public
.仅james
且rachel
有权访问grp_personal
.
我表演过:
chgrp -R grp_public /mnt/local/int001/media/public/
chgrp -R grp_personal /mnt/local/int001/media/personal/
chmod 2775 /mnt/local/int001/media/public/
chmod 2770 /mnt/local/int001/media/personal/
我已在 msc001y 上添加到 smb.conf:
在[全球]内
# Inherit ownership of the parent directory for new files and directories
inherit owner = unix only
# Inherit permissions of the parent directory for new files and directories
inherit permissions = yes
create mask = 0775
directory mask = 2775
force create mode = 0775
force directory mode = 2775
然后在...之内
[public]
comment = Public Stuff
path = /mnt/local/int001/media/public
public = yes
writable = no
printable = no
write list = @grp_public, msc, james, rachel
inherit acls = yes
在挂载 [public] 之前,挂载点列出为(即:所有者和组的 RWX):
drwxrwxr-x 2 msc grp_public 0 Jul 25 23:07 public
一旦我安装了它,它就变成了(即:RWX 代表所有者,RX no W 代表组):
drwxr-xr-x 2 msc grp_public 0 Jul 25 23:07 public
它安装有:
//msc001y/public /mnt/remote/msc001y/public cifs user,nofail,_netdev,vers=3.1.1,uid=msc,gid=grp_public,credentials=/mnt/local/data/.Credentials/james.cred 0 0
如果我登录时msc
我可以读写,因为它是所有者,但如果我是詹姆斯或雷切尔,我就会陷入只读状态。
为什么之前是RWX的文件夹,挂载后默认是RX?
注意:共享文件夹中的所有文件均为 RWX|RWX|R_X
答案1
您@grp_public, @msc, @james, @rachel
在write list
.但只是grp_public
一个团体;msc
、james
和rachel
是用户。
正确的写入列表应该是:
write list = msc, james, rachel, @grp_public
另请参阅man 5 smb.conf
:
write list (S)
这是被授予服务读写访问权限的用户列表。如果连接用户在此列表中,则无论只读选项设置为何,他们都将获得写入权限。该列表可以包含使用 @group 语法的组名称。请注意,如果用户同时位于读取列表和写入列表中,那么他们将被授予写入访问权限。
Default: write list =
Example: write list = admin, root, @staff