samba 拒绝访问(samba访问没有权限)

samba 拒绝访问(samba访问没有权限)摘自 https blog csdn net chizhanghai9 article details 摘自 https my oschina net sunjin blog 今天用共享 CentOS 里面的文件夹给 Windows 使用 无奈在配置正确 关闭防火墙 且文件属性均为 wrx 的情况下 依然被拒绝访问 弄这个问题花了我不少时间

大家好,我是讯享网,很高兴认识大家。



摘自:https://blog.csdn.net/chizhanghai9659/article/details/

摘自:https://my.oschina.net/sunjin/blog/

今天用共享CentOS里面的文件夹给Windows使用,无奈在配置正确,关闭防火墙,且文件属性均为wrx的情况下,依然被拒绝访问。弄这个问题花了我不少时间,终于让我找到了答案:没有共享文件给Samba!!!

在CentOS中,系统处于安全的考虑,即使拥有着或者权限合法的情况下,也会拒绝某些进程对文件的访问,这时就需要使用chcon这个命令了。于是在我指定了一个目录后,使用下面的语句即可:

chcon -R -t public_content_t /mydata/

上面这条命令就是将mydata这个文件夹共享给匿名使用,这其中自然也包含Samba了,或者,也可以使用下面的语句:

chcon -R -t samba_share_t /mydata/


讯享网

这样的话,就只是共享给Samba使用而已,在某种程度上,安全性确实更高了。

———-下面作为新的补充:———-

CentOS中的SELinux是一个很强大的强制访问控制系统,它的全称是Security Enhanced Linux,是MAC(Mandatory Access Control,强制访问控制系统)的一个实现,其目的在于明确的指出某个进程可以访问哪些资源,这些资源包括但不限于文件或网络端口等。

所以,之前在Samba中,共享的文件已经列出,所有者无争议,且权限设置无误的情况下,却依然被拒绝访问,是由于它导致的。在服务器上,这样的安全机制是很有必要的,但是作为开发机,则有些无谓了。既然这样,我们可以通过自己的设置,来配置SELinux。

首先,获取当前SELinux的运行状态:

getenforce

返回的结果分为三种:Enforcing,Permissive和Disabled。其中,Enforcing-代表记录警告且阻止可疑行为;Permissive-代表仅记录安全警告但不阻止可疑行为;Disabled表示被禁用;

知道这些后,我们就可以自己设置SELinux的运行状态了。

setenforce [Enforcing | Permissive | 1 | 0]

上面的设置方式是立即改变SELinux的运行状态,直到下一次重启。想永久改变的话,就需要配置它的配置文件了:

vi /etc/sysconfig/selinux

设置SELINUX=xxx(xxx表示你想要的状态,enforcing,permissive或disabled)即可。

 

小讯
上一篇 2025-05-14 22:15
下一篇 2025-04-22 14:10

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/183259.html