手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

setsebool命令詳解與SELinux管理

2020-01-19 09:15:37 10760

etsebool命令是用來修改SElinux策略內各項規則的布爾值。setsebool命令和getsebool命令是SELinux修改和查詢布爾值的一套工具組。SELinux的策略與規則管理相關命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。下面讓我們詳細講解一下setsebool命令的使用方法。

語法

setsebool [-P] 布爾值=[0|1]

選項

-P:直接將設置值寫入配置文件,該設置數據將來會生效的。

實例

setsebool -P allow_ftpd_anon_write=1          #允許ftpd匿名用戶可寫
setsebool -P ftp_home_dir 1                   #允許用戶訪問自己的根目錄
setsebool -P ftpd_is_daemon 1                 #允許daemon運行ftpd
setsebool -P ftpd_disable_trans 1             #關閉SELINUX對ftpd的保護
setsebool -P allow_httpd_anon_write=1         #允許httpd匿名用戶可寫
setsebool -P allow_httpd_sys__anon_write=1    #同上
setsebool -P httpd_enable_cgi 1               #httpd被設置允許cgi被執行
setsebool -P httpd_enable_homedirs 1          #允許訪問用戶的根目錄
setsebool -P httpd_tty_comm 1                 #允許httpd控制終端
setsebool -P httpd_unified 0                  #httpd之間相互獨立
setsebool -P httpd_builtin_ing 0              #同httpd環境一樣運行
setsebool -P httpd_can_network_connect_db 1   #httpd可以連接到數據庫(如連接mysql就必須設置)
setsebool -P httpd_can_network_connect 1      #httpd可以連接到網絡(如連接redis就必須設置)
setsebool -P httpd_read_user_content 1        #開啟用戶文件的訪問權限(如日志文件就必須設置)
setsebool -P httpd_suexec_disable_trans 1     #禁用suexec過度
setsebool -P httpd_disable_trans 1            #允許daemon用戶啟動httpd
setsebool -P httpd_can_sendmail 1             #允許httpd發送email
setsebool -P named_write_master_zones 1       #允許修改dns的主zone文件
setsebool -P named_disable_trans 1            #允許daemon啟動named
setsebool -P nfs_export_all_ro 1              #nfs只讀
setsebool -P nfs_export_all_rw 1              #nfs可讀寫
setsebool -P use_nfs_home_dirs 1              #允許本機訪問遠程nfs的根目錄
setsebool -P allow_smbd_anon_write=1          #samba允許匿名用戶可寫
setsebool -P samba_enable_home_dirs 1         #允許根目錄訪問
setsebool -P use_samba_home_dirs 1            #允許本機訪問遠程samba根目錄
setsebool -P smbd_disable_trans 1             #允許daemon啟動samba
setsebool -P allow_rsync_anon_write=1         #允許匿名用戶可寫
setsebool -P rsync_disable_trans 1            #允許daemon啟動rsync

其他命令

getsebool -a                              #列出所有模塊
getsebool -a | grep ftp                       #列出所有與ftp相關的模塊

selinux默認不允許httpd訪問“/home/用戶名”目錄(但是允許訪問"/usr/local/用戶名"這種目錄),現在有兩種解決方案:

方案一:(允許用戶httpd訪問其家目錄)

setsebool -P httpd_read_user_content 1
setsebool -P httpd_enable_homedirs 1

方案二:(使用semanage命令修改安全上下文) 

semanage fcontext -a -t httpd_sys_content_t '/home/用戶名(/.*)?'
#重新加載,刷新配置
restorecon -R -v /home/用戶名
#查看安全上下文是否永久生效
semanage fcontext -l | grep /home/用戶名
#查看安全上下文是否永久生效
ls -Zd /home/用戶名

允許公共目錄共享,如ftp,samba,web都訪問共享目錄

setsebool -P public_content_t 1 
setsebool -P public_content_rw_t 1

允許httpd連接mysql:

setsebool -P httpd_can_network_connect_db 1

允許httpd連接redis:

setsebool -P httpd_can_network_connect=1

允許使用ftpd,如vsftpd就需要用到:

setsebool -P ftpd_full_access 1
setsebool -P ftp_home_dir  1 #可能會提示“Boolean ftp_home_dir is not defined”那就不用管了

允許httpd發送email:

setsebool -P httpd_can_sendmail 1

其他命令

#查看selinux狀態
sestatus
#查看getenforce狀態
getenforce
#臨時關閉selinux,設置SELinux 成為permissive模式
setenforce 0
#臨時打開selinux,設置SELinux 成為enforcing模式
setenforce 1
#永久關閉SELinux
vi /etc/selinux/config
修改并設置SELINUX=disabled,再重啟服務器。

使用semanage管理SELinux

#使用semanage管理SELinux,安裝semanage
yum -y install semanage
如果提示:“No package semanage available.”則執行如下命令:
yum -y provides semanage
執行完以上命令成功后會提示:Filename : /usr/sbin/semanage
再執行:
yum -y install policycoreutils-python
執行以上命令成功之后就安裝好了semanage

#查看所有端口規則
semanage port -l

#查看某個端口的規則
semanage port -l | grep 6379

#查看ssh端口規則
semanage port -l | grep ssh
#給ssh放開某個端口
semanage port -a -t ssh_port_t -p tcp 9998
#給ssh刪除某個已放開的端口
semanage port -d -t ssh_port_t -p tcp 9998

#查看http端口規則
semanage port -l | grep http_port_t
#給httpd放開某個端口
semanage port -a -t http_port_t -p tcp 2201
#給httpd刪除某個已放開的端口
semanage port -d -t http_port_t -p tcp 2201

#查看redis端口規則
semanage port -l | grep redis_port_t
#redis添加端口規則
semanage port -a -t redis_port_t -p tcp 2201
semanage port -d -t redis_port_t -p tcp 2201

#給httpd添加某個目錄(如/websites)安全上下文
semanage fcontext -a -t httpd_sys_content_t "/websites(/.*)?"
#重新加載配置
restorecon -R -v /websites
#查看安全上下文是否永久生效
semanage fcontext -l | grep /websites
#查看安全上下文是否永久生效
ls -Zd /websites


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: