兄弟們,我又回來(lái)了,幾天不寫(xiě)博客真是渾身難受呢(當(dāng)然是騙人的。。。)但本周學(xué)的內(nèi)容還蠻多的,感覺(jué)不整理一下又得白學(xué)了。還有本周學(xué)了聽(tīng)著很高大上的腳本,雖然感覺(jué)蠻難的吧,但是聽(tīng)老師的口氣貌似和之前一些基本命令的用法有著很大的關(guān)系,命令學(xué)的好不好直接決定你腳本編的好不好,第一感覺(jué)腳本就跟C++里面的函數(shù)是一個(gè)東西,就是把很多命令集中成一個(gè)文件,讓計(jì)算機(jī)集中去處理,完成某一特定功能,感覺(jué)好像走遠(yuǎn)了,先從用戶(hù)的權(quán)限管理說(shuō)起吧。
用戶(hù)的權(quán)限管理主要分為一下兩點(diǎn):
普通權(quán)限:
特殊權(quán)限:
跟其相關(guān)的還有一個(gè)叫做FACL的東西這個(gè)后面再討論
首先我們先明確一下為什么用戶(hù)的權(quán)限要分為普通和特殊權(quán)限?
因?yàn)槊恳粋€(gè)用戶(hù)使用計(jì)算機(jī)的過(guò)程中,必然存在對(duì)有限計(jì)算機(jī)資源使用的限制性,那么操作系統(tǒng)就必須提供一種途徑來(lái)保證每個(gè)用戶(hù)獨(dú)立、合理的使用計(jì)算機(jī)。
解決完這個(gè)問(wèn)題后我們來(lái)淺析一下用戶(hù)的權(quán)限管理
首先用戶(hù)的普通權(quán)限:
說(shuō)到用戶(hù)的普通權(quán)限我們又不得不說(shuō)到上周提到過(guò)的安全上下文
進(jìn)程安全上下文:
1.判斷進(jìn)程的所有者是否為想要操作的文件的所有者,如果是,就按照屬主的權(quán)限進(jìn)行授權(quán),如果不是,就轉(zhuǎn)到第二條
2.在判斷進(jìn)程的所有者是否為想要操作的文件的屬組中的成員,如果是,就按照屬組的權(quán)限進(jìn)行授權(quán),如果不是就轉(zhuǎn)到第三條
3.按照文件其他用戶(hù)權(quán)限進(jìn)行授權(quán)
對(duì)于用戶(hù)的授權(quán)一般按照以上順序進(jìn)行,下面我們來(lái)說(shuō)說(shuō)用戶(hù)權(quán)限的構(gòu)成
用戶(hù)的權(quán)限分為使用權(quán)(MODE0)和所有權(quán)(OWNERSHIP)
MODE(Permission):使用權(quán)
r:Readable,可讀
w:Writable,可寫(xiě)
x:Executable,可執(zhí)行
我們分幾個(gè)方面對(duì)用戶(hù)的使用權(quán)進(jìn)行理解一下,首先是對(duì)于目錄而言:
r:可以使用ls命令獲得其中所有的文件名的列表:ls -l命令來(lái)獲取目錄文件中的詳細(xì)的屬性信息,不能使用cd命令進(jìn)入其中,也不能在路徑中引用該目錄
w:可以修改此目錄下的文件名或文件名列表,即:可以在此目錄中創(chuàng)建、修改或刪除文件名
x:可以使用ls-l命令來(lái)獲取其中的文件的詳細(xì)屬性信息,也可以在路徑中引用該目錄,也可以使用cd命令進(jìn)入其中
注意:x權(quán)限是最基本權(quán)限,任何目錄都必須對(duì)任何用戶(hù)開(kāi)放x權(quán)限
為什么說(shuō)對(duì)于目錄而言,必須給任何用戶(hù)開(kāi)放x權(quán)限呢,對(duì)于目錄文件來(lái)說(shuō),我們?cè)谶M(jìn)行命令操作的時(shí)候,經(jīng)常要通過(guò)引用文件的目錄去指引計(jì)算機(jī)找到這個(gè)文件,如果不給予計(jì)算機(jī)這個(gè)權(quán)限的話(huà),這會(huì)對(duì)我們用戶(hù)管理計(jì)算機(jī)帶來(lái)極大的不便
在一個(gè)就是對(duì)于文件而言:
文件:
r:可以查看或獲取文件中存放的數(shù)據(jù)
w:可以修改文件中存放的數(shù)據(jù)
x:可以將此文件發(fā)起運(yùn)行為進(jìn)程
前兩個(gè)選項(xiàng)不難理解,基本上和目錄一樣,對(duì)于x權(quán)限,我們認(rèn)為,一旦文件對(duì)我們用戶(hù)開(kāi)放了這個(gè)權(quán)限,我們就可以將其發(fā)起為一個(gè)進(jìn)程去執(zhí)行,而不是簡(jiǎn)單地打開(kāi)去讀取它或者修改它。
對(duì)于權(quán)限在計(jì)算機(jī)中的表示我們使用以下幾種表示方式
例:rw-r--r--:三個(gè)權(quán)限位-屬主、屬組、其他用戶(hù)
屬主權(quán)限:rw-
屬組權(quán)限:r--
其他用戶(hù)權(quán)限:r--
顯而易見(jiàn),屬主對(duì)于其有可讀和可寫(xiě)的權(quán)限,而屬組對(duì)于其只有刻度的權(quán)限,其他用戶(hù)和屬組一樣,只對(duì)其有可讀的權(quán)限
除此之外我們還可以用三元組的方式表示權(quán)限
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
例:rw-r--r--
110100100
644
權(quán)限既然存在,我們就必然可以修改它,但是我們?yōu)榱擞?jì)算機(jī)安全考慮,必須對(duì)于權(quán)限修改作出嚴(yán)格規(guī)定,我們規(guī)定只有某個(gè)文件的屬主才能修改文件的使用權(quán),root除外。
修改文件的使用權(quán)限:
chmod --> change mod
chmod - change file mode bits
一共有以下三種方式:
1.chmod [OPTION]... MODE[,MODE]... FILE...
MODE:符號(hào)權(quán)限標(biāo)識(shí)符
u,g,o,a標(biāo)識(shí)所有權(quán)
+,-,=標(biāo)識(shí)授權(quán)方式
+:在原有的權(quán)限基礎(chǔ)上加上某些權(quán)限
-:在原有的權(quán)限基礎(chǔ)上減去某些權(quán)限
=:不考慮原有權(quán)限,直接將權(quán)限設(shè)置為目標(biāo)權(quán)限
r,w,x表示具體權(quán)限內(nèi)容:
例:
chmod u+w file
chmod g+rw file
chmod u+x,g-wx,o-x file
chmod u=rw,g=r,o=r file
chmod ug-x file
chmod +x file 默認(rèn)的為a添加執(zhí)行權(quán)限
chmod +w file 默認(rèn)的只為屬主添加寫(xiě)權(quán)限
注意:文件的執(zhí)行權(quán)限:Linux的文件系統(tǒng)來(lái)說(shuō),非常重要的安全標(biāo)識(shí),一旦文件具備了執(zhí)行權(quán)限,就意味著該文件可以被發(fā)起執(zhí)行為進(jìn)程,所以默認(rèn)情況下文件都不具備執(zhí)行權(quán)限
2.chmod [OPTION]... OCTAL-MODE FILE...
如果使用八進(jìn)制數(shù)字標(biāo)識(shí)法的話(huà),則每次必須給足所有的權(quán)限位,如果給的權(quán)限位不完整,文件系統(tǒng)會(huì)自動(dòng)補(bǔ)足,將給定的權(quán)限放置在右側(cè),左側(cè)使用0來(lái)補(bǔ)
chmod 640 file
3.chmod [OPTION]... --reference=RFILE FILE...
chmod --reference=/PATH/TO/SOMEFILE DES_FILE
chmod --reference=a b
這是linux中給出的幾種修改文件權(quán)限的方式,大家根據(jù)具體情況靈活使用
選項(xiàng):
-R:--Recursive:將目錄中的文件及子目錄和子目錄中的文件統(tǒng)一的設(shè)置為指定的權(quán)限標(biāo)識(shí)
說(shuō)完了使用權(quán),再說(shuō)說(shuō)所有權(quán):
OWNERSHIP:所有權(quán)
屬主:資源掌控的某個(gè)特定用戶(hù):owner(user),u
屬組:是資源掌控的某些特定用戶(hù):group,g
其他用戶(hù):未曾掌控資源的那些用戶(hù):other,o
全部用戶(hù):all,a
對(duì)于文件的屬主和屬組我們也可以進(jìn)行修改,主要用到chown和chgrp命令:
chown:可以修改文件屬主和屬組
chown - change file owner and group
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown OWNER FILE
chown :GROUP FILE
chown OWNER:FILE //將目標(biāo)文件的屬主改為OWNER,同時(shí)將屬組改為OWNER的基本組
chown OWNER:GROUP FILE //將目標(biāo)文件的屬主和屬組改為OWNER和GROUP
chown [OPTION]... --reference=RFILE FILE...
-R:--Recursive:將目錄中的文件及子目錄和子目錄中的文件統(tǒng)一的設(shè)置為指定的所有權(quán)root
注意修改OWNERSHIP操作只有超級(jí)用戶(hù)(root)可以完成
chgrp:只能修改文件的屬組
chgrp - change group ownership
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
一般我們用chown就可以滿(mǎn)足用戶(hù)對(duì)于文件屬主和屬組的修改,對(duì)于chgrp我們也可以記住。
下面我們?cè)賮?lái)說(shuō)幾個(gè)命令
1.install命令:
install - copy files and set attributes
安裝:復(fù)制文件:
常用選項(xiàng):
-m:指定目標(biāo)文件的權(quán)限,默認(rèn)為755
-o, --owner=OWNER:設(shè)定目標(biāo)文件的屬主:只能是root可用
-g, --group=GROUP:設(shè)定目標(biāo)文件的屬組:只能是root可用
注意:install命令不能復(fù)制目錄,即其源不能為目錄,如果其源為目錄,則install經(jīng)歷了會(huì)進(jìn)入目錄,依次復(fù)制其中的所有非目錄文件到目標(biāo)位置
我們用install命令可以在復(fù)制文件的過(guò)程中,對(duì)其使用權(quán)和所有權(quán)進(jìn)行修改,比如說(shuō)在復(fù)制過(guò)程中給文件加上了執(zhí)行權(quán)限,那么復(fù)制完之后的文件就可以被發(fā)起為進(jìn)程
mktemp命令:
一般來(lái)講,臨時(shí)文件都會(huì)創(chuàng)建在/tmp或/var/tmp目錄中,無(wú)需手動(dòng)刪除,系統(tǒng)會(huì)定期刪除這兩個(gè)目錄中的文件
選項(xiàng):
-d, --directory:可以創(chuàng)建臨時(shí)目錄
例:
mktemp [-d] /PATH/TO/TMP.XXXXXXXXXXXX
這個(gè)命令方便我們創(chuàng)建臨時(shí)目錄,而且不用自己手動(dòng)對(duì)其進(jìn)行刪除操作,計(jì)算機(jī)會(huì)定期清理
說(shuō)完了普通權(quán)限,我們?cè)僬f(shuō)一下特殊權(quán)限,特殊權(quán)限主要就是SUID、SGID、STICKY
默認(rèn)情況下,用戶(hù)發(fā)起執(zhí)行一個(gè)進(jìn)程,該進(jìn)程的發(fā)起者是其屬主,也就是說(shuō),該進(jìn)程是以其發(fā)起者的身份在運(yùn)行
SUID:
功能作用:用戶(hù)發(fā)起一個(gè)進(jìn)程時(shí),該程序文件如果擁有SUID權(quán)限的話(huà),則此程序發(fā)起的進(jìn)程其屬主為該程序文件的屬主,而不是其發(fā)起者,這句話(huà)的意思就是我們不管是哪個(gè)用戶(hù)發(fā)起的這個(gè)進(jìn)程,只要這個(gè)文件具有SUID權(quán)限的話(huà),我們都認(rèn)為其所有者是這個(gè)文件的屬主,而不是發(fā)起這個(gè)進(jìn)程的用戶(hù)
SUID權(quán)限顯示的位置:文件的屬主權(quán)限中的執(zhí)行權(quán)限位,如果屬主本來(lái)就有執(zhí)行權(quán)限則顯示為s,否則顯示為S
管理文件的SUID權(quán)限:
chmod u+|-s FILE
SGID:
如果某個(gè)目錄的對(duì)于一些用戶(hù)有寫(xiě)權(quán)限并且設(shè)置了SGID權(quán)限,則所有對(duì)此目錄有寫(xiě)權(quán)限的用戶(hù)在創(chuàng)建新的文件或目錄以后,新文件的屬組不再是創(chuàng)建用戶(hù)的基本組,而是繼承了該目錄的屬組
SGID顯示位置:文件的屬組權(quán)限中的執(zhí)行權(quán)限位:如果屬組本來(lái)有執(zhí)行權(quán)限,顯示為s,否則顯示為S
管理文件的SGID權(quán)限:
chmod g+|- s FILE
SICKY:sticky(粘性的):粘滯位
如果某個(gè)目錄中,有超過(guò)一個(gè)用戶(hù)可以有寫(xiě)權(quán)限,則這多個(gè)用戶(hù)都可以在該目錄中隨意創(chuàng)建、修改和刪除文件名
STICKY的功能作用:
如果為上述的類(lèi)似目錄設(shè)置了STICKY權(quán)限,則每個(gè)用戶(hù)仍舊能夠創(chuàng)建和修改文件名,但每個(gè)用戶(hù)只能刪除那些屬主為其自身的文件名
STICKY權(quán)限的顯示位置:在文件權(quán)限的其他用戶(hù)的執(zhí)行權(quán)限位,如果原來(lái)就有執(zhí)行權(quán)限的話(huà)顯示為t,否則顯示為T(mén)
管理文件的STICKY權(quán)限:
chmod o+|- t FILE...
suid sgid sticky
--- 000 0
--t 001 1
-s- 010 2
-st 011 3
s-- 100 4
s-t 101 5
ss- 110 6
sst 111 7
特殊權(quán)限另一種修改方式:
將特殊權(quán)限對(duì)應(yīng)的八進(jìn)制數(shù)字放置于普通權(quán)限八進(jìn)制數(shù)字的前面即可
例:想要給某個(gè)目錄加上粘滯位
chmod 1755 DIRECTORY
粘滯位的存在主要是對(duì)root用戶(hù)提供限制,防止root用戶(hù)由于失誤對(duì)計(jì)算機(jī)做出不可挽回的損失。
下面我們?cè)倭私庖幌聶?quán)限遮罩碼的概念,我們知道我們?cè)趧?chuàng)建文件的時(shí)候,計(jì)算機(jī)會(huì)默認(rèn)的給文件授權(quán),那么計(jì)算機(jī)是根據(jù)什么標(biāo)準(zhǔn)給文件授權(quán)的呢,我們就得說(shuō)到權(quán)限遮罩碼的概念了。
root:0022
不考慮特殊權(quán)限位
對(duì)于新創(chuàng)建的文件或目錄,不遮擋屬主的任何權(quán)限,遮住了數(shù)組的寫(xiě)權(quán)限和其他用戶(hù)的寫(xiě)權(quán)限
理解遮罩碼的方法:將遮罩碼的值變?yōu)槎M(jìn)制,凡是有1的位置,其權(quán)限在創(chuàng)建文件是就不設(shè)置
0033:000011011 ---110100100 644
---111100100 744
默認(rèn)情況下,文件的遮罩碼已經(jīng)有了一個(gè)0111,在此基礎(chǔ)上再次應(yīng)用umask來(lái)遮罩權(quán)限
文件還有一些比較特殊的屬性:
查看文件的特殊屬性:
lsattr - list file attributes on a Linux second extended file system
lsattr [ -RVadv ] [ files... ]
修改設(shè)置文件的特殊屬性:
chattr - change file attributes on a Linux file system
chattr [ -RVf ] [ -v version ] [ mode ] files...
mode:會(huì)使用+-=的方式來(lái)設(shè)置
整個(gè)chattr命令最關(guān)鍵最核心的設(shè)置就是mode部分:
[aAcCdDeijsStTu]都是所需要的屬性
+:在原有屬性設(shè)定的基礎(chǔ)上添加新屬性
-:從原有屬性設(shè)定中移除指定的屬性
=:不考慮原有的屬性設(shè)置,直接將文件的屬性更新為指定的屬性?xún)?nèi)容
a:append 設(shè)置這個(gè)屬性的文件其內(nèi)容不能被更改和刪除,只能以追加的方式向文件中寫(xiě)數(shù)據(jù),多數(shù)的服務(wù)器日志類(lèi)文件會(huì)設(shè)置為此屬性
A:atime,文件的訪(fǎng)問(wèn)時(shí)間戳,IO瓶頸:設(shè)置A屬性可以使得文件在被訪(fǎng)問(wèn)時(shí)不更改文件的訪(fǎng)問(wèn)時(shí)間戳,從而可以有效地防止IO瓶頸事件的發(fā)生
c:設(shè)置文是否自動(dòng)壓縮后再行存儲(chǔ)
C:設(shè)置文件是否開(kāi)啟“寫(xiě)時(shí)復(fù)制”屬性
d:設(shè)置文件在使用dump進(jìn)行備份的時(shí)候,不會(huì)成為備份目標(biāo)
D:設(shè)置文件在文件系統(tǒng)中的異步寫(xiě)操作
i:設(shè)置文件不能被刪除、修改、設(shè)定鏈接關(guān)系
s:設(shè)置文件的保密性刪除,一旦設(shè)置s屬性的文件被刪除,其對(duì)應(yīng)存儲(chǔ)設(shè)備中的使用空間會(huì)被一并收回
u:跟s屬性相反,如果這樣的文件被刪除,則其存儲(chǔ)于設(shè)備中的數(shù)據(jù)被留存
最常用的屬性其實(shí)就是i和a
常用選項(xiàng):
-R:遞歸的去設(shè)置指定目錄中的所有文件和子目錄中的文件
除了以上所講的管理用戶(hù)的權(quán)限方法之外,計(jì)算機(jī)還提供給我們另一種管理文件權(quán)限的方法
為文件賦予額外的權(quán)限的機(jī)制:FACL:File Access Control List,文件訪(fǎng)問(wèn)控制列表
文件的額外賦權(quán)機(jī)制:
在原有的u,g,o權(quán)限位之外,讓普通用戶(hù)能夠控制權(quán)限賦予另外的用戶(hù)和組的一種賦權(quán)機(jī)制
一般推薦為在centos或RHEL7版本以后的發(fā)行版中,才逐漸成熟;
與FACL有關(guān)的命令:
getfacl:getfacl - get file access control lists
getfacl [-aceEsRLPtpndvh] file ...
user:USERNAME:MODE
group:GROUPNAME:MODE
setfacl:setfacl - set file access control lists
setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...
acl_spec: acl specification,指定的訪(fǎng)問(wèn)控制列表
u:USERNAME:MODE
g:GROUPNAME:MODE
MODE:一般使用符號(hào)權(quán)限標(biāo)識(shí)法
為用戶(hù)賦予額外權(quán)限:
setfacl -m u:USERNAME:MODE FILE...
為組賦予額外權(quán)限:
setfacl -m g:USERNAME:MODE FILE...
撤銷(xiāo)為用戶(hù)賦予額外權(quán)限:
setfacl -x u:USERNAME
撤銷(xiāo)為組賦予額外權(quán)限:
setfacl -x g:USERNAME
注意:如果設(shè)置了FACL之后再修改目標(biāo)文件的使用權(quán)限,那么FACL中設(shè)置的條目就可能收到影響而導(dǎo)致與要求不符,因此,如果真的需要設(shè)置FACL,就要在已經(jīng)確定目標(biāo)文件的使用權(quán)限以后再進(jìn)行設(shè)置
以上就是關(guān)于用戶(hù)的權(quán)限管理,學(xué)的有點(diǎn)云里霧里的,還得配合著作業(yè)去鞏固一下。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站標(biāo)題:用戶(hù)的權(quán)限管理-創(chuàng)新互聯(lián)
文章鏈接:http://aaarwkj.com/article38/dohjpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、ChatGPT、面包屑導(dǎo)航、微信小程序、做網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容