博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fedora CentOS 等Linux发行版SELinux安全设置问题重谈
阅读量:6743 次
发布时间:2019-06-25

本文共 3221 字,大约阅读时间需要 10 分钟。

Fedora CentOS 等Linux发行版SELinux安全设置问题重谈

 

我曾经写过两篇日志,都是关于SELinux的安全设置问题,请参考:

前两天,一同事去现场给客户部署系统,装好RHEL5.6之后,发现ftp和http都连不上,但是服务器的启动和服务状态都正常,ftp的返回结果是

500 OOPS: cannot change directory:/home/userDir

我再让他查看下权限、登陆的用户等,这些都没有问题,然后我问他,SELinux的状态是什么样的?他说是打开的,我就知道是这个问题了,在这些版本之后,默认SELinux都对网络操作本地文件系统做了很严格的控制,我觉得有必要在说一说这些东西。

首先是两个命令,getsebool和setsebool,从名字上面就可以知道,这是设置SELinux相关配置的开关(布尔值),那就说明各项开关的作用就行了。

//
用此命令即可查询对应的SELinux开放情况
[root@rhel6 www]
# getsebool -a |grep httpd
allow_httpd_anon_write --> off
allow_httpd_mod_auth_ntlm_winbind --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_network_connect --> on
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> on
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
httpd_execmem --> off
httpd_read_user_content --> off
httpd_setrlimit --> off
httpd_ssi_exec --> off
httpd_tmp_exec --> off
httpd_tty_comm --> on
httpd_unified --> on
httpd_use_cifs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off
 
ftp
//
打开Anonymous文件共享
chcon -R -t public_content_t
/var/ftp
//
设置一个可以上传文件的文件夹
chcon -t public_content_rw_t
/var/ftp/incoming
//
同时需要打开allow_ftpd_anon_write
setsebool -P allow_ftpd_anon_write=1
//
设置用户可以访问家目录
setsebool -P ftp_home_dir 1
//
以镜像方式运行
ftp
服务器
setsebool -P ftpd_is_daemon 1
//
彻底关闭SELinux对FTP的保护
setsebool -P ftpd_disable_trans 1
 
{httpd}
//
特定的域写入权限
setsebool -P allow_httpd_anon_write=1
//
或者
setsebool -P allow_httpd_sys_script_anon_write=1
//
打开http 的cgi功能
setsebool -P httpd_enable_cgi 1
//
打开http访问用户家目录
setsebool -P httpd_enable_homedirs 1
chcon -R -t httpd_sys_content_t ~user
/public_html
//
运行http登陆终端
setsebool -P httpd_tty_comm 1
//
打开http服务互不干扰
setsebool -P httpd_unified 0
//
可装载模块作为http服务在同样的context下服务
setsebool -P httpd_builtin_scripting 0
//
打开http脚本访问网络
setsebool -P httpd_can_network_connect 1
//
禁用suexec传输
setsebool -P httpd_suexec_disable_trans 1
//
停止SELinux对httpd的保护
setsebool -P httpd_disable_trans 1
service httpd restart
 
{named}
//
打开更新主域
setsebool -P named_write_master_zones 1
//
停止SELinux对named的保护
setsebool -P named_disable_trans 1
service named restart
 
{nfs}
//
设置nfs为只读
setsebool -P nfs_export_all_ro 1
//
设置nfs可写
setsebool -P nfs_export_all_rw 1
//
打开nfs家目录访问
setsebool -P use_nfs_home_dirs 1
 
{samba}
//
打开另外的目录共享
chcon -t samba_share_t
/directory
//
打开多域共享
setsebool -P allow_smbd_anon_write=1
//
将服务器设置成samba服务器,并允许家目录共享
setsebool -P samba_enable_home_dirs 1
//
用其他samba服务器共享本机的家目录
setsebool -P use_samba_home_dirs 1
//
停止SELinux对samba的保护
setsebool -P smbd_disable_trans 1
service smb restart
 
rsync
//
打开
rsync
共享
chcon -t public_content_t
/directories
//
打开多域共享
setsebool -P allow_rsync_anon_write=1
//
停止SELinux对
rsync
的保护
setsebool -P rsync_disable_trans 1
 
{kerberos}
//
打开kerberos
setsebool -P allow_kerberos 1
//
以 kadmind 或 krb5kdc 方式运行
setsebool -P krb5kdc_disable_trans 1
service krb5kdc restart
setsebool -P kadmind_disable_trans 1
service kadmind restart
 
{nis}
//
打开nis支持
setsebool -P allow_ypbind 1

看完这些,就应该知道大概怎么设置SELinux了,这里只列出经常要用的。

具体请参考:

转载地址:http://jpkho.baihongyu.com/

你可能感兴趣的文章
Servlet实现Cookie自动登录,并显示保存的用户信息
查看>>
c3p0 APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks
查看>>
(转)HTML字符实体(Character Entities),转义字符串(Escape Sequence)
查看>>
去掉 Android工程中让人很不爽的“黄色警告”
查看>>
移动端H5的一些基本知识点总结
查看>>
ORA-12545: 因目标主机或对象不存在,连接失败
查看>>
C++中的抽象基类示例
查看>>
【WebGoat笔记】--- Cross-Site Scripting(XSS)
查看>>
C# Windows Phone App 开发,修改【锁定画面】,从【Assets】、【UI】、【网路图片】,并解决失灵问题。...
查看>>
使用C#进行基于PI的开发
查看>>
使用git向GitHub提交代码
查看>>
Nginx之OCSP stapling配置
查看>>
使用 Apache cxf 实现 WebService 客户端
查看>>
Windows下GO的开发环境配置及多工作区配置
查看>>
给初学者:JavaScript 的常见注意点
查看>>
[Hive]窗口函数与分析函数
查看>>
9月7日云栖精选夜读 | 史上最美女程序员:手写代码把人类送上月球
查看>>
Pycharm在Ubuntu14.04中的基本使用指南
查看>>
2-AI--Activity启动方式
查看>>
一起学习Laravel5之安装配置
查看>>