若存在linux samba共享需关闭,Samba共享后不能访问是selinux惹的祸

第一种方法:关闭SELinux,并修改配置文件,使系统启动时不启动SELinux。

不关机的关闭方法是:setenforce 0

永久关闭是:

vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

把 SELINUX设定为disable, 下次启动系统后将会停止SElinux。

还有一种是;

在核心参数后加上 selinux=0 (停止) 或 selinux=1 (开启)参数

vi /boot/grub/menu.lst

title Fedora Core (2.6.18-1.2798.fc6)

root (hd0,0)

kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0

initrd /initrd-2.6.18-1.2798.fc6.img

检查SELinux现时况态的命令是; getenforce

第二种方法 :不关闭SELinux配置 samba的方法 (在51cto网上找到的)

将smb.conf中如下这两行启用(去掉行首的;号就可以了)

setsebool -P samba_domain_controller on setsebool -P samba_enable_home_dirs on这两行生效后,自己的home目录就可以正常读写了。

针对于目录共享设置:

如 /home/samba/test目录设置成完全的共享就应该在字符状态写输入:

chcon -t samba_share_t /home/samba/test

同时不要忘记将/home/samba/test目录属性设置成777 就可以了。

默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。

假设你已经配置了共享目录/share并允许用户进行读写,而你又不想关闭SELinux的话,可以试试以下操作:

程序代码:

#/usr/sbin/setsebool -Pallow_smbd_anon_write=1

#chcon -t public_content_rw_t /share

其中第一条语句设置SELinux放行标记了public_content_rw_t的内容,第二条语句把欲共享的/share目录标记为public_content_rw_t。

附SELinux资料:

selinux简介

SElinux 在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是建立在自由访问控制系统(DAC)之上的。

DAC是指系统的安全访问控制都是由系统管理员root自由管理的,不是系统强制行为

MAC运行的时候,比如一个应用程序或者一个线程以某个用户UID或者SUID运行的时候同样对一些其他的对象拥有访问控制限制,比如文件,套接子(sockets)或者其他的线程

通过运行SElinux MAC内核可以保护系统不受到恶意程序的侵犯,或者系统本身的bug不会给系统带来致命影响(把影响限定在一定范围内)

SElinux为每一个用户,程序,进程,还有文件定义了访问还有传输的权限。然后管理所有这些对象之间的交互关系

对于SELinux设定的对象全限是可以根据需要在安装时候规定严格程度,或者完全禁用

在大多数情况下,SElinux对于用户来说是完全透明的,普通用户根本感觉不到 Selinux的存在,只有系统管理员才需要对这些用户环境,以及策略进行考虑。这些策略可以按照需要宽松的部署或者应用严格的限制,Selinux提供 了非常具体的控制策略,范围覆盖整个linux系统

比如,当一个对象如应用程序要访问一个文件对象,内核中的控制程序检查访问向量缓存 (AVC),从这里寻找目标和对象的权限,如果在这里没有发现权限定义,则继续查询安全定义的上下关联,以及文件权限,然后作出准许访问以及拒绝访问的决 定。如果在var/log/messages出现avc: denied信息,则表明访问拒绝。

目标和对象通过安装的策略来决定自身的安全关联,同时这些安装的策略也负责给系统产生安全列表提供信息。

除了运行强制模式以外,SELinux可以运行在许可模式,这时候,检查AVC之后,拒绝的情况被记录。Selinux不强制使用这种策略.

以下介绍一下SELinux相关的工具

/usr/bin/setenforce 修改SELinux的实时运行模式

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

如果要彻底禁用SELinux 需要在

/etc/sysconfig/selinux中设置参数selinux=0 ,

或者在/etc/grub.conf中添加这个参数

/usr/bin/setstatus -v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 关闭Linux上的NetBIOS服务可以通过编辑Samba配置文件(smb.conf)实现。在smb.conf中,可以将“[global]”下的“nmbd”的启动方式设置为“no”,然后重新启动Samba服务即可关闭NetBIOS。具体操作方法如下: 1. 使用编辑器打开smb.conf文件: sudo nano /etc/samba/smb.conf 2. 找到“[global]”下的“nmbd”行,并将其修改为: nmbd = no 3. 保存并关闭文件。 4. 重新启动Samba服务: sudo service smbd restart 经过以上步骤,NetBIOS服务已成功关闭。 ### 回答2: NetBIOS是一种网络协议,通常用于在局域网内实现共享文件和打印机等功能。但是,有些人认为NetBIOS存在一些安全隐患,因此想要在Linux系统中关闭NetBIOS服务。下面介绍如何实现。 首先,我们要打开终端并输入以下命令: sudo nano /etc/samba/smb.conf 这个命令将打开一个文件编辑器来编辑smb.conf文件,这是Linux系统上Samba软件的主要配置文件。 接着,在smb.conf文件中找到以下几行文本: [global] dns proxy = no name resolve order = lmhosts host wins bcast 这些文本定义了Samba的全局设置。我们要在这三行文本的下面添加以下两行: disable netbios = yes disable netbios name resolve = yes 然后保存文件并退出编辑器。 接下来,输入以下命令以重启Samba服务: sudo service smbd restart 现在,NetBIOS服务已经关闭了。 总的来说,关闭NetBIOS服务可以提高系统的安全性。但是,如果您要在局域网内共享文件和打印机等资源,则必须使用其他协议或方法来实现。 ### 回答3: NetBIOS是一种基于Windows操作系统的网络协议,用于在网络上访问计算机名称和共享的文件和打印机等资源。在Linux系统中,默认情况下,Samba服务会自动启用NetBIOS服务,以便Windows客户端可以访问共享资源。但在一些情况下,用户可能关闭NetBIOS服务以提高系统的安全性。下面我们就来介绍一下如何在Linux系统中关闭NetBIOS服务: 方法一:在Samba配置文件中禁用NetBIOS服务 1.打开Samba服务器的配置文件。默认情况下,Samba配置文件位于/etc/samba/smb.conf中。 2.在文件中查找“[global]”部分,并将“name resolve order”参数的值更改为下面的值: name resolve order = lmhosts host wins bcast 3.将“wins support”参数的值更改为“No”,并将“netbios name”参数的值也更改为“No”。 4.保存并关闭文件,然后重新启动Samba服务以应用更改。可以使用以下命令: sudo systemctl restart smbd 方法二:阻止NetBIOS端口 另一个关闭NetBIOS服务的方法是阻止NetBIOS端口。在Linux系统中,NetBIOS默认使用UDP端口137和138以及TCP端口139。可以通过在系统防火墙中阻止这些端口来禁用NetBIOS服务,以提高系统的安全性。以下是关闭NetBIOS端口的步骤: 1.打开系统防火墙,并创建一个新规则以阻止NetBIOS端口。可以使用以下命令: sudo iptables -A INPUT -p udp --destination-port 137 -j DROP sudo iptables -A INPUT -p udp --destination-port 138 -j DROP sudo iptables -A INPUT -p tcp --destination-port 139 -j DROP 2.保存并应用规则。可以使用以下命令: sudo iptables-save > /etc/iptables/rules.v4 以上就是两种关闭NetBIOS服务的方法。用户可以根据自己的求选择其中一种方法来禁用NetBIOS服务,以提高系统的安全性。但是,如果Linux系统是作为Samba服务器使用的,那么禁用NetBIOS服务可能会影响Windows客户端对共享资源的访问。因此,建议在禁用NetBIOS服务之前仔细考虑并评估其影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值