当共享另一个卷上的文件夹时,如何让 SMB 服务器在 CentOS 7 上运行?
我有一台最新的 CentOS 7 计算机并安装smb
了yum
。
我添加了一个分享:
[LowSideScratch]
path = /Volumes/K7_PDISK1/Shared/LowSideScratch
available = yes
browsable = yes
writable = yes
guest ok = yes
read only = no
public = yes
valid users = chrisadmin
write list = *
create mode = 0666
directory mode = 0777
inherit acls = yes
(它有一个很多我知道,但它以前不是这样的;我一直在努力让它发挥作用)。
我尝试从 OS X 和 Windows 10 连接到该服务器。两个设备都可以在以我的身份进行身份验证时访问默认主共享(因此我的smbpasswd
设置正确),但是当它们安装时,LowSideScratch
它们看不到test.txt
其中的文件,也无法向其中写入任何文件。
我完全不知所措。我已经花了一个小时搜索并尝试不同的设置组合,但就是无法让它工作。
一些有用的信息:
[chrisadmin@k7-local ~]$ mount | grep Volumes
/dev/sda1 on /Volumes/K7_PDISK1 type ext4 (rw,nosuid,nodev,relatime,seclabel,data=ordered)
[chrisadmin@k7-local ~]$ ls -la /Volumes/
total 4
drwxr-xr-x. 3 root root 23 Aug 10 2017 .
dr-xr-xr-x. 19 root root 271 Aug 10 2017 ..
drwxrwxrwx. 6 chrisadmin chrisadmin 4096 Aug 10 2017 K7_PDISK1
[chrisadmin@k7-local ~]$ ls -la /Volumes/K7_PDISK1/
total 23585972
drwxrwxrwx. 6 chrisadmin chrisadmin 4096 Aug 10 2017 .
drwxr-xr-x. 3 root root 23 Aug 10 2017 ..
drwx------. 2 root root 16384 May 31 04:12 lost+found
drwxrwxr-x. 3 chrisadmin chrisadmin 4096 Aug 10 2017 Shared
<other items redacted>
[chrisadmin@k7-local ~]$ ls -la /Volumes/K7_PDISK1/Shared/
total 12
drwxrwxr-x. 3 chrisadmin chrisadmin 4096 Aug 10 2017 .
drwxrwxrwx. 6 chrisadmin chrisadmin 4096 Aug 10 2017 ..
drwxrwxrwx. 2 chrisadmin chrisadmin 4096 Aug 10 2017 LowSideScratch
[chrisadmin@k7-local ~]$ ls -la /Volumes/K7_PDISK1/Shared/LowSideScratch/
total 12
drwxrwxrwx. 2 chrisadmin chrisadmin 4096 Aug 10 2017 .
drwxrwxr-x. 3 chrisadmin chrisadmin 4096 Aug 10 2017 ..
-rw-r--r--. 1 root root 3 Aug 10 2017 test.txt
[chrisadmin@k7-local ~]$ cat /etc/fstab | grep Volumes
LABEL=K7_PDISK1 /Volumes/K7_PDISK1 auto nosuid,nodev,nofail,x-gvfs-show 0 0
编辑:
显然我也无法从默认共享中读取/写入,但我可以看到顶级文件夹列表......
答案1
显然问题出在 SELinux - 执行文件系统保护的安全子系统上。
SE Linux 故障排除程序列出了它学到的所有东西以及启用它的步骤,这很有帮助。但是,我从来没有成功地让它启用对某些目录的整个访问,所以我不得不让它对smbd
所有地方启用 RW 访问(并相信smbd
没有错误会暴露其他所有内容);我不确定我对此有何感受。
再说了,我打算smbd
在没有 SELinux 的情况下启用它,所以......