centos 7 虚拟化支持:
1、更高性能的KVM内核虚拟化支持
2、嵌套虚拟化支持,可以在KVM中安装配置OpenStack
3、继续支持作为虚拟机的Xen技术,但不再支持作为寄主机的Xen技术
4、加强了对VMWARE的技术支持,自带open-vm-tools替换vm-tools
5、RHEL 7 容器型(单独运行空间,有独立的进程列表、网络、文件系统、其他应用等。)虚拟化:支持最热的技术Docker
系统及服务管理程序修改为Systemd
防火墙命令变为firewalld
服务控制相关命令变为systemctl
控制服务和守护进程:
systemd简介:
系统服务和服务器进程由systemd系统和服务管理器进行管理
功能:
1、并行化功能,提高系统的启动速度
2、按需启动守护进程,而不需要单独的服务
3、自动服务依赖关系管理,可以防止时间超时(例如:网络不可用时不启动网络服务)
systemctl命令用于管理各种类型的systemd对象(也叫单元)。
[root@xiao~]# systemctl -t help //查看systemd对象
[root@xiao~]# systemctl //查询所有对象的状态
[root@xiao~]# systemctl --type=service //仅查询服务对象的状态
[root@xiao ~]# systemctl status sshd //查询指定服务的状态,如 SSH
[root@xiao ~]# systemctl is-active sshd //查看服务是不是正在运行
[root@xiao ~]# systemctl is-enabled sshd //查看服务是不是设置为了开机启动
[root@xiao ~]# systemctl enable sshd //设置服务开机自动运行
[root@xiao ~]# systemctl disable sshd //设置服务开机不自动启动
[root@xiao ~]# systemctl start | stop | restart sshd 启动、关闭、重启服务
权限掩码:
当我们登录系统之后创建一个文件总是有一个默认权限的,是因为umask设置了用户创建文件的默认权限.
umask设置的是权限"补码",而chmod设置的是文件权限码。
总结:通过权限掩码为文件和目录设置默认权限。
例如:
目录:
[root@xiao ~]# umask 777
[root@xiao ~]# umask
0777
[root@xiao ~]# mkdir /hehe
[root@xiao ~]# ll -d /hehe/
d---------. 2 root root 6 Jul 2 23:00 /hehe/
[root@xiao ~]# umask 000
[root@xiao ~]# mkdir /haha
[root@xiao ~]# ll -d /haha/
drwxrwxrwx. 2 root root 6 Jul 2 23:02 /haha/
文件:
[root@xiao ~]# umask 666
[root@xiao ~]# mkdir /xixi
[root@xiao ~]# ll -d /xixi/
d--x--x--x. 2 root root 6 Jul 2 23:04 /xixi/
[root@xiao ~]# touch /xixi/1.txt
[root@xiao ~]# ll -l /xixi/
----------. 1 root root 0 Jul 2 23:06 1.txt
[root@xiao ~]# umask 444
[root@xiao ~]# touch /xixi/2.txt
[root@xiao ~]# ll -l /xixi/
----------. 1 root root 0 Jul 2 23:07 1.txt
--w--w--w-. 1 root root 0 Jul 2 23:07 2.txt
方法:
umask是从权限中"拿走"相应的位。
注意:
对于文件来说,这个数字的最大值分别是6(原因文件创建时不能赋予执行权限)。
对于目录来说,这个数字的最大值分别是7。
调整服务优先级:
nice命令用来设置优先级,优先级的数值为-20~19,其中数值越小优先级越高,数值越大优先级越低,
-20的优先级最高,19的优先级最低。
需要注意的是普通用户只能在0~19之间调整应用程序的优先权值,只有超级用户有权调整更高的优先权值(从-20~19)。
当调整之后的优先级小于-20时,以优先级-20来运行;当调整之后的优先级大于19时,以优先级19来运行
[root@xiao ~]# nice -n 5 httpd
如果不指定值。默认优先级为0
[root@xiao ~]# nice httpd
文件和目录的特殊权限:
设置特殊权限命令:chmod
1、Set位权限
1) suid(用户Set位权限)
作用:拥有与所有者一样的权限(以拥有文件的用户身份,而不是以运行文件的用户身份执行文件)
用S表示:S(大):表示有r或w权限;s(小): 表示有x权限。
例如:chmod u+s file.txt
2) sgid(组Set位权限)
作用:拥有与所有者一样的权限(以拥有文件的组身份,而不是以运行文件的组份执行文件)
用S表示:S(大):表示有r或w权限;s(小): 表示有x权限。
例如:chmod g+s file.txt
2、粘滞位权限
作用:仅文件的所有者(和root)可以删除目录中的文件
总结:针对目录,防删除目录中的文件。
用T表示:T(大):表示有r或w权限;t(小): 表示有x权限。
3、facl访问控制列表
命令:
getfacl:查询
setfacl:设置
命令格式:
setfacl -m u/g:hehe:rwx /dir
| | | |
设置 用户 权限 目录
setfacl 参数
-m:设置后续acl参数
-x:删除后续acl参数
-b:删除全部的acl参数
-k:删除默认的acl参数
-R:递归设置acl,包括子目录
-d:设置默认acl
selinux设置:
SELinux是一个额外的系统安全层,目的是防止已遭泄露的系统服务访问用户数据。
基于用户/组/权限的安全模型称为自由决定的访问控制
基于对象并更加复杂的规则控制称为强制访问控制
要允许远程匿名访问WEB服务器。必须打开防火墙端口,恶意人员则有机会通过安全漏洞***系统,继而取得用户和组的权限。
而SELinux是用于确定哪个进程可以访问那些文件、目录和端口的一组安全规则,
每个文件、进程和端口都具有特别的安全标签,称为SELinux上下文(是一个名称)。
SELinux策略使用上下文来确定某个进程能否访问文件、目录或端口,除非规则授予访问权限。
SELinux标签具有多种上下文:用户、角色、类型(和敏感度)。
目标策略会根据第三个上下文(即类型上下文)来制定自己的规则。类型上下文的名称通常以_t结尾。
1)system_u 指的是SElinux用户,root表示root账户身份,user_u表示普通用户无特权用户,system_u表示系统进程,通过用户可以确认身份类型,一般搭配角色使用。身份和不同的角色搭配时有权限不同,虽然可以使用su命令切换用户但对于SElinux的用户并没有发生改变,账户之间切换时此用户身份不变,在targeted策略环境下用户标识没有实质性作用。
2)object_r 一般为文件目录的角色、system_r一般为进程的角色,在targeted策略环境中用户的角色一般为system_r。用户的角色类似用户组的概念,不同的角色具有不同的身份权限,一个用户可以具备多个角色,但是同一时间只能使用一个角色。在targeted策略环境下角色没有实质作用,在targeted策略环境中所有的进程文件的角色都是system_r角色。
3)type 文件和进程都有一个类型,SElinux依据类型的相关组合来限制存取权限。
4)s0:[MLS、MCS]:MCS负责对同类进程进行彼此区分,而MLS则允许一种进程拥有指向另一种进程的支配权限。(也就是说:MLS与MCS非常相似,但它为强制机制添加了"支配"这一概念。MCS标签必须在完全匹配的情况下才能通过,但一条MLS标签可以支配另一条MLS标签从而获得访问许可。)
例如:
httpd_sys_content_t //文件和目录的类型上下文
httpd_port_t //端口的类型上下文
tmp_t //位于/tmp中的文件和目录的类型上下文。
1、查看安全上下文:
[root@yuan ~]# id //可以查看用户的上下文
[root@yuan ~]# ls -dZ /var/www/html/
[root@yuan ~]# ls -dZ /tmp
[root@yuan ~]# ps -axZ
[root@yuan ~]# ps -ZC httpd
2、查看并设置SELinux模式
enforcing //强制模式
permissive //许可模式
disabled //禁用模式
[root@yuan ~]# sestatus -v //查看SELinux状态
1)临时设置
[root@yuan ~]# getenforce
[root@yuan ~]# setenforce 0/1
注:
0 代表permissive(许可模式)
1 代表enforcing(强制模式)
2)永久设置
[root@yuan ~]# vim /etc/selinux/config
修改
SELINUX=enforcing|permissive|disabled
[root@yuan ~]# reboot //重启生效
3、修改SELinux上下文
1)使用chcon命令
[root@yuan ~]#mkdir /www
[root@yuan ~]#ls -dZ /www //查看默认的类型上下文
[root@yuan ~]# chcon -t httpd_sys_content_t /www/
[root@yuan ~]# ls -dZ /www/
注意:
子级文件和目录会继承父级目录的上下文
使用chcon设置后,系统重启之后,将会还原为默认的上下文
2)使用restorecon命令
[root@yuan ~]# restorecon -v /www/ //查看默认上下文
[root@yuan ~]# restorecon /www/ //使用此命令来设置默认上下文
[root@yuan ~]# ls -dZ /www/
3)
[root@yuan ~]#mkdir /www
[root@yuan ~]#touch /www/1.txt
[root@yuan ~]#touch /www/2.txt
[root@yuan ~]#ll -Z /www/
[root@yuan ~]#mv /www/* /var/www/html/
[root@yuan ~]#ls -Z /var/www/html/
[root@yuan ~]#ls -dZ /var/www/html/
[root@yuan ~]#semanage fcontext -l
[root@yuan ~]#semanage fcontext -l | grep "/var/www/html"
[root@yuan ~]#restorecon -Rv /var/www/html/ //设置上下文
[root@yuan ~]# semanage fcontext -a -t httpd_sys_content_t '/www/html(/.*)?' //通过正则表达式匹配。
4、修改SELinux布尔值
SELinux布尔值是更改SELinux策略行为的开关,SELinux布尔值通过启用和禁用规则,来调整策略。
1)查看布尔值
[root@yuan ~]#getsebool -a
[root@yuan ~]#getsebool -a | grep "ftpd"
2)设置布尔值
[root@yuan ~]#setsebool ftpd_anon_write on //临时生效
[root@yuan ~]#setsebool -P allow_ftpd_anon_write=1 //永久生效
例:
安装SELINUX的工具包
[root@yuan ~]# rpm -ivh /media/policycoreutils-newrole-1.33.12-14.8.el5.i386.rpm
以搭建vsftpd服务器为例,使用selinux。
[root@yuan ~]# rpm -ivh /media/vsftpd-2.0.5-16.el5_4.1.i386.rpm
[root@yuan ~]# vim /etc/vsftpd/vsftpd.conf
[root@yuan ~]# service vsftpd restart
[root@yuan ~]# chmod 777 pub/
[root@yuan ~]# getsebool -a | grep ftp
[root@yuan ~]# setsebool -P allow_ftpd_anon_write=1
[root@yuan ~]# chcon -t public_content_rw_t /var/ftp/pub/
centos7图形配置:
1、图形配置IP : nmtui
2、图形配置防火墙 : firewall-config
3、查看SElinux安全上下文
semanage fcontext -l
semanage fcontext -l | grep httpd_sys
semanage fcontext -l | grep httpd_sys_con
centos7的基本使用
原文:http://blog.51cto.com/liyuanjie/2135268