Linux應(yīng)用基礎(chǔ)教程(基于CentOS 7)課件 第03章 多用戶(hù)與多任務(wù)管理_第1頁(yè)
Linux應(yīng)用基礎(chǔ)教程(基于CentOS 7)課件 第03章 多用戶(hù)與多任務(wù)管理_第2頁(yè)
Linux應(yīng)用基礎(chǔ)教程(基于CentOS 7)課件 第03章 多用戶(hù)與多任務(wù)管理_第3頁(yè)
Linux應(yīng)用基礎(chǔ)教程(基于CentOS 7)課件 第03章 多用戶(hù)與多任務(wù)管理_第4頁(yè)
Linux應(yīng)用基礎(chǔ)教程(基于CentOS 7)課件 第03章 多用戶(hù)與多任務(wù)管理_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章

多用戶(hù)與多任務(wù)管理本章內(nèi)容要點(diǎn)賬戶(hù)實(shí)質(zhì)賬戶(hù)文件賬戶(hù)設(shè)置口令管理權(quán)限表示權(quán)限設(shè)置進(jìn)程概述進(jìn)程管理作業(yè)控制2024年5月29日2CreativeCommonsLicense(BY-NC-SA)本章學(xué)習(xí)目標(biāo)熟悉賬戶(hù)配置文件學(xué)會(huì)設(shè)置和管理口令理解Linux系統(tǒng)的權(quán)限掌握設(shè)置基本操作權(quán)限學(xué)會(huì)設(shè)置特殊權(quán)限學(xué)會(huì)設(shè)置ext2/3/4的文件擴(kuò)展屬性學(xué)會(huì)設(shè)置FACL權(quán)限理解進(jìn)程相關(guān)概念掌握如何運(yùn)行后臺(tái)進(jìn)程及注銷(xiāo)后繼續(xù)執(zhí)行掌握進(jìn)程管理命令的使用掌握作業(yè)控制的命令及快捷鍵的使用2024年5月29日3CreativeCommonsLicense(BY-NC-SA)賬戶(hù)管理的相關(guān)概念2024年5月29日4CreativeCommonsLicense(BY-NC-SA)賬戶(hù)實(shí)質(zhì)賬戶(hù)實(shí)質(zhì)上就是一個(gè)用戶(hù)在系統(tǒng)上的標(biāo)識(shí)系統(tǒng)依據(jù)賬戶(hù)來(lái)區(qū)分每個(gè)用戶(hù)的文件、進(jìn)程、任務(wù),給每個(gè)用戶(hù)提供特定的工作環(huán)境(如用戶(hù)的工作目錄、shell版本、以及X-Window環(huán)境的配置等),使每個(gè)用戶(hù)的工作都能獨(dú)立不受干擾地進(jìn)行。Linux中的賬戶(hù)包括用戶(hù)賬戶(hù)組賬戶(hù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)5用戶(hù)Linux系統(tǒng)下的用戶(hù)賬戶(hù)(簡(jiǎn)稱(chēng)用戶(hù))有兩種普通用戶(hù)賬戶(hù):在系統(tǒng)上的任務(wù)是進(jìn)行普通工作超級(jí)用戶(hù)賬戶(hù)(或管理員賬戶(hù)):在系統(tǒng)上的任務(wù)是對(duì)普通用戶(hù)和整個(gè)系統(tǒng)進(jìn)行管理。每個(gè)用戶(hù)都被分配了一個(gè)唯一的用戶(hù)ID號(hào)(UID)超級(jí)用戶(hù):UID=0,GID=0普通用戶(hù):UID>=1000系統(tǒng)用戶(hù)(偽用戶(hù),不可登錄):0<UID<10002024年5月29日CreativeCommonsLicense(BY-NC-SA)6用戶(hù)(續(xù))用戶(hù)名和UID被保存在/etc/passwd這個(gè)文件中當(dāng)用戶(hù)登錄時(shí),他們被分配了一個(gè)主目錄和一個(gè)運(yùn)行的程序(通常是shell)若無(wú)適當(dāng)權(quán)限,用戶(hù)無(wú)法讀取、寫(xiě)入或執(zhí)行彼此的文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)7組組是用戶(hù)的集合。每個(gè)組都被分配了一個(gè)唯一的組ID號(hào)(GID)組和GID被保存在/etc/group文件中每個(gè)用戶(hù)都有他們自己的私有組每個(gè)用戶(hù)都可以被添加到其他組中來(lái)獲得額外的存取權(quán)限組中的所有用戶(hù)都可以共享屬于該組的文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)8標(biāo)準(zhǔn)組和私有組標(biāo)準(zhǔn)組標(biāo)準(zhǔn)組可以容納多個(gè)用戶(hù)若使用標(biāo)準(zhǔn)組,在創(chuàng)建一個(gè)新的用戶(hù)時(shí)就應(yīng)該指定他所屬于的組私有組私有組中只有用戶(hù)自己當(dāng)在創(chuàng)建一個(gè)新用戶(hù)時(shí),若沒(méi)有指定他所屬于的組,RHEL/CentOS就建立一個(gè)和該用戶(hù)同名的私有組,且用戶(hù)被分配到這個(gè)私有組中優(yōu)點(diǎn):防止新文件歸“公共”組所有缺點(diǎn):可能會(huì)鼓勵(lì)創(chuàng)建“任何人都可以訪(fǎng)問(wèn)”的文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)9用戶(hù)和組的關(guān)系組是用戶(hù)的集合。一個(gè)標(biāo)準(zhǔn)組可以容納多個(gè)用戶(hù)。同一個(gè)用戶(hù)可以同屬于多個(gè)組,這些組可以是私有組,也可以是標(biāo)準(zhǔn)組。當(dāng)一個(gè)用戶(hù)同屬于多個(gè)組時(shí),將這些組分為:主組(初始組):用戶(hù)登錄系統(tǒng)時(shí)的組。附加組:登錄后可切換的其他組。2024年5月29日CreativeCommonsLicense(BY-NC-SA)10RedHat的賬戶(hù)管理

默認(rèn)啟用shadowpasswords功能。/etc/passwd文件對(duì)任何用戶(hù)均可讀,為了增加系統(tǒng)的安全性,用戶(hù)的口令通常用shadowpasswords保護(hù)。經(jīng)過(guò)shadowpasswords保護(hù)的賬戶(hù)密碼和相關(guān)設(shè)置信息保存在/etc/shadow文件里。/etc/shadow只對(duì)root用戶(hù)可讀。默認(rèn)使用sha512哈希算法存儲(chǔ)用戶(hù)的口令。一般不設(shè)置組口令。因?yàn)榻^大多數(shù)應(yīng)用程序不使用它。建議盡量使用私有組來(lái)提高系統(tǒng)安全性。管理工具由shadow-utils軟件包提供。不建議管理員直接編輯修改系統(tǒng)賬戶(hù)文件來(lái)維護(hù)賬戶(hù)。2024年5月29日CreativeCommonsLicense(BY-NC-SA)11賬戶(hù)驗(yàn)證信息文件口令文件/etc/passwd文件權(quán)限(-rw-r--r--)影子口令文件/etc/shadow文件權(quán)限(-r--------)組賬號(hào)文件/etc/group文件權(quán)限(-rw-r--r--)組口令文件/etc/gshadow文件權(quán)限(-r--------)2024年5月29日CreativeCommonsLicense(BY-NC-SA)12口令文件/etc/passwd每一個(gè)用戶(hù)一條記錄每條記錄由用分號(hào)間隔的七個(gè)字段組成。2024年5月29日CreativeCommonsLicense(BY-NC-SA)13字段說(shuō)明name用戶(hù)名password在此文件中的口令是X,這表示用戶(hù)的口令是被/etc/shadow文件保護(hù)的uid用戶(hù)的識(shí)別號(hào),是一個(gè)數(shù)字。每個(gè)用戶(hù)的UID都是唯一的gid用戶(hù)的組的識(shí)別號(hào),也是一個(gè)數(shù)字。每個(gè)用戶(hù)賬戶(hù)在建立好后都會(huì)有一個(gè)主組。主組相同的賬戶(hù)其GID相同。description用戶(hù)的個(gè)人資料,包括地址、電話(huà)等信息home用戶(hù)的主目錄,通常在/home下,目錄名和賬戶(hù)名相同shell用戶(hù)登錄后啟動(dòng)的shell,默認(rèn)是/bin/bash影子口令文件/etc/shadow每一個(gè)用戶(hù)一條記錄每條記錄由用分號(hào)間隔的九個(gè)字段組成。2024年5月29日CreativeCommonsLicense(BY-NC-SA)14字段說(shuō)明用戶(hù)名用戶(hù)登錄名口令用戶(hù)的密碼,是加密過(guò)的(MD5)最后一次修改的時(shí)間從1970年1月1日起,到用戶(hù)最后一次更改密碼的天數(shù)最小時(shí)間間隔從1970年1月1日起,到用戶(hù)應(yīng)該更改密碼的天數(shù)最大時(shí)間間隔從1970年1月1日起,到用戶(hù)必須更改密碼的天數(shù)警告時(shí)間在用戶(hù)密碼過(guò)期之前多少天提醒用戶(hù)更新不活動(dòng)時(shí)間在用戶(hù)密碼過(guò)期之后到禁用賬戶(hù)的天數(shù)失效時(shí)間從1970年1月1日起,到賬戶(hù)被禁用的天數(shù)標(biāo)志保留位組賬號(hào)文件/etc/group每一個(gè)組一條記錄每條記錄由用分號(hào)間隔的四個(gè)字段組成2024年5月29日CreativeCommonsLicense(BY-NC-SA)15字段說(shuō)明組名這是用戶(hù)登錄系統(tǒng)時(shí)的默認(rèn)組名,它在系統(tǒng)中是唯一的口令組口令,由于安全性原因,已不使用該字段保存口令,用“x”占位組ID是一個(gè)整數(shù),系統(tǒng)內(nèi)部用它來(lái)標(biāo)識(shí)組組內(nèi)用戶(hù)列表屬于該組的所有用戶(hù)名表,列表中多個(gè)用戶(hù)間用“,”分隔組口令文件/etc/gshadow每一個(gè)組一條記錄每條記錄由用分號(hào)間隔的四個(gè)字段組成。2024年5月29日CreativeCommonsLicense(BY-NC-SA)16字段說(shuō)明組名組名稱(chēng),該字段與group文件中的組名稱(chēng)對(duì)應(yīng)加密的組口令用于保存已加密的口令組的管理員賬號(hào)管理員有權(quán)對(duì)該組添加刪除賬號(hào)組內(nèi)用戶(hù)列表屬于該組的用戶(hù)成員列表,列表中多個(gè)用戶(hù)間用“,”分隔驗(yàn)證賬號(hào)文件的一致性RedHat不建議管理員直接編輯修改系統(tǒng)賬戶(hù)文件來(lái)維護(hù)賬戶(hù)。若用戶(hù)直接編輯了賬戶(hù)文件,建議使用賬號(hào)文件的一致性檢測(cè)命令。pwck驗(yàn)證用戶(hù)賬號(hào)文件,認(rèn)證信息的完整性。該命令檢測(cè)文件“/etc/passwd”和“/etc/shadow”的每行中字段的格式和值是否正確。grpck驗(yàn)證組賬號(hào)文件,認(rèn)證信息的完整性。該命令檢測(cè)文件“/etc/group”和“/etc/gshadow”的每行中字段的格式和值是否正確。2024年5月29日CreativeCommonsLicense(BY-NC-SA)17用戶(hù)默認(rèn)環(huán)境配置及模板用戶(hù)默認(rèn)配置文件/etc/login.defs/etc/default/useradd新用戶(hù)基本信息/etc/skel如果手工創(chuàng)建用戶(hù),則需復(fù)制該目錄到用戶(hù)主目錄2024年5月29日CreativeCommonsLicense(BY-NC-SA)18用戶(hù)和組管理工具2024年5月29日19CreativeCommonsLicense(BY-NC-SA)用戶(hù)和組管理工具用戶(hù)管理useraddusermoduserdel組管理groupaddgroupmodgroupdel2024年5月29日CreativeCommonsLicense(BY-NC-SA)20添加用戶(hù)賬號(hào)(useradd)格式:#useradd[<選項(xiàng)>]<用戶(hù)名>常用選項(xiàng)2024年5月29日CreativeCommonsLicense(BY-NC-SA)21-ggroup指定新用戶(hù)的主(私有)組。-Ggroup指定新用戶(hù)的附加組。-ddirectory指定新用戶(hù)的自家目錄。-sshell指定新用戶(hù)使用的Shell,默認(rèn)為bash。-eexpire指定用戶(hù)的登錄失效時(shí)間,例如:08/10/2001-M不建立新用戶(hù)的自家目錄。useradd命令添加用戶(hù)的過(guò)程編輯賬戶(hù)驗(yàn)證信息文件/etc/passwd,/etc/shadow/etc/group,/etc/gshadow創(chuàng)建主目錄/home/<username>根據(jù)骨架目錄(SkeletonDirectory)/etc/skel/的內(nèi)容填充用戶(hù)主目錄設(shè)置權(quán)限和擁有者2024年5月29日CreativeCommonsLicense(BY-NC-SA)22設(shè)置用戶(hù)口令命令格式passwd

[<用戶(hù)賬號(hào)名>]使用舉例設(shè)置用戶(hù)自己的口令$

passwd#

passwdroot用戶(hù)設(shè)置他人的口令#passwduser12024年5月29日CreativeCommonsLicense(BY-NC-SA)23添加用戶(hù)賬號(hào)舉例例一:#useradd-ggroup1-e12/31/2011user1#passwduser1例二:#useradd-Gstafftom#passwdtom例三:#useradd-Gftpgrp-d/var/ftp2-s/sbin/nologin-Mftp1#passwdftp12024年5月29日CreativeCommonsLicense(BY-NC-SA)24useradd命令參數(shù)的默認(rèn)值顯示useradd命令參數(shù)的默認(rèn)值useradd-D從文件/etc/default/useradd中讀取更改useradd命令參數(shù)的默認(rèn)值格式#useradd-D[-ggroup][-bbase][-sshell][-eexpire]舉例#useradd-D-s/bin/ksh2024年5月29日CreativeCommonsLicense(BY-NC-SA)25修改用戶(hù)賬號(hào)(usermod)格式:#usermod[<選項(xiàng)>]<用戶(hù)名>選項(xiàng)與useradd命令基本相同舉例:#

usermod

-luser2

user1#usermod-Gsoftgroupjjh#usermod

-L

user1#usermod

-U

user12024年5月29日CreativeCommonsLicense(BY-NC-SA)26刪除用戶(hù)賬號(hào)(userdel)格式:#userdel[<-r>]<用戶(hù)名>選項(xiàng)-r用于刪除用戶(hù)的宿主目錄舉例:#

userdelftp1

#userdel–ruser12024年5月29日CreativeCommonsLicense(BY-NC-SA)27添加組賬號(hào)(groupadd)格式#groupadd

[<參數(shù)>]<組賬號(hào)名>常用參數(shù)參數(shù)-r用于創(chuàng)建系統(tǒng)組賬號(hào)(GID小于500)參數(shù)-g用于指定GID舉例#groupadd

mygroup#

groupadd

-r

sysgroup#groupadd-g888group22024年5月29日CreativeCommonsLicense(BY-NC-SA)28修改組賬號(hào)(groupmod)格式#groupmod

[<參數(shù)>]<組賬號(hào)名>常用參數(shù)參數(shù)-g改變組賬號(hào)的GID,組賬號(hào)名保持不變。參數(shù)-n改變組賬號(hào)名

。舉例#

groupmod

-g

503

mygroup#groupmod–nnewgroup

mygroup

2024年5月29日CreativeCommonsLicense(BY-NC-SA)29刪除組賬號(hào)(groupdel)格式#groupdel

<組賬號(hào)名>舉例#

groupdel

mygroup注意被刪除的組賬號(hào)必須存在當(dāng)有用戶(hù)使用組賬號(hào)作為私有組時(shí)不能刪除與用戶(hù)名同名的私有組賬號(hào)在使用userdel命令刪除用戶(hù)時(shí)被同時(shí)刪除,無(wú)需使用groupdel命令2024年5月29日CreativeCommonsLicense(BY-NC-SA)30組成員管理向標(biāo)準(zhǔn)組中添加用戶(hù)gpasswd-a<用戶(hù)賬號(hào)名><組賬號(hào)名>#gpasswd-auser1staffusermod-G<組賬號(hào)名><用戶(hù)賬號(hào)名>#usermod-Gstaffuser1從標(biāo)準(zhǔn)組中刪除用戶(hù)gpasswd-d<用戶(hù)賬號(hào)名><組賬號(hào)名>#gpasswd-duser1staff2024年5月29日CreativeCommonsLicense(BY-NC-SA)31批量用戶(hù)管理2024年5月29日32CreativeCommonsLicense(BY-NC-SA)批量用戶(hù)管理工具成批添加/更新一組賬戶(hù)newusers成批更新用戶(hù)的口令chpasswd批量生成安全的口令pwgensecpwgen(由RPMForge倉(cāng)庫(kù)提供)2024年5月29日CreativeCommonsLicense(BY-NC-SA)33newusers命令格式newusers<filename>filename的格式與/etc/passwd一致舉例#viuserfile.txt#catuserfile.txtuser1:x:1001:1001::/home/user1:/bin/bashuser2:x:1002:1002::/home/user2:/bin/bashftpuser1:x:2001:2001::/home/ftpuser1:/sbin/nologinftpuser2:x:2002:2002::/home/ftpuser2:/sbin/nologin#newusersuserfile.txt2024年5月29日CreativeCommonsLicense(BY-NC-SA)34chpasswd命令格式chpasswd

<<filename>filename每一行的格式:username:passwordusername必須是系統(tǒng)上已存在的用戶(hù)舉例#viuserpwdfile.txt;chmod600userpwdfile.txt#catuserpwdfile.txtuser1:123456user2:passwdftpuser1:123qazftpuser2:xsw321#chpasswd<userpwdfile.txt2024年5月29日CreativeCommonsLicense(BY-NC-SA)35pwgen命令格式pwgen[選項(xiàng)][口令長(zhǎng)度][口令個(gè)數(shù)]默認(rèn)的口令長(zhǎng)度為8默認(rèn)生成的口令個(gè)數(shù)為8*20選項(xiàng)-c:至少包含一個(gè)大寫(xiě)字母-n:至少包含一個(gè)數(shù)字-y:至少包含一個(gè)非字母和數(shù)字的特殊字符-s:生成完全隨機(jī)的安全口令-1:每行顯示一個(gè)口令2024年5月29日CreativeCommonsLicense(BY-NC-SA)36pwgen命令舉例#pwgen#pwgen820#pwgen-1820#pwgen-y#pwgen-sy#pwgen-ns10#pwgen-nsy1220#pwgen-nsy112202024年5月29日CreativeCommonsLicense(BY-NC-SA)37使用pwgen命令生成

chpasswd命令所需的口令文件#catuserfile.txtuser1:x:1001:1001::/home/user1:/bin/bashuser2:x:1002:1002::/home/user2:/bin/bashftpuser1:x:2001:2001::/home/ftpuser1:/sbin/nologinftpuser2:x:2002:2002::/home/ftpuser2:/sbin/nologin#cut-d\:-f1userfile.txt>pwdtemp1#pwgen-cn18$(wc-l<userfile.txt)>pwdtemp2#paste-d\:pwdtemp1pwdtemp2>userpwdfile.txt#chmod600userpwdfile.txt;rm-fpwdtemp{1,2}#chpasswd<userpwdfile.txt2024年5月29日CreativeCommonsLicense(BY-NC-SA)38口令維護(hù)和口令時(shí)效2024年5月29日39CreativeCommonsLicense(BY-NC-SA)口令維護(hù)

——禁用、恢復(fù)和刪除用戶(hù)口令禁用用戶(hù)賬戶(hù)口令#passwd-l<用戶(hù)賬號(hào)名>查看用戶(hù)賬戶(hù)口令狀態(tài)#passwd-S<用戶(hù)賬號(hào)名>恢復(fù)用戶(hù)賬戶(hù)口令#passwd-u<用戶(hù)賬號(hào)名>清除用戶(hù)賬戶(hù)口令#passwd-d<用戶(hù)賬號(hào)名>2024年5月29日CreativeCommonsLicense(BY-NC-SA)40口令時(shí)效口令時(shí)效是系統(tǒng)管理員用來(lái)防止機(jī)構(gòu)內(nèi)不良口令的一種技術(shù)。防止口令被攻擊的方法就是要經(jīng)常地改變口令。強(qiáng)制用戶(hù)在一段時(shí)間之后更改口令的機(jī)制稱(chēng)為口令時(shí)效。在默認(rèn)狀況下,口令不會(huì)過(guò)期強(qiáng)制口令失效是強(qiáng)大安全策略的一部分2024年5月29日CreativeCommonsLicense(BY-NC-SA)41設(shè)置新添用戶(hù)的口令時(shí)效修改/etc/login.defs的相關(guān)配置參數(shù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)42PASS_MAX_DAYS設(shè)定在多少天后要求用戶(hù)修改口令。默認(rèn)口令時(shí)效的天數(shù)為99999,即關(guān)閉了口令時(shí)效。明智的設(shè)定一般是60天(2個(gè)月)強(qiáng)制更改一次口令。PASS_MIN_DAYS設(shè)定在本次口令修改后,至少要經(jīng)過(guò)多少天后才允許更改口令。PASS_MIN_LEN設(shè)定口令的最小字符數(shù)。PASS_WARN_AGE設(shè)定在口令失效前多少天開(kāi)始通知用戶(hù)更改口令(一般在用戶(hù)剛剛登錄系統(tǒng)時(shí)就會(huì)收到警告通知)。設(shè)置已存在用戶(hù)的口令時(shí)效chage命令chage[選項(xiàng)][用戶(hù)登錄名]舉例查看用戶(hù)jason當(dāng)前的口令時(shí)效信息#chage-ljason使用戶(hù)jason下次登錄之后修改口令#chage-d0jason用戶(hù)jason兩天內(nèi)不能更改口令,且口令最長(zhǎng)的存活期為30天,并在口令過(guò)期前5天通知用戶(hù)#chage-m2-M30-W5jason2024年5月29日CreativeCommonsLicense(BY-NC-SA)43用戶(hù)切換命令su直接切換為超級(jí)用戶(hù)普通用戶(hù)要切換為超級(jí)用戶(hù)必須知道超級(jí)用戶(hù)的口令適用于系統(tǒng)中只有單個(gè)系統(tǒng)管理員的情況sudo直接使用sudo命令前綴執(zhí)行系統(tǒng)管理命令執(zhí)行系統(tǒng)管理命令時(shí)無(wú)需知道超級(jí)用戶(hù)的口令,使用普通用戶(hù)自己的口令即可由于執(zhí)行系統(tǒng)管理命令時(shí)無(wú)需知曉超級(jí)用戶(hù)口令,所以適用于系統(tǒng)中有多個(gè)系統(tǒng)管理員的情況,因?yàn)檫@樣不會(huì)泄露超級(jí)用戶(hù)口令。當(dāng)然系統(tǒng)只有單個(gè)系統(tǒng)管理員時(shí)也可以使用。2024年5月29日CreativeCommonsLicense(BY-NC-SA)44賬戶(hù)相關(guān)命令2024年5月29日CreativeCommonsLicense(BY-NC-SA)45id顯示用戶(hù)當(dāng)前的uid、gid和用戶(hù)所屬的組列表groups顯示指定用戶(hù)所屬的組列表whoami

顯示當(dāng)前用戶(hù)的名稱(chēng)w/who顯示登錄用戶(hù)及相關(guān)信息newgrp用于轉(zhuǎn)換用戶(hù)的當(dāng)前組到指定的組賬號(hào),用戶(hù)必須屬于該組才可以正確執(zhí)行該命令文件和目錄的基本權(quán)限2024年5月29日46CreativeCommonsLicense(BY-NC-SA)權(quán)限概述Linux是多用戶(hù)的操作系統(tǒng),允許多個(gè)用戶(hù)同時(shí)在系統(tǒng)上登錄和工作。為了確保系統(tǒng)和用戶(hù)的安全采取了如下安全措施通過(guò)UID/GID確定每個(gè)用戶(hù)在登錄系統(tǒng)后都做了些什么通過(guò)UID/GID來(lái)區(qū)別不同用戶(hù)所建立的文件或目錄每個(gè)文件或目錄都屬于一個(gè)UID和一個(gè)GID每個(gè)進(jìn)程都使用一個(gè)UID和一個(gè)或多個(gè)GID來(lái)運(yùn)行通常由被運(yùn)行進(jìn)程的用戶(hù)決定超級(jí)用戶(hù)具有一切權(quán)限,無(wú)需特殊說(shuō)明普通用戶(hù)只能不受限制的操作主目錄及其子目錄下的所有文件,對(duì)系統(tǒng)中其他目錄/文件的訪(fǎng)問(wèn)受到限制2024年5月29日CreativeCommonsLicense(BY-NC-SA)47三種基本權(quán)限權(quán)限描述字符對(duì)文件的含義對(duì)目錄的含義讀權(quán)限r(nóng)可以讀取文件的內(nèi)容可以列出目錄中的文件列表寫(xiě)權(quán)限w可以修改或刪除文件可以在該目錄中創(chuàng)建或刪除文件或子目錄執(zhí)行權(quán)限x可以執(zhí)行該文件可以使用cd命令進(jìn)入該目錄2024年5月29日CreativeCommonsLicense(BY-NC-SA)48三種基本權(quán)限(續(xù))目錄上只有執(zhí)行權(quán)限,表示可以進(jìn)入或穿越他進(jìn)入更深層次的子目錄目錄上只有執(zhí)行權(quán)限,要訪(fǎng)問(wèn)該目錄下的有讀權(quán)限的文件,必須知道文件名才可以訪(fǎng)問(wèn)目錄上只有執(zhí)行權(quán)限,不能列出目錄列表也不能刪除該目錄目錄上執(zhí)行權(quán)限和讀權(quán)限的組合,表示可以進(jìn)入目錄并列出目錄列表目錄上執(zhí)行權(quán)限和寫(xiě)權(quán)限的組合,表示可以在目錄中創(chuàng)建、刪除和重命名文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)49分配三種基本權(quán)限文件和目錄的使用者屬主、同組人、其他人權(quán)限分配屬主的權(quán)限:用于限制文件或目錄的創(chuàng)建者屬組的權(quán)限:用于限制文件或目錄所屬組的成員其他用戶(hù)的權(quán)限:用于限制既不是屬主又不是所屬組的能訪(fǎng)問(wèn)該文件或目錄的其他人員權(quán)限的優(yōu)先順序如果UID匹配,就應(yīng)用用戶(hù)屬主(user)權(quán)限否則,如果GID匹配,就應(yīng)用組(group)權(quán)限如果都不匹配,就應(yīng)用其它用戶(hù)(other)權(quán)限2024年5月29日CreativeCommonsLicense(BY-NC-SA)50查看文件/目錄的權(quán)限通過(guò)給三類(lèi)用戶(hù)分配三種基本權(quán)限,就產(chǎn)生了文件或目錄的9個(gè)基本權(quán)限位2024年5月29日CreativeCommonsLicense(BY-NC-SA)51[osmond@soho~]$ls-l總計(jì)12-rw-rw-r--1osmondfamily006-1620:43abcdrwxr-xr-x2osmondfamily409606-1620:43docs-rw-rw-r--1osmondosmond115506-1620:44mylist.txtdrwxr-xr-x3osmondosmond409605-1613:32nobp文件類(lèi)型文件權(quán)限硬鏈接數(shù)或目錄包含的文件數(shù)文件所有者文件所有者所在的用戶(hù)組文件長(zhǎng)度文件上次修改的時(shí)間和日期文件名-表示無(wú)權(quán)限文件/目錄的權(quán)限2024年5月29日CreativeCommonsLicense(BY-NC-SA)52[osmond@soho~]$ls-ldocsdrwxr-xr-x2osmondfamily409606-1620:43docs在顯示的結(jié)果中,第一個(gè)字段的第

2~10

個(gè)字符是用來(lái)表示權(quán)限。

這9個(gè)字符每

3個(gè)一組,組成

3

權(quán)限控制

第一套控制文件所有者的訪(fǎng)問(wèn)權(quán)限

第二套控制所有者所在用戶(hù)組的其他成員的訪(fǎng)問(wèn)權(quán)限

第三套控制系統(tǒng)其他用戶(hù)的訪(fǎng)問(wèn)權(quán)限所有者的權(quán)限同組用戶(hù)權(quán)限其他用戶(hù)權(quán)限文件類(lèi)型常見(jiàn)的權(quán)限字符串及其含義2024年5月29日CreativeCommonsLicense(BY-NC-SA)53字符串八進(jìn)制數(shù)值說(shuō)明-rw-------600只有屬主才有讀取和寫(xiě)入的權(quán)限。-rw-r--r--644只有屬主才有讀取和寫(xiě)入的權(quán)限;同組人和其他人只有讀取的權(quán)限。-rwx------700只有屬主才有讀取、寫(xiě)入、和執(zhí)行的權(quán)限。-rwxr-xr-x755屬主有讀取、寫(xiě)入、和執(zhí)行的權(quán)限;同組人和其他人只有讀取和執(zhí)行的權(quán)限。-rwx--x--x711屬主有讀取、寫(xiě)入、和執(zhí)行權(quán)限;同組人和其他人只有執(zhí)行權(quán)限。-rw-rw-rw-666每個(gè)人都能夠讀取和寫(xiě)入文件。-rwxrwxrwx777每個(gè)人都能夠讀取、寫(xiě)入、和執(zhí)行。drwx------700只有屬主能在目錄中讀取、寫(xiě)入。drwxr-xr-x755每個(gè)人都能夠讀取目錄,但是其中的內(nèi)容卻只能被屬主改變。每個(gè)用戶(hù)都擁有自己的專(zhuān)屬目錄(主目錄),通常放置在/home

目錄下,這些專(zhuān)屬目錄的默認(rèn)權(quán)限通常為

drwx------與權(quán)限相關(guān)的命令chmod改變文件或目錄的權(quán)限chown改變文件或目錄的屬主(所有者)chgrp改變文件或目錄所屬的組umask設(shè)置文件的缺省生成掩碼2024年5月29日CreativeCommonsLicense(BY-NC-SA)54修改文件/目錄的權(quán)限更改已有文件或目錄的訪(fǎng)問(wèn)權(quán)限使用chmod命令chmod命令有兩種設(shè)置方法文字設(shè)定法使用字母和操作符表達(dá)式來(lái)修改或設(shè)定文件的訪(fǎng)問(wèn)權(quán)限chmod[-R]<文字模式>

<文件或目錄名>

數(shù)值設(shè)定法使用八進(jìn)制數(shù)字來(lái)設(shè)定文件的訪(fǎng)問(wèn)權(quán)限chmod[-R]<八進(jìn)制模式>

<文件或目錄名>2024年5月29日CreativeCommonsLicense(BY-NC-SA)55-R選項(xiàng)表示對(duì)目錄中的所有文件或子目錄進(jìn)行遞歸操作chmod的文字設(shè)定法操作對(duì)象操作方法訪(fǎng)問(wèn)權(quán)限u屬主(user)+添加某權(quán)限r(nóng)讀g同組(group)-刪除某權(quán)限w寫(xiě)o其他(others)=直接賦予某權(quán)限并取消其他所有權(quán)限x執(zhí)行a所有(all)-無(wú)權(quán)限2024年5月29日CreativeCommonsLicense(BY-NC-SA)56chmod

[who][+|-|=][permission]

文件或目錄名

操作對(duì)象操作符號(hào)訪(fǎng)問(wèn)權(quán)限在一個(gè)命令行中可給出多個(gè)權(quán)限模式,其間用逗號(hào)間隔chmod的文字設(shè)定法舉例chmodu+rwmyfilechmoda+rx,u+wmyfilechmodu+rwx,g+rx,o+rxmyfilechmoda+rwx,g-w,o-wmyfilechmoda=rwxmyfilechmodgo=rxmyfilechmodu-wx,go-xmyfilechmoda+xmyfile2024年5月29日CreativeCommonsLicense(BY-NC-SA)57chmod的文字設(shè)定法舉例續(xù)chmod+rmyfile

chmoda+rmyfilechmod+xmyfile

chmoda+xmyfile

chmod+wmyfile

chmodu+wmyfile

chmod=rmyfile

chmoda=rmyfilechmod=wmyfile

chmodu=wmyfilechmodo=myfile

chmodo=-myfilechmodu=rw,g=,o=projectschmod-Ru=rwx,go=projects2024年5月29日CreativeCommonsLicense(BY-NC-SA)58chmod的數(shù)字設(shè)定法使用三個(gè)數(shù)字模式來(lái)表示,分別代表用戶(hù)(n1)、同組用戶(hù)(n2)和其它用戶(hù)(n3

)的訪(fǎng)問(wèn)權(quán)限。每個(gè)數(shù)字模式(n1|n2|n3)由不同權(quán)限所對(duì)應(yīng)的數(shù)字相加得到一個(gè)表示訪(fǎng)問(wèn)權(quán)限的八進(jìn)制數(shù)字。2024年5月29日CreativeCommonsLicense(BY-NC-SA)59chmod

n1n2n3

文件或目錄名

權(quán)限對(duì)應(yīng)數(shù)字r4w2x1-0-rw-r--r--drwx--x--xdrwx-------rwxr-xr-x644711700755chmod的數(shù)字設(shè)定法舉例2024年5月29日CreativeCommonsLicense(BY-NC-SA)60chmod750myname.txt設(shè)定文件

myname.txt

的權(quán)限屬性為:-rwxr-x---chmod700mydata/設(shè)定目錄

mydata

的權(quán)限屬性為:drwx------chmod644myname.txt設(shè)定文件

myname.txt

的權(quán)限屬性為:-rw-r--r--改變文件/目錄屬主或組只有root用戶(hù)才能改變文件的所有者只有root用戶(hù)或所有者才能改變文件所屬的組用chown命令改變屬主和/或組chown[-R]<用戶(hù)名[<.|:>組名]><文件|目錄>chgrp被用來(lái)改變所屬組chgrp[-R]<組名><文件|目錄>2024年5月29日CreativeCommonsLicense(BY-NC-SA)61改變屬主或組舉例chownsoftmyfilechgrpsoftgrpmyfilechown.softgrpmyfilechown-Rsoftmydirchgrpsoftgrpmydirchown-R:softgrpmydirchown-Rsoft.softgrpmydir2024年5月29日CreativeCommonsLicense(BY-NC-SA)62設(shè)置生成文件/目錄時(shí)的

默認(rèn)權(quán)限創(chuàng)建新文件或新目錄時(shí),系統(tǒng)都會(huì)為它們指定默認(rèn)的訪(fǎng)問(wèn)權(quán)限,這個(gè)缺省的訪(fǎng)問(wèn)權(quán)限就由umask值來(lái)決定。用戶(hù)可以使用umask命令設(shè)置文件的默認(rèn)生成掩碼。默認(rèn)生成掩碼告訴系統(tǒng)當(dāng)創(chuàng)建一個(gè)文件或目錄時(shí)不應(yīng)該賦予其哪些權(quán)限。系統(tǒng)不允許用戶(hù)在創(chuàng)建一個(gè)普通文件時(shí)就賦予它可執(zhí)行權(quán)限,必須在創(chuàng)建后用chmod修改。目錄則允許設(shè)定可執(zhí)行權(quán)限。2024年5月29日CreativeCommonsLicense(BY-NC-SA)63umask命令查看當(dāng)前umask值格式:umask[-S]修改當(dāng)前umask值格式:umasku1u2u3u1表示的是不允許屬主有的權(quán)限u2表示的是不允許同組人有的權(quán)限u3表示的是不允許其他人有的權(quán)限RHEL/CentOS默認(rèn)的umask值普通用戶(hù)的umask是002root用戶(hù)的umask是0222024年5月29日CreativeCommonsLicense(BY-NC-SA)64umask值與文件/目錄權(quán)限常見(jiàn)umask值與新建文件/目錄的權(quán)限對(duì)應(yīng)表2024年5月29日CreativeCommonsLicense(BY-NC-SA)65umask值新建目錄的訪(fǎng)問(wèn)權(quán)限新建文件的訪(fǎng)問(wèn)權(quán)限022777-022=755666-022=644027777-027=750666-027=640002777-002=775666-002=664006777-006=771666-006=660007777-007=770666-007=660設(shè)置umask值的方法使用umask命令臨時(shí)設(shè)置在Shell環(huán)境配置文件中設(shè)置RHEL/CentOS默認(rèn)在/etc/bashrc中設(shè)置用戶(hù)可以在~/.bashrc中重新設(shè)置在/etc/fstab的文件系統(tǒng)掛裝參數(shù)中指定例如:2024年5月29日CreativeCommonsLicense(BY-NC-SA)66在/etc/fstab

的掛裝選項(xiàng)中加入umask

值/dev/sda10/homeext3noauto,umask=022,iocharset=cp936,ro,users00文件權(quán)限的設(shè)置準(zhǔn)則盡量使用私有組,保護(hù)用戶(hù)各自的文件或目錄。把權(quán)限設(shè)置為777或666的世界可讀寫(xiě)的權(quán)限是不明智的,應(yīng)該盡量避免使用。應(yīng)隨時(shí)了解指定給文件和目錄的權(quán)限,定期檢查文件和目錄以確保指定了正確的權(quán)限。如果在目錄下發(fā)現(xiàn)陌生的文件請(qǐng)向系統(tǒng)管理員或安全人員報(bào)告。為文件和目錄指定權(quán)限時(shí)請(qǐng)慎重考慮只有在具有充分的理由時(shí)再將訪(fǎng)問(wèn)權(quán)限授予他人。例如處理小組項(xiàng)目時(shí)組員可能需要訪(fǎng)問(wèn)特定的文件或目錄需要讓他人訪(fǎng)問(wèn)2024年5月29日CreativeCommonsLicense(BY-NC-SA)67三種特殊權(quán)限2024年5月29日68CreativeCommonsLicense(BY-NC-SA)特殊權(quán)限可執(zhí)行文件的特殊權(quán)限suid:使用命令的所屬用戶(hù)的權(quán)限來(lái)運(yùn)行,而不是命令執(zhí)行者的權(quán)限sgid:使用命令的組權(quán)限來(lái)運(yùn)行目錄的特殊權(quán)限sgid:在設(shè)置了sgid權(quán)限的目錄中創(chuàng)建的文件會(huì)具備該目錄的組權(quán)限sticky-bit:在帶有粘滯位的目錄中的文件只能被文件的所屬用戶(hù)和root用戶(hù)刪除,不管該目錄的寫(xiě)入權(quán)限是如何設(shè)置的2024年5月29日CreativeCommonsLicense(BY-NC-SA)69特殊權(quán)限的文字表示方法SUID和SGID用s表示;Sticky-bit用t表示SUID是占用屬主的x位置來(lái)表示SGID是占用組的x位置來(lái)表示sticky-bit是占用其他人的x位置來(lái)表示例如-rwsr-xr-x1rootroot234202010-08-11/usr/bin/passwd-rwxr-sr-x1roottty1108403-1021:28/usr/bin/write-rwsr-sr-x1rootroot3154162010-01-06/usr/bin/crontabdrwxrws---3rootadmin409606-1801:01/admin/salesdrwxrwxrwt5rootroot409606-1801:01/tmp2024年5月29日CreativeCommonsLicense(BY-NC-SA)70特殊權(quán)限的數(shù)值表示方法使用一個(gè)單獨(dú)的數(shù)字模式(n0)由不同權(quán)限所對(duì)應(yīng)的數(shù)字相加得到一個(gè)表示特殊權(quán)限的八進(jìn)制數(shù)。2024年5月29日CreativeCommonsLicense(BY-NC-SA)71chmod

n0n1n2n3

文件或目錄名

權(quán)限對(duì)應(yīng)數(shù)字SUID4SGID2Sticky-bit1-0-rwsr-xr-x-rwxr-sr-x-rwsr-sr-xdrwxrws---4755275567552770drwxrwxrwt1777-rwxr-xr-x0755使用chmod設(shè)置特殊權(quán)限為程序~/bin/myapp添加SUID權(quán)限#chmodu+s~/bin/myapp#chmod4755~/bin/myapp為目錄/home/groupspace添加SGID權(quán)限#chmodg+s/home/groupspace#chmod2755/home/groupspace為目錄/home/share添加sticky-bit權(quán)限#chmodo+t/home/share#chmod1755/home/share2024年5月29日CreativeCommonsLicense(BY-NC-SA)72Ext2/3/4的文件擴(kuò)展屬性2024年5月29日73CreativeCommonsLicense(BY-NC-SA)ext2/3/4的文件擴(kuò)展屬性L(fǎng)inux內(nèi)核中有大量安全特征。EXT2/3/4文件系統(tǒng)的擴(kuò)展屬性(ExtendedAttributes)可以在某種程度上保護(hù)系統(tǒng)的安全。常見(jiàn)的擴(kuò)展屬性2024年5月29日CreativeCommonsLicense(BY-NC-SA)74屬性說(shuō)明A(Atime)告訴系統(tǒng)不要修改對(duì)這個(gè)文件的最后訪(fǎng)問(wèn)時(shí)間。S(Sync)一旦應(yīng)用程序?qū)@個(gè)文件執(zhí)行了寫(xiě)操作,使系統(tǒng)立刻把修改的結(jié)果寫(xiě)到磁盤(pán)。a(AppendOnly)系統(tǒng)只允許在這個(gè)文件之后追加數(shù)據(jù),不允許任何進(jìn)程覆蓋或者截?cái)噙@個(gè)文件。如果目錄具有這個(gè)屬性,系統(tǒng)將只允許在這個(gè)目錄下建立和修改文件,而不允許刪除任何文件。i(Immutable)系統(tǒng)不允許對(duì)這個(gè)文件進(jìn)行任何的修改。如果目錄具有這個(gè)屬性,那么任何的進(jìn)程只能修改目錄之下的文件,不允許建立和刪除文件。使用A屬性可以提高一定的性能。使用S屬性能夠最大限度的保障文件的完整性。a屬性和i屬性對(duì)于提高文件系統(tǒng)的安全性和保障文件系統(tǒng)的完整性有很大的好處。顯示ext2/3/4的文件擴(kuò)展屬性lsattr命令格式lsattr[-adR][文件|目錄](méi)-a:全部文件,包含隱含文件-d:目錄本身,而非目錄中的內(nèi)容-R:遞歸方式,包含子目錄舉例lsattrmyfilelsattr-R/etclsattr-d/etc2024年5月29日CreativeCommonsLicense(BY-NC-SA)75修改ext2/3/4的文件擴(kuò)展屬性chattr命令格式chattr[-R][[-+=][屬性]]<文件|目錄>設(shè)置方式:添加(+)、刪除(-)、直接設(shè)置(=)常用屬性:A(Atime)、S(Sync)、a(AppendOnly)、i(Immutable)舉例chattr+amy.logchattr+i/etc/passwdchattr-i/etc/passwd2024年5月29日CreativeCommonsLicense(BY-NC-SA)76設(shè)置文件擴(kuò)展屬性注意事項(xiàng)雖然屬性能夠提高系統(tǒng)的安全性,但是它并不適合所有的目錄。為了保證系統(tǒng)的正常運(yùn)行,注意如下目錄的擴(kuò)展屬性/文件系統(tǒng)不能設(shè)置immutable屬性/dev目錄不能設(shè)置immutable和append-only屬性/tmp目錄不能設(shè)置immutable和append-only屬性/var目錄不能設(shè)置immutable屬性2024年5月29日CreativeCommonsLicense(BY-NC-SA)77POSIX文件訪(fǎng)問(wèn)控制列表2024年5月29日78CreativeCommonsLicense(BY-NC-SA)文件訪(fǎng)問(wèn)控制列表簡(jiǎn)介IEEEPOSIX1003.1e制定了ACL標(biāo)準(zhǔn)。FACL是訪(fǎng)問(wèn)控制列表(FileAccessControlLists)的縮寫(xiě),簡(jiǎn)稱(chēng)ACL。ACL給予用戶(hù)和管理員更靈活的控制文件讀寫(xiě)和權(quán)限賦予的能力。ACL是標(biāo)準(zhǔn)UNIX文件屬性(r,w)的附加擴(kuò)展。ACL可以針對(duì)任意指定的用戶(hù)/組分配RWX權(quán)限。ACL允許用戶(hù)共享文件避免使用冒險(xiǎn)的777權(quán)限。支持FACL的操作系統(tǒng)主流的商業(yè)UNIX系統(tǒng)FreeBSD、Linux系統(tǒng)2024年5月29日CreativeCommonsLicense(BY-NC-SA)79Linux的FACL支持ACL需要內(nèi)核和文件系統(tǒng)的同時(shí)支持Linux從2.6內(nèi)核開(kāi)始提供了對(duì)EXT2/EXT3,JFS,XFS,ReiserFS等文件系統(tǒng)的ACL支持。ACL的文件系統(tǒng)支持通過(guò)文件系統(tǒng)的掛裝選項(xiàng)實(shí)現(xiàn)ACL支持#mount-text4-oacl<devicename><partition>或修改/etc/fstab的掛裝選項(xiàng)查看ext4文件系統(tǒng)的默認(rèn)選項(xiàng)#tune2fs-l/dev/sda1|grepoptionsDefaultmountoptions:user_xattracl(在RHEL/CentOS中,ACL是默認(rèn)掛裝選項(xiàng))2024年5月29日CreativeCommonsLicense(BY-NC-SA)80ACL類(lèi)型存取ACL(accessACLs)是對(duì)指定文件或目錄的存取控制列表。默認(rèn)ACL(defaultACLs)只能和目錄相關(guān)。若目錄中的文件沒(méi)有存取ACL,就會(huì)使用該目錄的默認(rèn)ACL。但是訪(fǎng)問(wèn)ACL的優(yōu)先級(jí)更高。默認(rèn)ACL是可選的。2024年5月29日CreativeCommonsLicense(BY-NC-SA)81ACL工具在RHEL/CentOS中由acl軟件包提供getfacl–獲取文件的FACL信息getfacl<file|directory>setfacl–設(shè)置文件的FACL信息自動(dòng)獲得ACL權(quán)限若目錄已設(shè)置了默認(rèn)ACL,則新創(chuàng)建的文件將從其目錄繼承默認(rèn)ACL設(shè)置。使用mv命令和cp-p命令操作文件時(shí)將保持ACL設(shè)置。2024年5月29日CreativeCommonsLicense(BY-NC-SA)82setfacl命令語(yǔ)法setfacl[-R]{-m|-x}<rules><filesordirectory>說(shuō)明-R選項(xiàng)用于對(duì)目錄進(jìn)行遞歸操作-m選項(xiàng)表示修改ACL權(quán)限-x選項(xiàng)表示刪除ACL權(quán)限r(nóng)ules為要設(shè)置的ACL規(guī)則2024年5月29日CreativeCommonsLicense(BY-NC-SA)83setfacl命令中的ACL規(guī)則當(dāng)使用d:前綴時(shí)用于設(shè)置默認(rèn)ACL,當(dāng)使用d:前綴時(shí)只能對(duì)目錄設(shè)置perms為r、w、x、-或其組合2024年5月29日CreativeCommonsLicense(BY-NC-SA)84[d:]u:uid:perms —為指定的用戶(hù)(使用UID或用戶(hù)名)設(shè)置ACL權(quán)限[d:]g:gid:perms —為指定的組(使用GID或組名)設(shè)置ACL權(quán)限[d:]o:[:]perms —為其他用戶(hù)設(shè)置ACL權(quán)限[d:]m:[:]perms —設(shè)置有效的訪(fǎng)問(wèn)掩碼setfacl命令舉例setfacl-mu:gandolf:rwxfile|directorysetfacl-mg:nazgul:rwfile|directorysetfacl-md:u:frodo:rwdirectorysetfacl-xu:samwisefile|directorysetfacl-R-mg:doc:rwx,d:g:doc:rwx,g:everyone:---/data/share/2024年5月29日CreativeCommonsLicense(BY-NC-SA)85進(jìn)程相關(guān)概念2024年5月29日86CreativeCommonsLicense(BY-NC-SA)程序、進(jìn)程和作業(yè)程序(program)程序是機(jī)器指令的集合,文件形式存儲(chǔ)進(jìn)程(process)進(jìn)程是一個(gè)程序在其自身的虛擬地址空間中的一次執(zhí)行活動(dòng)作業(yè)/任務(wù)(job/task)用戶(hù)通過(guò)操作系統(tǒng)用戶(hù)接口(Shell或X環(huán)境)提交給計(jì)算機(jī)進(jìn)行加工處理的程序。如用戶(hù)發(fā)出一個(gè)打印命令,就產(chǎn)生一個(gè)打印作業(yè)/任務(wù)。2024年5月29日CreativeCommonsLicense(BY-NC-SA)87進(jìn)程和程序概念的比較程序只是一個(gè)靜態(tài)的指令集合;而進(jìn)程是一個(gè)程序的動(dòng)態(tài)執(zhí)行過(guò)程,它具有生命期,是動(dòng)態(tài)的產(chǎn)生和消亡的。進(jìn)程是資源申請(qǐng)、調(diào)度和獨(dú)立運(yùn)行的單位,因此,它使用系統(tǒng)中的運(yùn)行資源;而程序不能申請(qǐng)系統(tǒng)資源、不能被系統(tǒng)調(diào)度、也不能作為獨(dú)立運(yùn)行的單位,因此,它不占用系統(tǒng)的運(yùn)行資源。程序和進(jìn)程無(wú)一一對(duì)應(yīng)的關(guān)系。一方面一個(gè)程序可以由多個(gè)進(jìn)程所共用,即一個(gè)程序在運(yùn)行過(guò)程中可以產(chǎn)生多個(gè)進(jìn)程;另一方面,一個(gè)進(jìn)程在生命期內(nèi)可以順序的執(zhí)行若干個(gè)程序。2024年5月29日CreativeCommonsLicense(BY-NC-SA)88進(jìn)程進(jìn)程是一個(gè)動(dòng)態(tài)實(shí)體。進(jìn)程是處理器通過(guò)操作系統(tǒng)調(diào)度的基本單位。每個(gè)進(jìn)程的執(zhí)行都獨(dú)立于系統(tǒng)中的其它進(jìn)程。進(jìn)程之間可以通過(guò)稱(chēng)為進(jìn)程間通信(IPC)的機(jī)制進(jìn)行交互。當(dāng)進(jìn)程之間共享數(shù)據(jù)時(shí),操作系統(tǒng)使用了同步技術(shù)來(lái)保證共享的合法性。2024年5月29日CreativeCommonsLicense(BY-NC-SA)89Linux是多用戶(hù)多任務(wù)系統(tǒng)當(dāng)多個(gè)用戶(hù)同時(shí)在一個(gè)系統(tǒng)上工作時(shí),Linux要能夠同時(shí)滿(mǎn)足用戶(hù)們的要求,而且還要使用戶(hù)感覺(jué)不到系統(tǒng)在同時(shí)為多個(gè)用戶(hù)服務(wù),就好像每一個(gè)用戶(hù)都單獨(dú)擁有整個(gè)系統(tǒng)一樣。每個(gè)用戶(hù)均可同時(shí)運(yùn)行多個(gè)程序。為了區(qū)分每一個(gè)運(yùn)行的程序,Linux給每個(gè)進(jìn)程都做了標(biāo)識(shí),稱(chēng)為進(jìn)程號(hào)(processID),每個(gè)進(jìn)程的進(jìn)程號(hào)是唯一的。Linux給每個(gè)進(jìn)程都打上了運(yùn)行者的標(biāo)志,用戶(hù)可以控制自己的進(jìn)程:給自己的進(jìn)程分配不同的優(yōu)先級(jí),也可以隨時(shí)終止自己的進(jìn)程。進(jìn)程從執(zhí)行它的用戶(hù)處繼承UID、GID,從而決定對(duì)文件系統(tǒng)的存取和訪(fǎng)問(wèn)。2024年5月29日CreativeCommonsLicense(BY-NC-SA)90Linux的多任務(wù)實(shí)現(xiàn)

——分時(shí)技術(shù)Linux

不可能在一個(gè)

CPU上同時(shí)處理多個(gè)任務(wù)(作業(yè))請(qǐng)求,而是采用“分時(shí)”技術(shù)來(lái)處理這些任務(wù)請(qǐng)求。分時(shí)技術(shù)所有的任務(wù)請(qǐng)求被排除一個(gè)隊(duì)列,系統(tǒng)按順序每次從這個(gè)隊(duì)列中抽取一個(gè)任務(wù)來(lái)執(zhí)行,這個(gè)任務(wù)執(zhí)行很短的時(shí)間(幾毫秒)后,系統(tǒng)就將它排到任務(wù)隊(duì)列的末尾,然后讀入隊(duì)列中的下一個(gè)任務(wù),以同樣的方式執(zhí)行。這樣經(jīng)過(guò)一段時(shí)間后,任務(wù)隊(duì)列中的所有任務(wù)都被執(zhí)行一次,然后又開(kāi)始下一輪循環(huán)。2024年5月29日CreativeCommonsLicense(BY-NC-SA)91Linux中的進(jìn)程識(shí)別使用PID區(qū)分不同的進(jìn)程系統(tǒng)啟動(dòng)后的第一個(gè)進(jìn)程是init,它的PID是1。init是唯一一個(gè)由系統(tǒng)內(nèi)核直接運(yùn)行的進(jìn)程。除了init之外,每個(gè)進(jìn)程都有父進(jìn)程(PPID標(biāo)識(shí))每個(gè)進(jìn)程還有四個(gè)與用戶(hù)和組相關(guān)的識(shí)別號(hào)實(shí)際用戶(hù)識(shí)別號(hào)

(realuserID,RUID)實(shí)際組識(shí)別號(hào)

(realgroupID,RGID)有效用戶(hù)識(shí)別號(hào)

(effectuserID,EUID)有效組識(shí)別號(hào)

(effectgroupID,EGID)2024年5月29日CreativeCommonsLicense(BY-NC-SA)92用戶(hù)、進(jìn)程與權(quán)限RUID和RGID的作用識(shí)別正在運(yùn)行此進(jìn)程的用戶(hù)和組。一個(gè)進(jìn)程的RUID和RGID就是運(yùn)行此進(jìn)程的UID和GID。EUID和EGID的作用確定一個(gè)進(jìn)程對(duì)其訪(fǎng)問(wèn)的文件的權(quán)限。除了產(chǎn)生進(jìn)程的程序被設(shè)置SUID和SGID權(quán)限位之外,一般EUID、EGID和RUID、RGID相同。若程序被設(shè)置了SUID或SGID權(quán)限位,則此進(jìn)程相應(yīng)的EUID和EGID,將和運(yùn)行此進(jìn)程的文件的所屬用戶(hù)的UID或所屬組的GID相同。2024年5月29日CreativeCommonsLicense(BY-NC-SA)93進(jìn)程類(lèi)型交互進(jìn)程由一個(gè)Shell啟動(dòng)的進(jìn)程。交互進(jìn)程既可以在前臺(tái)運(yùn)行,也可以在后臺(tái)運(yùn)行。批處理進(jìn)程不與特定的終端相關(guān)聯(lián),提交到等待隊(duì)列種順序執(zhí)行的進(jìn)程。守護(hù)進(jìn)程(Daemon)在Linux在啟動(dòng)時(shí)初始化,需要時(shí)運(yùn)行于后臺(tái)的進(jìn)程。2024年5月29日CreativeCommonsLicense(BY-NC-SA)94進(jìn)程的啟動(dòng)方式手工方式:使用操作系統(tǒng)提供的用戶(hù)接口前臺(tái)后臺(tái)(&)調(diào)度方式:按照預(yù)先指定的時(shí)間執(zhí)行atbatchcron2024年5月29日CreativeCommonsLicense(BY-NC-SA)95前臺(tái)與后臺(tái)前臺(tái)進(jìn)程指一個(gè)程序控制著標(biāo)準(zhǔn)輸入/輸出,在程序運(yùn)行時(shí),shell被暫時(shí)掛起,直到該程序運(yùn)行結(jié)束后,才退回到shell。在這個(gè)過(guò)程中,用戶(hù)不能再執(zhí)行其它程序。后臺(tái)進(jìn)程用戶(hù)不必等待程序運(yùn)行結(jié)束就可以執(zhí)行其它程序。運(yùn)行后臺(tái)進(jìn)程的方法是在命令行最后加上“&”例如:$sleep10000&2024年5月29日CreativeCommonsLicense(BY-NC-SA)96在一個(gè)終端里只能同時(shí)存在一個(gè)前臺(tái)任務(wù),但可以有多個(gè)后臺(tái)任務(wù)。進(jìn)程管理2024年5月29日97CreativeCommonsLicense(BY-NC-SA)查看系統(tǒng)中的進(jìn)程使用ps命令查看進(jìn)程狀態(tài)信息顯示哪些進(jìn)程正在執(zhí)行和執(zhí)行的狀態(tài)進(jìn)程是否結(jié)束、進(jìn)程有沒(méi)有僵死哪些進(jìn)程占用了過(guò)多的系統(tǒng)資源等ps(ProcessStatus)命令格式ps[選項(xiàng)]不帶任何選項(xiàng)的ps命令顯示當(dāng)前用戶(hù)所在終端中的所有進(jìn)程輸出項(xiàng)包括:識(shí)別號(hào)(PID)、終端(TTY)、運(yùn)行時(shí)間(TIME)、產(chǎn)生該進(jìn)程所運(yùn)行的命令(CMD)2024年5月29日CreativeCommonsLicense(BY-NC-SA)98ps命令的常用選項(xiàng)選項(xiàng)說(shuō)明-e顯示所有進(jìn)程,等價(jià)于-A。-f完全(FULL)顯示。增加顯示用戶(hù)名、PPID、進(jìn)程起始時(shí)間。f/-H顯示進(jìn)程樹(shù),等價(jià)于--forest。a顯示終端上的所有進(jìn)程,包括其他用戶(hù)地進(jìn)程。x顯示沒(méi)有控制終端地進(jìn)程。u面向用戶(hù)的顯示格式。增加顯示用戶(hù)名,進(jìn)程起始時(shí)間,CPU和內(nèi)存占用百分比等信息。-u<username>僅顯示指定用戶(hù)的進(jìn)程。l/-l長(zhǎng)格式顯示。增加顯示進(jìn)程的UID、PPID和優(yōu)先權(quán)值。w[w]/-w[w]加寬顯示。通常用于顯示完整的命令行。o/-o<format>由用戶(hù)自定義輸出列。--sort<order>指定按哪/哪些列排序,order格式為:[+|-]key[,[+|-]key[,...]]2024年5月29日CreativeCommonsLicense(BY-NC-SA)99ps命令使用舉例$ps-e$ps-ef$ps-eH$ps-elw$psau$psaux$psaxf$psauxw2024年5月29日CreativeCommonsLicense(BY-NC-SA)100ps

常見(jiàn)的輸出標(biāo)記2024年5月29日CreativeCommonsLicense(BY-NC-SA)101UID用戶(hù)IDSTART進(jìn)程啟動(dòng)時(shí)間USER用戶(hù)名TIME執(zhí)行時(shí)間PID進(jìn)程IDSTAT進(jìn)程狀態(tài)PPID父進(jìn)程的IDNI優(yōu)先權(quán)值/nice值TTY啟動(dòng)進(jìn)程的終端CMD命令名(COMMAND)RSS進(jìn)程所用內(nèi)存塊數(shù)%CPU進(jìn)程所用CPU時(shí)間百分比(pcpu)VSZ進(jìn)程所用虛擬內(nèi)存塊數(shù)%MEM進(jìn)程所有MEM百分比(pmem)

ps

的輸出依賴(lài)于用戶(hù)所給的選項(xiàng)ps命令的進(jìn)程狀態(tài)列2024年5月29日CreativeCommonsLicense(BY-NC-SA)102R正在運(yùn)行或處在運(yùn)行隊(duì)列中S休眠T停止或被追蹤W進(jìn)程在RAM中沒(méi)有駐留頁(yè)(2.6.xx

的內(nèi)核無(wú)效)D不可中斷的睡眠,通常指I/OZ僵尸進(jìn)程(已結(jié)束但未被父進(jìn)程收回)X已死進(jìn)程(這個(gè)狀態(tài)不會(huì)出現(xiàn))<具有最高優(yōu)先權(quán)N具有較低的優(yōu)先權(quán)

"STAT"或"S"列的輸出ps命令使用舉例(2)指定輸出列$psouser,pid,ppid,pcpu,pmem,nice,cmd$ps-eopid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm$psaxostat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm$ps-eo“%p%y%x%n%c“——AIX風(fēng)格對(duì)指定列排序$ps-ef--sortuser,-time$psaux--sort-pcpu$psaux--sort-pmem$psouser,pid,ppid,pcpu,pmem,nice,cmd--sortnice2024年5月29日CreativeCommonsLicense(BY-NC-SA)103搜索進(jìn)程搜索指定的進(jìn)程$psaux|grephttpd$ps-fp$(pgrep-d,-xhttpd)查找符合條件的進(jìn)程PID$pgrephttpd$pidofhttpd$ps-Chttpd-opid=$pgrep-Uapachehttpd$pgrep-Gstudent-l2024年5月29日CreativeCommonsLicense(BY-NC-SA)104注銷(xiāo)后繼續(xù)運(yùn)行進(jìn)程通常當(dāng)用戶(hù)注銷(xiāo)后,所有屬于該用戶(hù)的進(jìn)程將全部被終止。如果希望程序在退出系統(tǒng)后仍然能夠繼續(xù)運(yùn)行,可以使用nohup

命令啟動(dòng)該進(jìn)程。例如:$nohup~/bin/mirror_yumrepo_with_rsync.sh--centos\--archi386--exclude-iso&若程序有結(jié)果輸出,輸出結(jié)果將會(huì)被保存到當(dāng)前目錄下的一個(gè)文件名為nohup.out的文件中,若用戶(hù)在當(dāng)前目錄沒(méi)有寫(xiě)的權(quán)限,則結(jié)果將會(huì)被保存到用戶(hù)主目錄下的nohup.out文件中。2024年5月29日CreativeCommonsLicense(BY-NC-SA)105nohup命令[選項(xiàng)][參數(shù)][輸出文件]&進(jìn)程調(diào)度的優(yōu)先權(quán)進(jìn)程的優(yōu)先權(quán)決定對(duì)CPU的使用進(jìn)程在運(yùn)行時(shí)可以享有不同等的優(yōu)先權(quán)進(jìn)程的優(yōu)先權(quán)受進(jìn)程的nice值的影響這個(gè)值的范圍是-20到19,默認(rèn)是0值越小說(shuō)明對(duì)CPU的使用越優(yōu)先查看進(jìn)程優(yōu)先級(jí)(看NI

列的值)ps-lps-ocomm,nice2024年5月29日CreativeCommonsLice

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論