selinux 命令

简介:

 

selinux 命令


1.2 SElinux命令介绍 
1.2.1 查询SElinux状态命令 
1.查询selinux状态 
[root@redhat ~]# sestatus 
SELinux status:                 enabled 
SELinuxfs mount:                /selinux 
Current mode:                   enforcing 
Mode from config file:          enforcing 
Policy version:                 21 
Policy from config file:        targeted

2.查询selinux激活状态 
[root@redhat ~]# selinuxenabled 
[root@redhat ~]# echo $? 

如果为-256为非激活状态。 
1.2.2 切换SElinux类型 
1.切换成警告模式 
[root@redhat ~]# setenforce 0或setenforce permissive 
[root@redhat ~]# sestatus 
SELinux status:                 enabled 
SELinuxfs mount:                /selinux 
Current mode:                   permissive 
Mode from config file:          enforcing 
Policy version:                 21 
Policy from config file:        targeted 
或 
[root@redhat ~]# getenforce 
Permissive

2.切换成强制模式 
[root@redhat ~]# setenforce 1 
[root@redhat ~]# getenforce 
Enforcing 
注:使用setenforce切换enforcing与permissive模式不需要重启计算机。 
1.2.3 检查安全上下文 
1.检查帐号的安全上下文 
[root@redhat ~]# id -Z 
root:system_r:unconfined_t:SystemLow-SystemHigh

2.检查进程的安全上下文 
[root@redhat home]# ps -Z 
LABEL                             PID TTY          TIME CMD 
root:system_r:unconfined_t:SystemLow-SystemHigh 2383 pts/0 00:00:00 bash 
root:system_r:unconfined_t:SystemLow-SystemHigh 2536 pts/0 00:00:00 ps

3.检查文件与目录的安全上下文 
[root@redhat home]# ls -Z 
drwx------  tom  tom  system_u:object_r:user_home_dir_t tom 
1.2.4 修改文件/目录安全上下文与策略 
1.chcon命令 
chcon -u [user]  对象 
      -r [role] 
      -t [type] 
      -R 递归 
示例: 
chcon -R -t samba_share_t /tmp/abc 
注:安全上下文的简单理解说明,受到selinux保护的进程只能访问标识为自己只够访问的安全上下文的文件与

目录。 
例如:上面解释为使用smb进程能够访问/tmp/abc目录而设定的安全上下文。

2.getsebool命令 
获取本机selinux策略值,也称为bool值。 
getsebool -a  命令同sestatus -b 
[root@redhat files]# getsebool -a 
NetworkManager_disable_trans --> off 
allow_cvs_read_shadow --> off 
allow_daemons_dump_core --> on 
allow_daemons_use_tty --> off 
allow_execheap --> off 
allow_execmem --> on 
allow_execmod --> off 
allow_execstack --> on 
allow_ftpd_anon_write --> off   /*是否允许ftp匿名访问*/ 
allow_ftpd_full_access --> off 
... 
httpd_disable_trans --> off    /*只要有disable_trans关闭保护*/

说明:selinux的设置一般通过两个部分完成的,一个是安全上下文,另一个是策略,策略值是对安全上下文的

补充。

3.setsebool命令 
setsebool -P allow_ftpd_anon_write=1 
-P 是永久性设置,否则重启之后又恢复预设值。 
示例: 
[root@redhat files]# setsebool -P allow_ftpd_anon_write=1 
[root@redhat files]# getsebool allow_ftpd_anon_write 
allow_ftpd_anon_write --> on 
说明:如果仅仅是安全上下文中设置了vsftpd进程对某一个目录的访问,配置文件中也允许可写,但是selinux

中策略中不允许可写,仍然不可写。所以基于selinux保护的服务中,安全性要高于很多。

1.3 SElinux应用 
selinux的设置分为两个部分,修改安全上下文以及策略,下面收集了一些应用的安全上下文,供配置时使用,

对于策略的设置,应根据服务应用的特点来修改相应的策略值。 
1.3.1 SElinux与samba 
1.samba共享的文件必须用正确的selinux安全上下文标记。 
chcon -R -t samba_share_t /tmp/abc 
如果共享/home/abc,需要设置整个主目录的安全上下文。 
chcon -R -r samba_share_t /home 
2.修改策略(只对主目录的策略的修改) 
setsebool -P samba_enable_home_dirs=1 
setsebool -P allow_smbd_anon_write=1 
getsebool 查看 
samba_enable_home_dirs -->on 
allow_smbd_anon_write --> on /*允许匿名访问并且可写*/

1.3.2 SElinux与nfs 
selinux对nfs的限制好像不是很严格,默认状态下,不对nfs的安全上下文进行标记,而且在默认状态的策略下

,nfs的目标策略允许nfs_export_all_ro 
nfs_export_all_ro 
nfs_export_all_rw值为0 
所以说默认是允许访问的。 
但是如果共享的是/home/abc的话,需要打开相关策略对home的访问。 
setsebool -P use_nfs_home_dirs boolean 1 
getsebool use_nfs_home_dirs

1.3.3 SElinux与ftp 
1.如果ftp为匿名用户共享目录的话,应修改安全上下文。 
chcon -R -t public_content_t /var/ftp 
chcon -R -t public_content_rw_t /var/ftp/incoming

2.策略的设置 
setsebool -P allow_ftpd_anon_write =1 
getsebool allow_ftpd_anon_write 
allow_ftpd_anon_write--> on

1.3.4 SElinux与http 
apache的主目录如果修改为其它位置,selinux就会限制客户的访问。 
1.修改安全上下文: 
chcon -R -t httpd_sys_content_t /home/html 
由于网页都需要进行匿名访问,所以要允许匿名访问。 
2.修改策略: 
setsebool -P allow_ftpd_anon_write = 1 
setsebool -P allow_httpd_anon_write = 1 
setsebool -P allow_<协议名>_anon_write = 1 
关闭selinux对httpd的保护 
httpd_disable_trans=0

1.3.5 SElinux与公共目录共享 
如果ftp,samba,web都访问共享目录的话,该文件的安全上下文应为: 
public_content_t 
public_content_rw_t 
其它各服务的策略的bool值,应根据具体情况做相应的修改。

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/834592如需转载请自行联系原作者


yangzhimingg

相关文章
|
8月前
|
弹性计算 运维 Shell
关闭SELinux
【4月更文挑战第29天】
46 0
|
8月前
|
弹性计算 运维 Shell
关闭 SELinux
【4月更文挑战第29天】
50 0
|
安全 Linux 数据安全/隐私保护
SELinux详解
SELinux详解
254 0
|
安全 Linux Apache
18.1 SELinux是什么
SELinux,Security Enhanced Linux 的缩写,也就是安全强化的 Linux,是由美国国家安全局(NSA)联合其他安全机构(比如 SCC 公司)共同开发的,旨在增强传统 Linux 操作系统的安全性,解决传统 Linux 系统中自主访问控制(DAC)系统中的各种权限问题(如 root 权限过高等)。
288 0
18.1 SELinux是什么
|
应用服务中间件 Apache nginx
记selinux的权限问题
Nginx提示403 尝试用chmod,chown设置各种权限无果 尝试暂时关闭selinux后访问正常 setenforce 0 问题确定是selinux造成的 在不想关闭selinux的情况下处理权限问题 首先查看一下selinux中的目录权限 ls -Z /data/webroot/ drwxr-xr-x.
1424 0
|
JavaScript 前端开发
|
JavaScript 前端开发
|
安全 Linux Apache