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"

<Directory "/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

centos中selinux功能及常用服务配置的更多相关文章

  1. Kali Linux常用服务配置教程DHCP服务原理

    Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作 ...

  2. Linux 网络配置及常用服务配置(Redhat 6)

    一.网络配置 1. VMWare 提供了三种网络工作模式供用户选择,他们分别是, ①Bridged(桥接模式): 如果网络中能提供多个IP地址,则使用桥接方式 ②NAT(网络地址转换模式): 如果网络 ...

  3. Kali Linux常用服务配置教程获取IP地址

    Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...

  4. Kali Linux常用服务配置教程启动DHCP服务

    Kali Linux常用服务配置教程启动DHCP服务 通过前面的介绍,DHCP服务就配置好了.接下来,用户就可以使用该服务器来获取IP地址了.下面将对前面配置的服务进行测试. 1.启动DHCP服务 如 ...

  5. Kali Linux常用服务配置教程安装及配置DHCP服务

    Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...

  6. KaliLinux常用服务配置教程DHCP服务工作流程

    KaliLinux常用服务配置教程DHCP服务工作流程 DHCP服务工作流程如图1.1所示. 具体的工作流程如下所示: (1)DHCP客户端以广播的方式发出DHCP Discover报文. (2)所有 ...

  7. centos7服务搭建常用服务配置之一:SSH

    目录 1 SSH服务协议 1.1 ssh服务协议说明 1.2 ssh服务工作机制 1.3 ssh加密技术说明 1.3.1 ssh实现安全链接建立,利用要是和锁头 1.3.2 ssh加密算法 1.4 s ...

  8. nginx常用服务配置

    一.nginx.conf的配置方式,创建新vhost user nginx; worker_processes ; worker_cpu_affinity ; worker_rlimit_nofile ...

  9. centos7服务搭建常用服务配置之二:Rsync+sersync实现数据实时同步

    目录 1.RSYNC数据备份 1.1 rsync服务简介 1.2 rsync特点和优势 1.3 rysnc运行模式简介 1.4 数据同步方式 2 Rsync实验测试 2.1 实验环境说明 2.2 服务 ...

随机推荐

  1. Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

    最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和 @DynamicUpdate 如果是在配置文件的话那就是dynamic -insert 和 dynamic- ...

  2. 收藏:FLASH中键检测与右键屏蔽

    原文:http://space.flash8.net/space/?591172/viewspace-708726.html <!DOCTYPE html PUBLIC "-//W3C ...

  3. 洛谷 P4375 [USACO18OPEN]Out of Sorts G(树状数组求冒泡排序循环次数加强版)

    传送门:Problem 4375 参考资料: [1]:https://www.cnblogs.com/Miracevin/p/9662350.html [2]:https://blog.csdn.ne ...

  4. 'RegAsm.exe' 不是内部或外部命令

    我想从cmd运行regasm.exe.它在c:\windows \Microsoft.net\framework\2.057 中可用 我喜欢这个c:\ regasm.exe 它给予 regasm无法识 ...

  5. Linux新系统的安全优化和内核参数优化

    拿到一个新的linux系统需要做的安全和内核优化,主要是为了提升系统安全和提升性能,满足后续的应用需要.这里简单记录一下拿到一个新的系统需要做的一些事情,仅此抛砖引玉,具体可根据自己实际情况进行设置. ...

  6. JS中的数据类型和变量内存

    1. JS中存在5种简单数据类型和1种复杂数据类型: 5种简单数据类型:Undefined, Null, Boolean, Number, String. 1种复杂数据类型:Object. 上面的5种 ...

  7. Python常用内置模块之xml模块

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  8. CM记录-Hadoop 分布式文件系统HDFS(登录、配置、监控)

    1.登录(浏览器输入ip地址:7180,登录用户名和登录密码即可) 2.CM主界面(各个组件,监控图表,绿色代表运行正常.黄色代表运行不良,需要关注根据实际情况调整,红色代表故障,需要排查问题) 3. ...

  9. collectd使用

    1.什么是collectd collectd是一款基于C语言研发的插件式架构的监控软件,它可以收集各种来源的指标,如操作系统,应用程序,日志文件和外部设备,并存储此信息或通过网络提供.这些统计数据可用 ...

  10. Java编程思想 学习笔记7

    七.复用类 1.组合语法 在新的类中产生现有类的对象.由于新的类是由现有类的对象所组成,所以这种方法叫做组合. 类中域为基本类型时能够自动被初始化为零.对象引用被初始化为null. 编译器不是简单地为 ...