我偶然发现了一个有关 Samba 共享的奇怪问题。只有通过运行 将所有权授予 Samba 用户 ( shared
)时,它才会起作用chown -R shared:sambasecure /mnt/Backup
。我正在运行 CentOS 8,启用了 SELinux。让我解释一下我做了什么。
我创建了一个用户(shared
)和一个组(sambasecure
)
adduser --no-create-hom --shell /usr/sbin/nologin shared
smbpasswd -a shared
smbpasswd -e shared
usermod -G sambasecure shared
我设置了权限(出于测试目的为 777)和所有权
chown -R root:sambasecure /mnt/Backup
chcon -t samba_share_t /mnt/Backup
chmod 777 /mnt/Backup
我的 smb.conf
[global]
workgroup = WORKGROUP
security = user
netbios name = server
passdb backend = tdbsam
interfaces = team0
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[media]
path = /mnt/Backup
writeable = yes
write list = @sambasecure
valid users = @sambasecure
browseable = yes
guest ok = no
现在,在此配置下文件共享不起作用。出现 Windows 无法访问 \... 警告。但如果我运行chown -R shared:sambasecure /mnt/Backup
共享,则共享有效,但我无法本地访问驱动器。
chmod 对此完全没有影响。它既适用于本地 root 用户,也适用于shared
Samba 上的 Samba 用户,只需更改所有权即可。
我觉得 samba 无法识别自己shared
是sambasecure
群组的一部分。我尝试了 smb.conf 的多种变体,但都没有成功。将有效用户更改为shared
也不起作用。
任何帮助都将不胜感激。谢谢