编辑 :它是F#$ CKING SELINUX。 echo 0 >/selinux/enforce ,它的工作原理。
编辑 :基于这个事实,我不能查看目录中的文件,即使它们recursion设置为ugo + rwx(请参阅本文底部的编辑),我怀疑这个问题比挂载共享更基础。
我有我的桑巴configuration下面的共享设置:
[test] path = /mnt/ guest ok = yes writeable = yes browseable = yes
/ mnt文件夹的权限如下所示:
[root@[host-redacted] mnt]# ls -al /mnt total 16 drwxr-xr-x. 4 root root 4096 Mar 3 00:54 . dr-xr-xr-x. 25 root root 4096 Feb 25 19:04 .. drwxr-xr-x. 2 root root 4096 Feb 26 21:45 files drwxr-xr-x. 2 root root 4096 Mar 3 00:54 tmp
在这一点上,没有任何东西被安装到这些文件夹。 当我尝试通过samba访问它时,它工作正常:
[root@[host-redacted] mnt]# smbclient -Uguest //[host-redacted]/test Enter guest's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6] smb: \> ls . D 0 Sun Mar 3 00:54:52 2013 .. DR 0 Mon Feb 25 19:04:02 2013 tmp D 0 Sun Mar 3 00:54:52 2013 files D 0 Tue Feb 26 21:45:55 2013 50396 blocks of size 1048576. 46487 blocks available smb: \> cd files smb: \files\> ls . D 0 Tue Feb 26 21:45:55 2013 .. D 0 Sun Mar 3 00:54:52 2013 50396 blocks of size 1048576. 46487 blocks available
但是,我加载共享后,该驱动器的东西就出错了。 我安装它并检查权限和所有权是相同的:
[root@[host-redacted] mnt]# mount /dev/mapper/[encrypted-partition-redacted] files [root@[host-redacted] mnt]# ls -al /mnt/ total 16 drwxr-xr-x. 4 root root 4096 Mar 3 00:54 . dr-xr-xr-x. 25 root root 4096 Feb 25 19:04 .. drwxr-xr-x. 13 root root 4096 Jul 6 2012 files drwxr-xr-x. 2 root root 4096 Mar 3 00:54 tmp
但现在当我访问共享时,文件目录已经消失:
[root@[host-redacted] ~]# smbclient -Uguest //[host-redacted]/test Enter guest's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6] smb: \> ls . D 0 Sun Mar 3 00:54:52 2013 .. DR 0 Mon Feb 25 19:04:02 2013 tmp D 0 Sun Mar 3 00:54:52 2013 50396 blocks of size 1048576. 46487 blocks available
我做了一个快速检查,以确保我的访客用户(无人)可以读取/ mnt,似乎没关系:
[root@[host-redacted] mnt]# sudo -u nobody ls /mnt files tmp
有人可以解释发生了什么事吗? 我的sambaconfiguration是从以前运行samba 3.3的机器以相同的设置拷贝的,而这个新的configuration运行的是相同的configuration(复制的文件),但是使用samba 3.5.10-125.el6 。
我也检查了更新日志 ,看不到任何突出的东西。
编辑:我没有任何veto文件指令在我的smb.conf中:
[root@pmfs mnt]# grep -i veto /etc/samba/smb.conf
编辑2 :当目录未挂载我能够cd到文件 – 但是,我无法看到我在那里创build的文件
[root@pmfs samba]# echo asdf > /mnt/files/test.txt [root@pmfs files]# chmod -R ugo+rwx /mnt/files/ [root@pmfs ~]# smbclient -Uguest //pmfs/test Enter guest's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.10-125.el6] smb: \> ls . D 0 Sun Mar 3 00:54:52 2013 .. DR 0 Mon Feb 25 19:04:02 2013 tmp D 0 Sun Mar 3 00:54:52 2013 files D 0 Mon Mar 4 20:05:45 2013 50396 blocks of size 1048576. 46486 blocks available smb: \> cd files smb: \files\> ls . D 0 Mon Mar 4 20:05:45 2013 .. D 0 Sun Mar 3 00:54:52 2013 50396 blocks of size 1048576. 46486 blocks available
除了这个特定问题的解决scheme之外,我还有兴趣知道是否还有其他事情可以解决这个问题 – 正如我经常为configurationsamba而苦苦挣扎的,我总是对学习如何更好地改进故障排除过程
它是F#$ CKING SELINUX。 回声0> / selinux /强制,它的工作原理。
不要只是禁用SELinux(echo 0> / selinux / enforce),只需configurationSElinux以允许进行samba访问
chcon -R -t samba_share_t /mnt/files
这将使桑巴进入。 你可以使用
semanage fcontext -a -t samba_share_t "/mnt/files"
以确保后续的restorecon不会解除这个。