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. linux动态库与静态库混合连接

      1, 在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库.使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有 ...

  2. linux 自定义信号

    从来没试过linux自定义信号,查了下,说是系统只提供了SIGUSR1和SIGUSR2两个,就两个够吗?更要命的是如果要自定义信号如#define SIG_MYSIG   ....的话要改内核才行,哥 ...

  3. HDU 3081 Marriage Match II (二分图,并查集)

    HDU 3081 Marriage Match II (二分图,并查集) Description Presumably, you all have known the question of stab ...

  4. 关于setvbuf()函数的详解

    为什么要使用setvbuf函数 如果你的内存足够大,可以把文件IO的BUF设置大一些,这样每次你用fopen/fread/fwrite/fscanf/fprintf语句的时候,都会在内存里操作,减少内 ...

  5. (string find) 亲和串 hdu2203

    亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  6. Arraylist集合遍历输出

    题目:创建一个只能容纳String对象名为names的Arraylist集合,按顺序向集合中添加5个字符串对象.对集合进行遍历,打印出集合中每个元素的位置与内容.首先打印出集合的大小,然后删除集合中的 ...

  7. X-UA-compatible浅谈

    最近了解到svg,原来它出现之前好几年,微软已经推出了vml,但是那时候却被人吐槽无数,看来过早的创新也是失败的原因之一呢~ 为什么谈到这个话题呢?因为IE史上有一个特别奇怪的浏览器IE8,它及不兼容 ...

  8. 系统自带的日志管理工具-rsyslogd

    系统自带的日志管理工具-rsyslogd 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志管理简介 1.什么是日志 系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以 ...

  9. Python基础【day02】:数据运算(二)

    本节内容 数据运算 表达式while 循环 一.数据运算 算数运算: 比较运算: 赋值运算: 逻辑运算: 成员运算: 身份运算: 位运算: #!/usr/bin/python a = 60 # 60 ...

  10. 运用Zabbix实现内网服务器状态及局域网状况监控(2) —— 环境配置

    一.基本要求 Zabbix支持如下操作系统: LinuxIBM AIXFreeBSDNetBSDOpenBSDHP-UXMac OS XSolarisWindows: 2000, Server 200 ...