1. 程式人生 > >centos7的基本使用

centos7的基本使用

同一時間 pre 目標 sel selinux。 uid mas doc 正則

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的基本使用