作用:

chcon 命令用来改变 SELinux 文件属性即修改文件的安全上下文

用法:

chcon [ 选项 ] CONTEXT 文件

选项:

-R:递归改变文件和目录的上下文。

--reference:从源文件向目标文件复制安全上下文

-h, --no-dereference:影响目标链接。

-v, --verbose:输出对每个检查文件的诊断。

-u, --user=USER:设置在目标用户的安全上下文。

-r,--role=ROLE:设置目标安全领域的作用。

-t, --type=TYPE:在目标设定的安全上下文类型。

-l, --range=RANGE:设置 set role ROLE in the target security context 目标安全领域的范围。

-f:显示少量错误信息。

实例:

如果你想把这个ftp共享给匿名用户的话,需要开启以下:

        chcon -R -t public_content_t /var/ftp

如果你想让你设置的FTP目录可以上传文件的话,SELINUX需要设置:

chcon -t public_content_rw_t /var/ftp/incoming

允许用户HHTP访问其家目录,该设定限仅于用户的家目录主页:

  setsebool -P httpd_enable_homedirs 1 chcon -R -t httpd_sys_content_t ~user/public_html

如果你希望将samba目录共享给其他用户,你需要设置:

 chcon -t samba_share_t /directory

共享rsync目录时:

chcon -t public_content_t /directories

chcon命令:修改对象(文件)的安全上下文。比如:用户:角色:类型:安全级别。

命令格式:

Chcon [OPTIONS…] CONTEXT FILES…..

Chcon [OPTIONS…] –reference=PEF_FILES FILES…

说明:

CONTEXT 为要设置的安全上下文

FILES 对象(文件)

--reference 参照的对象

PEF_FILES 参照文件上下文

FILES      应用参照文件上下文为我的上下文。

OPTIONS 如下:

    -f          强迫执行

    -R         递归地修改对象的安全上下文

    -r ROLE    修改安全上下文角色的配置

    -t TYPE    修改安全上下文类型的配置

    -u USER   修改安全上下文用户的配置

    -v         显示冗长的信息

     -l, --range=RANGE    修改安全上下文中的安全级别

范例:

1、ftp

//If you want to share files anonymously <如果你想把这个共享给匿名的话,需要开启以下>

chcon -R -t public_content_t /var/ftp

//If you want to setup a directory where you can upload files

<如果你想让你设置的FTP目录可以上传文件的话,SELINUX需要设置>

chcon -t public_content_rw_t /var/ftp/incoming

//You must also turn on the boolean allow_ftpd_anon_write <允许匿名用户写入权限>

setsebool -P allow_ftpd_anon_write=1

//If you are setting up this machine as a ftpd server and wish to allow users to access their home directorories<如果你希望你的FTP用户可以访问自己的家目录的话,需要开启>

setsebool -P ftp_home_dir 1

//If you want to run ftpd as a daemon<如果你希望将vsftpd以daemon的方式运行的话,需要开启>

setsebool -P ftpd_is_daemon 1

//You can disable SELinux protection for the ftpd daemon<你可以让SElinux停止保护vsftpd的daemon方式动行>

setsebool -P ftpd_disable_trans 1

2、httpd

//If you want a particular domain to write to the public_content_rw_t domain

<如果希望具体个doman具有可写权限的话,需要设置>

setsebool -P allow_httpd_anon_write=1

or

setsebool -P allow_httpd_sys__anon_write=1

//httpd can be setup to allow cgi s to be executed <HTTP被设置允许cgi的设置>

setsebool -P httpd_enable_cgi 1

//If you want to allow access to users home directories<允许用户HHTP访问其家目录,该设定限仅于用户的家目录主页>

setsebool -P httpd_enable_homedirs 1

chcon -R -t httpd_sys_content_t ~user/public_html

//httpd is allowed access to the controling terminal<允许httpd访问终端>

setsebool -P httpd_tty_comm 1

//such that one httpd service can not interfere with another

setsebool -P httpd_unified 0

//loadable modules run under the same context as httpd

setsebool -P httpd_builtin_ing 0

//httpd s are allowed to connect out to the network

setsebool -P httpd_can_network_connect 1

// You can disable suexec transition

setsebool -P httpd_suexec_disable_trans 1

//You can disable SELinux protection for the httpd daemon by executing <关闭Selinux的关于httpd进程守护的保护>

setsebool -P httpd_disable_trans 1

service httpd restart

3、named

//If you want to have named update the master zone files <关于named,master更新selinux设定>

setsebool -P named_write_master_zones 1

//You can disable SELinux protection for the named daemon by executing

<关闭named的进程守护保护>

setsebool -P named_disable_trans 1

service named restart

4、nfs

//If you want to setup this machine to share nfs partitions read only

<Selinux将本机的NFS共享设置成只读>

setsebool -P nfs_export_all_ro 1

//If you want to share files read/write<Selinux将本机的NFS共享设置成可读可写>

setsebool -P nfs_export_all_rw 1

//If you want to use a remote NFS server for the home directories on this machine

<如果你想要将远程NFS的家目录共享到本机,需要开启>

setsebool -P use_nfs_home_dirs 1

5、samba

//If you want to share files other than home directorie

<如果你希望将目录共享给其他用户,你需要设置>

chcon -t samba_share_t /directory

//If you want to share files with multiple domains

如果samba服务器共享目录给多个域,则需要:

setsebool -P allow_smbd_anon_write=1

//If you are setting up this machine as a Samba server and wish to share the home directories

samba服务器要共享家目录时:

setsebool -P samba_enable_home_dirs 1

//If you want to use a remote Samba server for the home directories on this machine

如果你需在本机上使用远程samba服务器的家目录

setsebool -P use_samba_home_dirs 1

//You can disable SELinux protection for the samba daemon by executing

关闭selinux关于samba的进程守护的保护

setsebool -P smbd_disable_trans 1

service smb restart

6、rsync

//If you want to share files using the rsync daemon

共享rsync目录时:

chcon -t public_content_t /directories

//If you want to share files with multiple domains

允许其他用户写入时

setsebool -P allow_rsync_anon_write=1

//You can disable SELinux protection for the rsync daemon by executing

停止rsync的进程保护

setsebool -P rsync_disable_trans 1

7、kerberos

//allow your system to work properly in a Kerberos environment

允许系统使用kerberos

setsebool -P allow_kerberos 1

//If you are running Kerberos daemons kadmind or krb5kdc

setsebool -P krb5kdc_disable_trans 1

service krb5kdc restart

setsebool -P kadmind_disable_trans 1

service kadmind restart

8、nis

Allow your system to work properly in a NIS environment

系统工作在nis环境时

setsebool -P allow_ypbind 1

CentOS 下设置 SELinux 安全上下文的更多相关文章

  1. CentOS下设置MySQL的root各种密码 总结

    一.更改mysql密码常用的三种方法 大部分情况下,一般用户没有权限更改密码,只有申请了权限或root用户才可以更改密码: 1.方法1:用mysqladmin mysqladmin -u root p ...

  2. centos下设置自启动和配置环境变量的方法

    1. 设置自启动 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动.1.把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd. #!/bi ...

  3. Centos 下设置静态ip地址

       今天小编遇到了需要设置centos(6.4) 下静态ip地址,下面把详细步骤记录下来. 1> 首先打开这个 vi /etc/sysconfig/network-scripts/ifcfg- ...

  4. CentOS下设置默认JDK

    最近在弄Linux,用yum源安装opnjdk-devel版本后,用命令ll /etc/alternatives/java查看,发现指向的是jre目录,而不是jdk,在此设置指向jdk目录. 1. 设 ...

  5. centos下设置开机启动程序

    首先,设置权限, 由于/etc/rc.local是/etc/rc.d/rc.local的软连接,所以必须确保/etc/rc.local和/etc/rc.d/rc.local都有x权限(可执行) 执行命 ...

  6. Linux(CentOS)下设置nginx开机自动启动(2个办法)

    首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令: vim /etc/init.d/nginx 在脚本中添加如下命令: #!/bin/sh # # nginx - ...

  7. centos下设置nodejs开机启动

    node环境的安装便不再赘述了,网上有很多教程,也非常简单. 上一篇博客介绍了用nginx代理nodejs.这一篇是使用pm2实现nodejs的自动重启. 什么是pm2? 如官网介绍的,pm2是nod ...

  8. Centos下设置VNC为3389端口

    1.安装vnc yum install vnc vnc-server yum install vnc vnc-server 2.修改vnc端口,修改/usr/bin/vncserver ,把5900变 ...

  9. CentOS下设置MySQL的root密码

    CentOS刚装的MySQL一般需要重设MySQL密码,可以用以下方法重设. 方法一. Js代码  # /etc/init.d/mysqld stop  # mysqld_safe --user=my ...

随机推荐

  1. Spark scala和java的api使用

    1.利用scala语言开发spark的worcount程序(本地运行) package com.zy.spark import org.apache.spark.rdd.RDD import org. ...

  2. 使用jQuery解析JSON数据-已验证

    本文来源于:http://www.cnblogs.com/codeplus/archive/2011/07/18/2109544.html 上例中得到的JSON数据如下,是一个嵌套JSON: {&qu ...

  3. HRESULT:0x80070057 (E_INVALIDARG)

    笔记本蓝屏后,在vs2010中调试项目时出现该异常, 解决方法:清空C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Fi ...

  4. C++——堆、栈、静态存储区

      栈 堆 静态存储区 生命周期 函数结束即释放 new,malloc开辟,delete,free释放 释放前,一直存在 最长,程序退出才释放   程序.局部变量 new,malloc申请的空间,用于 ...

  5. spring4-2-bean配置-1-依赖注入

    配置 bean,本章节中主要介绍蓝色文字部分. 配置形式:基于 XML 文件的方式:基于注解的方式 Bean 的配置方式:通过全类名(反射).通过工厂方法(静态工厂方法 & 实例工厂方法).F ...

  6. [SoapUI] SOAP UI-Groovy Useful Commands

    Hi All, I have posted the SOAPUI and Groovy useful commands that may help you in your testing. Below ...

  7. maven 执行本地、服务器 jar包安装

    开发时遇到过第三方jar包依赖不了时的尴尬 因为遇到过几次所以记录一下,POM文件引入的个推jar包无效,就必须本地安装了,服务器上的也是一样,执行相同的maven命令就行,注意修改路径!和将jar包 ...

  8. python 网络编程 TCP/IP socket UDP

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

  9. 金士顿DT100 G3 PS2251-07海力士U盘量产修复成功教程

    金士顿DT100 G3这款U盘.用了大概一年半没什么问题,前段时间拷贝大文件,无奈电脑突然断电,然后这个U盘在电脑上就读不出来了,只能显示盘符,所以有了修复过程.   最开始我也是菜鸟,不知道怎么搞, ...

  10. OpenCV实现均值哈希

    总共分三步:压缩,灰度化,均值化,求哈希值. 1.压缩 void secondMethod(char* filename, char* savename) { //const char* filena ...