Linux權(quán)限的概念及用法說(shuō)明
一.用戶的分類
Linux下有兩種用戶:超級(jí)用戶(root)、普通用戶。
- 超級(jí)用戶:可以再linux系統(tǒng)下做任何事情,不受限制
- 普通用戶:在linux下做有限的事情。
超級(jí)用戶的命令提示符是“#”,普通用戶的命令提示符是“$”。
- 命令行:用戶名+主機(jī)名+當(dāng)前目錄+命令提示符
- 命令:su [用戶名]
- 功能:切換用戶。 可以通過(guò)exit / ctrl + D 來(lái)退出。
例如,要從root用戶切換到普通用戶user,則使用 su user。
要從普通用戶user切換到root用戶則使用 su root(root可以省略),此時(shí)系統(tǒng)會(huì)提示輸入root用戶的口令。
Linux中,無(wú)論是root 用戶 還是 普通用戶 都必須要有密碼。
如果僅僅相對(duì)一條指令進(jìn)行提權(quán),可以 sudo command (在系統(tǒng)信任白名單時(shí)的操作)
二.Linux權(quán)限管理
文件訪問(wèn)者的分類
- 文件和文件目錄的所有者:u—User
- 文件和文件目錄的所有者所在的組的用戶:g—Group
- 其它用戶:o—Others
文件類型和訪問(wèn)權(quán)限

文件類型
- d:文件夾-:普通文件
- l:軟鏈接(類似Windows的快捷方式)
- b:塊設(shè)備文件(例如硬盤、光驅(qū)等)
- p:管道文件
- c:字符設(shè)備文件(例如屏幕等串口設(shè)備)
- s:套接口文件
基本權(quán)限
- 讀(r):Read對(duì)文件而言,具有讀取文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō),具有瀏覽該目錄信息的權(quán)限
- 寫(w):Write對(duì)文件而言,具有修改文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō)具有刪除移動(dòng)目錄內(nèi)文件的權(quán)限
- 執(zhí)行(x):execute對(duì)文件而言,具有執(zhí)行文件的權(quán)限;對(duì)目錄來(lái)說(shuō),具有進(jìn)入目錄的權(quán)限
“—”表示不具有該項(xiàng)權(quán)限
位置是什么含義是確定的,每一個(gè)位置只有是或否,具有確定的權(quán)限
在進(jìn)行權(quán)限認(rèn)定的時(shí)候,只按照其中一個(gè)用戶進(jìn)行認(rèn)定,即當(dāng)一個(gè)角色是兩個(gè)用戶時(shí)按照其中一個(gè)來(lái)算。

八進(jìn)制表示
第二到第十位,每三個(gè)代表一個(gè)用戶權(quán)限。每一位用戶只有三種權(quán)限,因此可以使用八進(jìn)制表示所擁有的權(quán)限

文件訪問(wèn)權(quán)限的相關(guān)設(shè)置
1.chmod
權(quán)限類型
- 讀取權(quán)限(r):可以查看文件內(nèi)容,或者列出目錄中的文件。
- 寫入權(quán)限(w):能夠修改文件內(nèi)容,或者在目錄中創(chuàng)建、刪除文件。
- 執(zhí)行權(quán)限(x):可以運(yùn)行文件(針對(duì)可執(zhí)行文件),或者進(jìn)入目錄。
權(quán)限作用對(duì)象
- 用戶(u):文件或目錄的所有者。
- 組(g):文件或目錄所屬的用戶組。
- 其他(o):除了所有者和所屬組之外的其他用戶。
- 所有(a):包含用戶、組和其他,也就是全部用戶。
數(shù)字表示法
- 4:對(duì)應(yīng)讀取權(quán)限(r)。
- 2:對(duì)應(yīng)寫入權(quán)限(w)。
- 1:對(duì)應(yīng)執(zhí)行權(quán)限(x)。
- 0:表示沒(méi)有任何權(quán)限。
基本語(yǔ)法
chmod [參數(shù)] 權(quán)限設(shè)置 文件/目錄名
常見選項(xiàng)
R -> 遞歸修改目錄文件的權(quán)限 說(shuō)明:只有文件的擁有者和root才可以改變文件的權(quán)
常見用法:
數(shù)字方式修改權(quán)限
# 賦予文件所有者讀、寫、執(zhí)行權(quán)限,組用戶讀、執(zhí)行權(quán)限,其他用戶讀權(quán)限 chmod 754 filename # 讓文件所有用戶都擁有讀、寫、執(zhí)行權(quán)限 chmod 777 filename # 為目錄賦予所有者讀、寫、執(zhí)行權(quán)限,組用戶和其他用戶讀、執(zhí)行權(quán)限 chmod 755 directory
符號(hào)方式修改權(quán)限
用戶表示符+/-=權(quán)限字符
# 給文件所有者添加執(zhí)行權(quán)限 chmod u+x filename # 移除文件組用戶的寫入權(quán)限 chmod g-w filename # 讓其他用戶擁有和組用戶一樣的權(quán)限 chmod o=g filename # 給所有用戶添加讀取權(quán)限 chmod a+r filename
遞歸修改目錄權(quán)限
# 遞歸地給目錄及其包含的所有文件賦予 755 權(quán)限 chmod -R 755 directory
參考其他文件修改權(quán)限
# 讓 file1 的權(quán)限和 file2 相同 chmod --reference=file2 file1
2.chown
chown 功能:修改文件的擁有者
格式:chown [參數(shù)] 用戶名 文件名
- 實(shí)例:
# chown user1 f1 # chown -R user1 filegroup1
需要 root 權(quán)限:普通用戶無(wú)法使用 chown 命令,必須通過(guò) sudo 或以 root 用戶身份執(zhí)行。
3.chgrp
- 功能:修改文件或目錄的所屬組
- 格式:chgrp [參數(shù)] 用戶組名 文件名
- 常用選項(xiàng):-R 遞歸修改文件或目錄的所屬組
實(shí)例:
chgrp users /abc/f2
4.umask
功能:
- 查看或修改文件掩碼
- 新建文件夾默認(rèn)權(quán)限=0666
- 新建目錄默認(rèn)權(quán)限=0777
但實(shí)際上你所創(chuàng)建的文件和目錄,看到的權(quán)限往往不是上面這個(gè)值。原因就是創(chuàng)建文件或目錄的時(shí)候還要受到umask的影響。
假設(shè)默認(rèn)權(quán)限是mask,則實(shí)際創(chuàng)建的出來(lái)的文件權(quán)限是: mask & ~umask 最終權(quán)限 = 起始權(quán)限 & (~umask)凡是在權(quán)限掩碼中出現(xiàn)的權(quán)限,都不會(huì)在最終權(quán)限中出現(xiàn)。
格式:umask 權(quán)限值
說(shuō)明:將現(xiàn)有的存取權(quán)限減去權(quán)限掩碼后,即可產(chǎn)生建立文件時(shí)預(yù)設(shè)權(quán)限。超級(jí)用戶默認(rèn)掩碼值為0022,普通用戶默認(rèn)為0002。
目錄的權(quán)限
r:是否允許我們查看指定目錄下的文件
w:是否允許我們?cè)诋?dāng)前目錄下進(jìn)行創(chuàng)建,更改,刪除
x:是否允許用戶進(jìn)入對(duì)應(yīng)的目錄
- 普通用戶的家目錄權(quán)限是700,我在我的家目錄中創(chuàng)建的文件,別人看不到。
- 有時(shí)候,多個(gè)用戶要進(jìn)行文件的傳輸,所以共享文件不能位任何一個(gè)人的家目錄下的文件。
- 文件能否刪除,不由文件本身決定,而是由文件所處的目錄
w決定。 - 如果移除共享目錄的
w權(quán)限,則同時(shí)無(wú)法創(chuàng)建文件,則無(wú)法共享。 - 粘滯位:給目錄設(shè)置,一般為共享目錄,大家都可以對(duì)目錄中的文件進(jìn)行增刪查改,但只有文件擁有者和root能刪除這個(gè)文件,其他人不可以。``其他用戶權(quán)限x會(huì)變?yōu)閠`
- 當(dāng)一個(gè)目錄被設(shè)置為"粘滯位"(用chmod +t),則該目錄下的文件只能由超級(jí)管理員刪除 ,該目錄的所有者刪除 ,該文件的所有者刪除
權(quán)限的總結(jié)
目錄的可執(zhí)行權(quán)限是表示你可否在目錄下執(zhí)行命令。
如果目錄沒(méi)有-x權(quán)限,則無(wú)法對(duì)目錄執(zhí)行任何命令,甚至無(wú)法cd 進(jìn)入目, 即使目錄仍然有-r 讀權(quán)限(這個(gè)地方很容易犯錯(cuò),認(rèn)為有讀權(quán)限就可以進(jìn)入目錄讀取目錄下的文件)
而如果目錄具有-x權(quán)限,但沒(méi)有-r權(quán)限,則用戶可以執(zhí)行命令,可以cd進(jìn)入目錄。但由于沒(méi)有目錄的讀權(quán)限
所以在目錄下,即使可以執(zhí)行l(wèi)s命令,但仍然沒(méi)有權(quán)限讀出目錄下的文檔。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡
這篇文章主要介紹了Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
linux下使用cmake編譯安裝mysql的詳細(xì)教程
這篇文章主要介紹了linux下使用cmake編譯安裝mysql的詳細(xì)教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
ROS控制Turtlebot3移動(dòng)機(jī)器人的基礎(chǔ)教程
這篇文章主要給大家介紹了關(guān)于ROS控制Turtlebot3移動(dòng)機(jī)器人的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
CentOS7 LNMP+phpmyadmin環(huán)境搭建 第三篇phpmyadmin安裝
這篇文章主要介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建,第三篇phpmyadmin安裝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
三種方法實(shí)現(xiàn)Linux系統(tǒng)調(diào)用
這篇文章主要介紹了三種方法實(shí)現(xiàn)Linux系統(tǒng)調(diào)用,感興趣的朋友可以參考一下2016-01-01

