tbool命令和设置命令
tbool命令
配置VSFTPD时本地⽤户⽆法切换
⽤到命令
tbool -P allow_ftpd_anon_write=1 allow_ftpd_full_access=1 ftp_home_dir=1 ftpd_disable_trans=1 ftpd_is_daemon=1
tbool命令查询了相关的资料
是linux的相关设置项
这是SELinux的设置命令.
其实 man ⼀下tbool也知道了:
NAME
tbool – t SELinux boolean value
在不熟悉SELnux前,把SELinux关掉也可以的。有时间研究下SELinux。
Redhat从FC3开始,就使⽤了SELinux来增强安全,但是使⽤起来有时候太繁琐,就想关闭它,但是如果安装服务器的时候开始没有图形界⾯,还真很难找到地⽅可以关闭。
正确⽅法如下:修改/etc/linux/config⽂件中的SELINUX=”" 为 disabled ,然后重启。
打春2009年8。22更新
下⾯是⼀些收集来的设置命令
备孕叶酸什么时候吃最好===ftp===
//If you want to share files anonymously
chcon -R -t public_content_t /var/ftp
//If you want to tup a directory where you can upload files
chcon -t public_content_rw_t /var/ftp/incoming
You must also turn on the boolean allow_ftpd_anon_write
tbool -P allow_ftpd_anon_write=1
//If you are tting up this machine as a ftpd rver and wish to allow urs to access their home directorories
tbool -P ftp_home_dir 1
//If you want to run ftpd as a daemon
tbool -P ftpd_is_daemon 1
//You can disable SELinux protection for the ftpd daemon
遗体告别tbool -P ftpd_disable_trans 1
//If you want a particular domain to write to the public_content_rw_t domain
tbool -P allow_httpd_anon_write=1
or
tbool -P allow_httpd_sys__anon_write=1
//httpd can be tup to allow cgi s to be executed
tbool -P httpd_enable_cgi 1
//If you want to allow access to urs home directories
tbool -P httpd_enable_homedirs 1
chcon -R -t httpd_sys_content_t ~ur/public_html
//httpd is allowed access to the controling terminal
tbool -P httpd_tty_comm 1
//such that one httpd rvice can not interfere with another
tbool -P httpd_unified 0
//loadable modules run under the same context as httpd
tbool -P httpd_builtin_ing 0
/
/httpd s are allowed to connect out to the network
tbool -P httpd_can_network_connect 1
// You can disable suexec transition
tbool -P httpd_suexec_disable_trans 1
//You can disable SELinux protection for the httpd daemon by executing
tbool -P httpd_disable_trans 1
rvice httpd restart
===named===
//If you want to have named update the master zone files
吃薯片
tbool -P named_write_master_zones 1
//You can disable SELinux protection for the named daemon by executing
tbool -P named_disable_trans 1
rvice named restart
===nfs===
//If you want to tup this machine to share nfs partitions read only
tbool -P nfs_export_all_ro 1
//If you want to share files read/write
tbool -P nfs_export_all_rw 1
//If you want to u a remote NFS rver for the home directories on this machine tbool -P u_nfs_home_dirs 1
===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
tbool -P allow_smbd_anon_write=1
//If you are tting up this machine as a Samba rver and wish to share the home directories tbool -P samba_enable_home_dirs 1
//If you want to u a remote Samba rver for the home directories on this machine tbool -P u_samba_home_dirs 1
//You can disable SELinux protection for the samba daemon by executing
tbool -P smbd_disable_trans 1
rvice smb restart
//If you want to share files using the rsync daemon
chcon -t public_content_t /directories
//If you want to share files with multiple domains
tbool -P allow_rsync_anon_write=1
//You can disable SELinux protection for the rsync daemon by executing
tbool -P rsync_disable_trans 1
===kerberos===
//allow your system to work properly in a Kerberos environment
tbool -P allow_kerberos 1
//If you are running Kerberos daemons kadmind or krb5kdc
tbool -P krb5kdc_disable_trans 1
rvice krb5kdc restart
tbool -P kadmind_disable_trans 1
rvice kadmind restart
===nis===
Allow your system to work properly in a NIS environment
管怎么组词
tbool -P allow_ypbind 1陈胜世家
1.1 SElinux概述
SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控制的实现,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要⽂件。⼤部分使⽤ SELinux 的⼈使⽤的都是SELinux就绪的发⾏版,例如 Fedora、Red Hat Enterpri Linux (RHEL)、Debian 或 Gentoo。它们都是在内核中启⽤ SELinux 的,并且提供⼀个可定制的安全策略,还提供很多⽤户层的库和⼯具,它们都可以使⽤ SELinux 的功能。
1.1.1 SElinux特点
1.MAC
对访问的控制彻底化,对所有的⽂件、⽬录、端⼝的访问都是基于策略设定的,可由管理员时⾏设定。
入党的坏处
2.RBAC
对于⽤户只赋予最⼩权限。⽤户被划分成了⼀些role(⾓⾊),即使是root⽤户,如果不具有sysadm_r⾓⾊的话,也不是执⾏相关的管理。哪⾥role可以执⾏哪些domain,也是可以修改的。
3.安全上下⽂
当启动linux的时候,所有⽂件与对象都有安全上下⽂。进程的安全上下⽂是域,安全上下⽂由⽤户:⾓⾊:类型表⽰。
(1)系统根据pam⼦系统中的pam_linux.so模块设定登录者运⾏程序的安全上下⽂
(2)rpm包安装会根据rpm包内记录来⽣成安全上下⽂,
(3)如果是⼿⼯他建的,会根据policy中规定来设置安全上下⽂,
(4)如果是cp,会重新⽣成安全上下⽂。
(5)如果是mv,安全上下⽂不变。
1.1.2 安全上下⽂格式
安全上下⽂由ur:role:type三部分组成,下⾯分别说明其作⽤:
1.ur identity:类似linux系统中的UID,提供⾝份识别,安全上下⽂中的⼀部分。
三种常见的ur:
ur_u-: 普通⽤户登录系统后预设;
system_u-:开机过程中系统进程的预设;
root-: root登录后预设;
在targeted policy中urs不是很重要;
在strict policy中⽐较重要,的有预设的linux urs都以 "_u"结尾,root除外。
⽂件与⽬录的role,通常是object_r;
程序的role,通常是system_r;
⽤户的role,targeted policy为system_r;
strict policy为sysadm_r,staff_r,ur_r
⽤户的role,类似于系统中的GID,不同的⾓⾊具备不同的权限;⽤户可以具备多个role;但是同⼀时间内只能使⽤⼀role;
role是RBAC的基础;
type:⽤来将主体与客体划分为不同的组,组每个主体和系统中的客体定义了⼀个类型;为进程运⾏提供最低的权限环境。
当⼀个类型与执⾏的进程关联时,该type也称为domain,也叫安全上下⽂。
当⼀个类型与执⾏的进程关联时,该type也称为domain,也叫安全上下⽂。
域或安全上下⽂是⼀个进程允许操作的列表,决字⼀个进程可以对哪种类型进⾏操作。
1.1.3 SElinux配置⽂件
vi /etc/linux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of the three values:
# enforcing - SELinux curity policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
#SELINUX=disabled
# SELINUXTYPE= type of policy in u. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
#SELINUX有「disabled」「permissive」,「enforcing」3种选择。
1.模式的设置
enforcing:强制模式,只要linux不允许,就⽆法执⾏
permissive:警告模式,将该事件记录下来,依然允许执⾏
disabled:关闭linux;停⽤,启⽤需要重启计算机。
2.策略的设置
targeted:保护常见的⽹络服务,是linux的默认值;
stric:提供RBAC的policy,具备完整的保护功能,保护⽹络服务,⼀般指令及应⽤程序。
策略改变后,需要重新启动计算机。
也可以通过命令来修改相关的具体的策略值,也就是修改安全上下⽂,来提⾼策略的灵活性。
3.策略的位置
/etc/linux/<;策略名>/policy/
1.2 SElinux命令介绍
1.2.1 查询SElinux状态命令
1.查询linux状态
[root@redhat ~]# status
SELinux status: enabled
SELinuxfs mount: /linux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted
2.查询linux激活状态
[root@redhat ~]# linuxenabled
[root@redhat ~]# echo $?
如果为-256为⾮激活状态。
1.2.2 切换SElinux类型
1.切换成警告模式
[root@redhat ~]# tenforce 0或tenforce permissive
[root@redhat ~]# status
SELinux status: enabled
SELinuxfs mount: /linux
Current mode: permissive
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted
Policy from config file: targeted
或
[root@redhat ~]# getenforce
Permissive
2.切换成强制模式
[root@redhat ~]# tenforce 1
[root@redhat ~]# getenforce
Enforcing
睡的香注:使⽤tenforce切换enforcing与permissive模式不需要重启计算机。
1.2.3 检查安全上下⽂
1.检查帐号的安全上下⽂
[root@redhat ~]# id -Z
root:system_r:unconfined_t:SystemLow-SystemHigh
2.检查进程的安全上下⽂
[root@redhat home]# ps -Z
LABEL PID TTY TIME CMD
root:system_r:unconfined_t:SystemLow-SystemHigh 2383 pts/0 00:00:00 bash
root:system_r:unconfined_t:SystemLow-SystemHigh 2536 pts/0 00:00:00 ps
3.检查⽂件与⽬录的安全上下⽂
[root@redhat home]# ls -Z
drwx------ tom tom system_u:object_r:ur_home_dir_t tom
1.2.4 修改⽂件/⽬录安全上下⽂与策略
1.chcon命令
chcon -u [ur] 对象
-r [role]
-t [type]
-R 递归
⽰例:
chcon -R -t samba_share_t /tmp/abc
注:安全上下⽂的简单理解说明,受到linux保护的进程只能访问标识为⾃⼰只够访问的安全上下⽂的⽂件与⽬录。例如:上⾯解释为使⽤smb进程能够访问/tmp/abc⽬录⽽设定的安全上下⽂。
2.getbool命令
获取本机linux策略值,也称为bool值。
getbool -a 命令同status -b
[root@redhat files]# getbool -a
NetworkManager_disable_trans --> off
allow_cvs_read_shadow --> off
allow_daemons_dump_core --> on
allow_daemons_u_tty --> off
allow_execheap --> off
allow_execmem --> on
allow_execmod --> off
allow_execstack --> on
allow_ftpd_anon_write --> off /*是否允许ftp匿名访问*/
allow_ftpd_full_access --> off
...
httpd_disable_trans --> off /*只要有disable_trans关闭保护*/
说明:linux的设置⼀般通过两个部分完成的,⼀个是安全上下⽂,另⼀个是策略,策略值是对安全上下⽂的补充。
3.tbool命令
tbool -P allow_ftpd_anon_write=1