热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos中selinux功能及常用服务配置

SELinux:SecureEnhencedLinux常用命令
SELinux: Secure Enhenced Linux

常用命令获取selinux的当前状态:
# getenforce


临时启用或禁用:
# setenfoce 0|1



永久性启用,需要修改配置文件
/etc/sysconfig/selinux


设置:SELINUX=permissive


 /etc/selinux/config
 找到其中的一项:
 SELINUX={enforcing|permissive|disabled}

如果本身selinux的状态是disabled需要设置后重启生效



对apache服务的设置1.安装配置apache软件
# yum install -y httpd


# ls -ldZ /var/www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/


# ls -lZ /var/www/html
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html


# touch /tmp/a.txt
# ls -lZ /tmp/a.txt
-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /tmp/a.txt


2.编辑相关的配置文件
# mkdir /web/htdocs -pv


vim /etc/httpd/conf/httpd.conf


DocumentRoot "/web/htdocs"



删除默认的主页
# cd /etc/httpd/conf.d/
# rm welcome.conf


此时网站无法访问,查看文件属性
# ls -ldZ /web/htdocs
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /web/htdocs
# ls -lZ /web/htdocs/
-rw-r--r--. root root unconfined_u:object_r:default_t:s0 index.html



3.使用chcon命令设置文件属性
将新的web目录下的文件参考原web目录属性
# chcon -R --reference=/var/www/html /web/htdocs/


设置后发现网站可以正常访问


还原原有文件属性
# restorecon -R /web/htdocs/


vsftp服务

1.安装ftp服务
# setenforce 0
# yum install -y vsftpd
启动服务
# service vsftpd start


selinux中查找ftp相关的属性
# getsebool -a | grep ftp


2.添加用户
# useradd hadoop
# passwd hadoop
客户端连接ftp服务可以使用ls命令
# lftp -u hadoop,hadoop 192.168.8.40


开启selinux 
# setenforce 1


# lftp -u hadoop,hadoop 192.168.8.40
lftp hadoop@192.168.8.40:~> ls
ls: 登录失败: 500 OOPS: cannot change directory:/home/hadoop


说明selinux阻止了用户的访问


# getsebool -a | grep ftp


allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off


3.开启匿名upload权限# vim /etc/vsftpd/vsftpd.conf 
anon_upload_enable=YES
anon_other_write_enable=YES


# cd /var/ftp
# mkdir incoming
# setfacl -m u:ftp:rwx /var/ftp/incoming/
# setenforce 0


此时可以上传文件


# setenforce 1 不能上传文件


4.通过setsebool开启匿名上传权限
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on


# setsebool allow_ftpd_anon_write=1
# setsebool allow_ftpd_full_access=1
# getsebool -a | grep ftp


allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off


samba服务

1.安装samba服务
# yum install -y samba
启动服务
# service smb start
# service nmb start
新建samba用户
# smbpasswd -a hadoop
# smbclient -L 192.168.8.40 -U hadoop
连接samba服务
# smbclient //192.168.8.40/hadoop -U hadoop
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*


共享home目录(可参考/etc/samba/smb.conf文件)
# setsebool -P samba_enable_home_dirs=1


重新访问共享目录
# smbclient //192.168.8.40/hadoop -U hadoop
Enter hadoop's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-24.el6_7]
smb: \> ls
  .                                   D        0  Mon Mar  7 20:51:44 2016
  ..                                  D        0  Mon Mar  7 20:35:12 2016
  .bash_profile                       H      176  Thu Jul 18 21:19:03 2013
  inittab                                    884  Mon Mar  7 20:52:27 2016
  .bash_logout                        H       18  Thu Jul 18 21:19:03 2013
  .bashrc                             H      124  Thu Jul 18 21:19:03 2013
  issue                                       47  Mon Mar  7 20:46:44 2016


51175 blocks of size 524288. 47761 blocks available




加入配置myshared
[myshared]
        comment = something
        path = /samba/shared
        public = yes
        browseable = yes
        write list = hadoop


语法检查# testparm


重启samba服务
# for i in smb nmb; do service $i restart ; done


访问samba共享,无法列出目录
# smbclient //192.168.8.40/myshared -U hadoop
Enter hadoop's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-24.el6_7]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*


改变目录的属性
# chcon -R -t samba_share_t /samba/shared/


再次访问samba共享,可以正常列出目录
# smbclient //192.168.8.40/myshared -U hadoop
Enter hadoop's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-24.el6_7]
smb: \> ls
  .                                   D        0  Mon Mar  7 21:27:32 2016
  ..                                  D        0  Mon Mar  7 21:27:17 2016
  fstab                                      921  Mon Mar  7 21:27:32 2016


51175 blocks of size 524288. 47761 blocks available






推荐阅读
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 本文介绍了.hbs文件作为Ember.js项目中的视图层,类似于HTML文件的功能,并详细讲解了如何在Ember.js应用中集成Bootstrap框架及其相关组件的方法。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 在Linux系统中,许多应用程序以源代码的形式提供,这给安装带来了挑战。本文旨在介绍一种简化源码软件安装流程的方法,帮助用户更加轻松地完成安装。 ... [详细]
author-avatar
驴友团的新家处_273
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有