兄弟們,我又回來了,幾天不寫博客真是渾身難受呢(當(dāng)然是騙人的。。。)但本周學(xué)的內(nèi)容還蠻多的,感覺不整理一下又得白學(xué)了。還有本周學(xué)了聽著很高大上的腳本,雖然感覺蠻難的吧,但是聽老師的口氣貌似和之前一些基本命令的用法有著很大的關(guān)系,命令學(xué)的好不好直接決定你腳本編的好不好,第一感覺腳本就跟C++里面的函數(shù)是一個(gè)東西,就是把很多命令集中成一個(gè)文件,讓計(jì)算機(jī)集中去處理,完成某一特定功能,感覺好像走遠(yuǎn)了,先從用戶的權(quán)限管理說起吧。
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司十余年經(jīng)驗(yàn)成就非凡,專業(yè)從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,成都網(wǎng)頁設(shè)計(jì),成都網(wǎng)頁制作,軟文平臺,1元廣告等。十余年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:18982081108,我們期待您的來電!
用戶的權(quán)限管理主要分為一下兩點(diǎn):
普通權(quán)限:
特殊權(quán)限:
跟其相關(guān)的還有一個(gè)叫做FACL的東西這個(gè)后面再討論
首先我們先明確一下為什么用戶的權(quán)限要分為普通和特殊權(quán)限?
因?yàn)槊恳粋€(gè)用戶使用計(jì)算機(jī)的過程中,必然存在對有限計(jì)算機(jī)資源使用的限制性,那么操作系統(tǒng)就必須提供一種途徑來保證每個(gè)用戶獨(dú)立、合理的使用計(jì)算機(jī)。
解決完這個(gè)問題后我們來淺析一下用戶的權(quán)限管理
首先用戶的普通權(quán)限:
說到用戶的普通權(quán)限我們又不得不說到上周提到過的安全上下文
進(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.按照文件其他用戶權(quán)限進(jìn)行授權(quán)
對于用戶的授權(quán)一般按照以上順序進(jìn)行,下面我們來說說用戶權(quán)限的構(gòu)成
用戶的權(quán)限分為使用權(quán)(MODE0)和所有權(quán)(OWNERSHIP)
MODE(Permission):使用權(quán)
r:Readable,可讀
w:Writable,可寫
x:Executable,可執(zhí)行
我們分幾個(gè)方面對用戶的使用權(quán)進(jìn)行理解一下,首先是對于目錄而言:
r:可以使用ls命令獲得其中所有的文件名的列表:ls -l命令來獲取目錄文件中的詳細(xì)的屬性信息,不能使用cd命令進(jìn)入其中,也不能在路徑中引用該目錄
w:可以修改此目錄下的文件名或文件名列表,即:可以在此目錄中創(chuàng)建、修改或刪除文件名
x:可以使用ls-l命令來獲取其中的文件的詳細(xì)屬性信息,也可以在路徑中引用該目錄,也可以使用cd命令進(jìn)入其中
注意:x權(quán)限是最基本權(quán)限,任何目錄都必須對任何用戶開放x權(quán)限
為什么說對于目錄而言,必須給任何用戶開放x權(quán)限呢,對于目錄文件來說,我們在進(jìn)行命令操作的時(shí)候,經(jīng)常要通過引用文件的目錄去指引計(jì)算機(jī)找到這個(gè)文件,如果不給予計(jì)算機(jī)這個(gè)權(quán)限的話,這會對我們用戶管理計(jì)算機(jī)帶來極大的不便
在一個(gè)就是對于文件而言:
文件:
r:可以查看或獲取文件中存放的數(shù)據(jù)
w:可以修改文件中存放的數(shù)據(jù)
x:可以將此文件發(fā)起運(yùn)行為進(jìn)程
前兩個(gè)選項(xiàng)不難理解,基本上和目錄一樣,對于x權(quán)限,我們認(rèn)為,一旦文件對我們用戶開放了這個(gè)權(quán)限,我們就可以將其發(fā)起為一個(gè)進(jìn)程去執(zhí)行,而不是簡單地打開去讀取它或者修改它。
對于權(quán)限在計(jì)算機(jī)中的表示我們使用以下幾種表示方式
例:rw-r--r--:三個(gè)權(quán)限位-屬主、屬組、其他用戶
屬主權(quán)限:rw-
屬組權(quán)限:r--
其他用戶權(quán)限:r--
顯而易見,屬主對于其有可讀和可寫的權(quán)限,而屬組對于其只有刻度的權(quán)限,其他用戶和屬組一樣,只對其有可讀的權(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ī)安全考慮,必須對于權(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:符號權(quán)限標(biāo)識符
u,g,o,a標(biāo)識所有權(quán)
+,-,=標(biāo)識授權(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)的只為屬主添加寫權(quán)限
注意:文件的執(zhí)行權(quán)限:Linux的文件系統(tǒng)來說,非常重要的安全標(biāo)識,一旦文件具備了執(zhí)行權(quán)限,就意味著該文件可以被發(fā)起執(zhí)行為進(jìn)程,所以默認(rèn)情況下文件都不具備執(zhí)行權(quán)限
2.chmod [OPTION]... OCTAL-MODE FILE...
如果使用八進(jìn)制數(shù)字標(biāo)識法的話,則每次必須給足所有的權(quán)限位,如果給的權(quán)限位不完整,文件系統(tǒng)會自動補(bǔ)足,將給定的權(quán)限放置在右側(cè),左側(cè)使用0來補(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)識
說完了使用權(quán),再說說所有權(quán):
OWNERSHIP:所有權(quán)
屬主:資源掌控的某個(gè)特定用戶:owner(user),u
屬組:是資源掌控的某些特定用戶:group,g
其他用戶:未曾掌控資源的那些用戶:other,o
全部用戶:all,a
對于文件的屬主和屬組我們也可以進(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操作只有超級用戶(root)可以完成
chgrp:只能修改文件的屬組
chgrp - change group ownership
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
一般我們用chown就可以滿足用戶對于文件屬主和屬組的修改,對于chgrp我們也可以記住。
下面我們再來說幾個(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)歷了會進(jìn)入目錄,依次復(fù)制其中的所有非目錄文件到目標(biāo)位置
我們用install命令可以在復(fù)制文件的過程中,對其使用權(quán)和所有權(quán)進(jìn)行修改,比如說在復(fù)制過程中給文件加上了執(zhí)行權(quán)限,那么復(fù)制完之后的文件就可以被發(fā)起為進(jìn)程
mktemp命令:
一般來講,臨時(shí)文件都會創(chuàng)建在/tmp或/var/tmp目錄中,無需手動刪除,系統(tǒng)會定期刪除這兩個(gè)目錄中的文件
選項(xiàng):
-d, --directory:可以創(chuàng)建臨時(shí)目錄
例:
mktemp [-d] /PATH/TO/TMP.XXXXXXXXXXXX
這個(gè)命令方便我們創(chuàng)建臨時(shí)目錄,而且不用自己手動對其進(jìn)行刪除操作,計(jì)算機(jī)會定期清理
說完了普通權(quán)限,我們再說一下特殊權(quán)限,特殊權(quán)限主要就是SUID、SGID、STICKY
默認(rèn)情況下,用戶發(fā)起執(zhí)行一個(gè)進(jìn)程,該進(jìn)程的發(fā)起者是其屬主,也就是說,該進(jìn)程是以其發(fā)起者的身份在運(yùn)行
SUID:
功能作用:用戶發(fā)起一個(gè)進(jìn)程時(shí),該程序文件如果擁有SUID權(quán)限的話,則此程序發(fā)起的進(jìn)程其屬主為該程序文件的屬主,而不是其發(fā)起者,這句話的意思就是我們不管是哪個(gè)用戶發(fā)起的這個(gè)進(jìn)程,只要這個(gè)文件具有SUID權(quán)限的話,我們都認(rèn)為其所有者是這個(gè)文件的屬主,而不是發(fā)起這個(gè)進(jìn)程的用戶
SUID權(quán)限顯示的位置:文件的屬主權(quán)限中的執(zhí)行權(quán)限位,如果屬主本來就有執(zhí)行權(quán)限則顯示為s,否則顯示為S
管理文件的SUID權(quán)限:
chmod u+|-s FILE
SGID:
如果某個(gè)目錄的對于一些用戶有寫權(quán)限并且設(shè)置了SGID權(quán)限,則所有對此目錄有寫權(quán)限的用戶在創(chuàng)建新的文件或目錄以后,新文件的屬組不再是創(chuàng)建用戶的基本組,而是繼承了該目錄的屬組
SGID顯示位置:文件的屬組權(quán)限中的執(zhí)行權(quán)限位:如果屬組本來有執(zhí)行權(quán)限,顯示為s,否則顯示為S
管理文件的SGID權(quán)限:
chmod g+|- s FILE
SICKY:sticky(粘性的):粘滯位
如果某個(gè)目錄中,有超過一個(gè)用戶可以有寫權(quán)限,則這多個(gè)用戶都可以在該目錄中隨意創(chuàng)建、修改和刪除文件名
STICKY的功能作用:
如果為上述的類似目錄設(shè)置了STICKY權(quán)限,則每個(gè)用戶仍舊能夠創(chuàng)建和修改文件名,但每個(gè)用戶只能刪除那些屬主為其自身的文件名
STICKY權(quán)限的顯示位置:在文件權(quán)限的其他用戶的執(zhí)行權(quán)限位,如果原來就有執(zhí)行權(quán)限的話顯示為t,否則顯示為T
管理文件的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)限對應(yīng)的八進(jìn)制數(shù)字放置于普通權(quán)限八進(jìn)制數(shù)字的前面即可
例:想要給某個(gè)目錄加上粘滯位
chmod 1755 DIRECTORY
粘滯位的存在主要是對root用戶提供限制,防止root用戶由于失誤對計(jì)算機(jī)做出不可挽回的損失。
下面我們再了解一下權(quán)限遮罩碼的概念,我們知道我們在創(chuàng)建文件的時(shí)候,計(jì)算機(jī)會默認(rèn)的給文件授權(quán),那么計(jì)算機(jī)是根據(jù)什么標(biāo)準(zhǔn)給文件授權(quán)的呢,我們就得說到權(quán)限遮罩碼的概念了。
root:0022
不考慮特殊權(quán)限位
對于新創(chuàng)建的文件或目錄,不遮擋屬主的任何權(quán)限,遮住了數(shù)組的寫權(quán)限和其他用戶的寫權(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來遮罩權(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:會使用+-=的方式來設(shè)置
整個(gè)chattr命令最關(guān)鍵最核心的設(shè)置就是mode部分:
[aAcCdDeijsStTu]都是所需要的屬性
+:在原有屬性設(shè)定的基礎(chǔ)上添加新屬性
-:從原有屬性設(shè)定中移除指定的屬性
=:不考慮原有的屬性設(shè)置,直接將文件的屬性更新為指定的屬性內(nèi)容
a:append 設(shè)置這個(gè)屬性的文件其內(nèi)容不能被更改和刪除,只能以追加的方式向文件中寫數(shù)據(jù),多數(shù)的服務(wù)器日志類文件會設(shè)置為此屬性
A:atime,文件的訪問時(shí)間戳,IO瓶頸:設(shè)置A屬性可以使得文件在被訪問時(shí)不更改文件的訪問時(shí)間戳,從而可以有效地防止IO瓶頸事件的發(fā)生
c:設(shè)置文是否自動壓縮后再行存儲
C:設(shè)置文件是否開啟“寫時(shí)復(fù)制”屬性
d:設(shè)置文件在使用dump進(jìn)行備份的時(shí)候,不會成為備份目標(biāo)
D:設(shè)置文件在文件系統(tǒng)中的異步寫操作
i:設(shè)置文件不能被刪除、修改、設(shè)定鏈接關(guān)系
s:設(shè)置文件的保密性刪除,一旦設(shè)置s屬性的文件被刪除,其對應(yīng)存儲設(shè)備中的使用空間會被一并收回
u:跟s屬性相反,如果這樣的文件被刪除,則其存儲于設(shè)備中的數(shù)據(jù)被留存
最常用的屬性其實(shí)就是i和a
常用選項(xiàng):
-R:遞歸的去設(shè)置指定目錄中的所有文件和子目錄中的文件
除了以上所講的管理用戶的權(quán)限方法之外,計(jì)算機(jī)還提供給我們另一種管理文件權(quán)限的方法
為文件賦予額外的權(quán)限的機(jī)制:FACL:File Access Control List,文件訪問控制列表
文件的額外賦權(quán)機(jī)制:
在原有的u,g,o權(quán)限位之外,讓普通用戶能夠控制權(quán)限賦予另外的用戶和組的一種賦權(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,指定的訪問控制列表
u:USERNAME:MODE
g:GROUPNAME:MODE
MODE:一般使用符號權(quán)限標(biāo)識法
為用戶賦予額外權(quán)限:
setfacl -m u:USERNAME:MODE FILE...
為組賦予額外權(quán)限:
setfacl -m g:USERNAME:MODE FILE...
撤銷為用戶賦予額外權(quán)限:
setfacl -x u:USERNAME
撤銷為組賦予額外權(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)于用戶的權(quán)限管理,學(xué)的有點(diǎn)云里霧里的,還得配合著作業(yè)去鞏固一下。
網(wǎng)站欄目:用戶的權(quán)限管理
網(wǎng)頁URL:http://chinadenli.net/article10/gioogo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、企業(yè)建站、App開發(fā)、全網(wǎng)營銷推廣、服務(wù)器托管、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)