一文詳解Linux權(quán)限的相關(guān)知識(shí)
Linux權(quán)限的概念
Linux下的兩種用戶:超級(jí)用戶(root),普通用戶
超級(jí)用戶(root):再Linux系統(tǒng)下可以做任何事
普通用戶:在Linux下做有限的事
超級(jí)用戶的命令提示符是'#' ,普通用戶的命令提示符是'$'
我們通過(guò)現(xiàn)實(shí)的例子來(lái)看看吧!
root用戶
普通用戶
命令:su [用戶名]
功能:切換用戶
舉例講解
我們假設(shè)要從root用戶切換到普通用戶的話,就需要輸入指令
su user
,那么我們假設(shè)從普通用戶切換到root用戶的話,直接su一下就行了
輸入
su user
輸出
這里的原本處于root用戶,但是現(xiàn)在我們su 到指定的用戶名上,就可以直接進(jìn)去啦,這里就可以看出root 的權(quán)限其實(shí)是很大的,直接一句指令就可以想到哪里就到哪了
輸入
su
輸出
這里我們輸入su,他會(huì)提示我們輸入密碼,記住在Linux下,你輸密碼你是看不見(jiàn)滴,所以不用擔(dān)心沒(méi)有輸入成功噢,這里我們輸完root密碼之后就進(jìn)入了root目錄啦。
Linux權(quán)限管理
文件訪問(wèn)者分類
當(dāng)我們創(chuàng)建了一個(gè)文件之后我們會(huì)發(fā)現(xiàn)前面都會(huì)帶一些rwx什么的那么這是什么呢?在介紹這些之前,我們先來(lái)了解一下Linux有哪幾個(gè)訪問(wèn)者組成
文件和文件目錄的所有者:u-User(類似于自己的意思)
文件和文件目錄的所有者所在組的用戶:g-group(組的意思)
其他用戶:o-other(其他人,不屬于同組且不是你自己)
顯示
文件類型和訪問(wèn)權(quán)限
文件類型
d:文件夾
-:普通文件
l:軟鏈接(類似Windows的快捷方式)
b:塊設(shè)備文件(例如硬盤、光驅(qū)等)
??????p:管道文件
c:字符設(shè)備文件(例如屏幕等串口設(shè)備)
s:套接口文件
基本權(quán)限
i.讀(r/4):Read對(duì)文件而言,具有讀取文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō),具有瀏覽該目錄信息的權(quán)限
ii.寫(w/2):Write對(duì)文件而言,具有修改文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō)具有刪除移動(dòng)目錄內(nèi)文件的權(quán)限
iii.執(zhí)行(x/1):execute對(duì)文件而言,具有執(zhí)行文件的權(quán)限;對(duì)目錄來(lái)說(shuō),具有進(jìn)入目錄的權(quán)限
iv.“—”表示不具有該項(xiàng)權(quán)限
文件權(quán)限值得表示方法
字符表示法
Linux表示 | 說(shuō)明 | Linux表示 | 說(shuō)明 |
---|---|---|---|
r- - | 只讀 | -w- | 只寫 |
–x | 僅可執(zhí)行 | rw- | 可讀可寫 |
-wx | 可寫和可執(zhí)行 | r-x | 可讀可執(zhí)行 |
rwx | 可讀可寫可執(zhí)行 | - - - | 無(wú)權(quán)限 |
文件訪問(wèn)權(quán)限的相關(guān)設(shè)置方法
語(yǔ)法:chmod
功能:設(shè)置文件的訪問(wèn)權(quán)限
格式:chmod [參數(shù)] 權(quán)限 文件名
常用選項(xiàng)
R -> 遞歸修改目錄文件的權(quán)限
說(shuō)明:只有文件的擁有者和root才可以改變文件的權(quán)限
chmod命令權(quán)限值得格式
用戶表示符+/-=權(quán)限
+:向權(quán)限范圍增加權(quán)限代號(hào)所表示的權(quán)限
-:向權(quán)限范圍取消權(quán)限代號(hào)所表示的權(quán)限
=:向權(quán)限范圍賦予權(quán)限代號(hào)所表示的權(quán)限
用戶符號(hào):
u:擁有者
g:擁有者同組用
o:其它用戶
a:所有用戶
輸入
chmod u-w test.c
輸出
從上圖可以看出,該test.c文件中user原本有寫的權(quán)限,但是我們剛才把user的寫權(quán)限刪掉了。
chown
功能:修改文件的擁有者
格式:chown [參數(shù)] 用戶名 文件名
實(shí)例
chown user1 f1 chown -R user1 filegroup1
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
輸入
umask
輸出
說(shuō)明:將現(xiàn)有的存取權(quán)限減去權(quán)限掩碼后,即可產(chǎn)生建立文件時(shí)預(yù)設(shè)權(quán)限。超級(jí)用戶默認(rèn)掩碼值為0022,普通用戶默認(rèn)為0002。
file指令
功能:辨識(shí)文件類型
語(yǔ)法:file [選項(xiàng)] 文件或目錄
常見(jiàn)選項(xiàng)
-c 詳細(xì)顯示指令執(zhí)行過(guò)程,便于排錯(cuò)或分析程序執(zhí)行的情形。
-z 嘗試去解讀壓縮文件的內(nèi)容。
目錄的權(quán)限
可執(zhí)行權(quán)限: 如果目錄沒(méi)有可執(zhí)行權(quán)限, 則無(wú)法cd到目錄中.
可讀權(quán)限: 如果目錄沒(méi)有可讀權(quán)限, 則無(wú)法用ls等命令查看目錄中的文件內(nèi)容
可寫權(quán)限: 如果目錄沒(méi)有可寫權(quán)限, 則無(wú)法在目錄中創(chuàng)建文件, 也無(wú)法在目錄中刪除文件
這時(shí)候就有個(gè)問(wèn)題了, 就是只要用戶具有目錄的寫權(quán)限, 用戶就可以刪除目錄中的文件, 而不論這個(gè)用戶是否有這個(gè)文件的寫權(quán)限.
我們來(lái)驗(yàn)證一下
輸入
[root@localhost ~]# chmod 0777 /home/ [root@localhost ~]# ls /home/ -ld drwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/ [root@localhost ~]# touch /home/root.c [root@localhost ~]# ls -l /home/ 總用量 4 -rw-r--r--. 1 root root 0 9月 19 15:58 abc.c drwxr-xr-x. 27 litao litao 4096 9月 19 15:53 litao -rw-r--r--. 1 root root 0 9月 19 15:59 root.c [root@localhost ~]# su - litao [litao@localhost ~]$ rm /home/root.c #litao可以刪除root創(chuàng)建的文件 rm:是否刪除有寫保護(hù)的普通空文件 "/home/root.c"?y [litao@localhost ~]$ exit logout
為了解決這個(gè)不科學(xué)的問(wèn)題, Linux引入了粘滯位的概念
粘滯位
[root@localhost ~]# chmod +t /home/ # 加上粘滯位 [root@localhost ~]# ls -ld /home/ drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/ [root@localhost ~]# su - litao [litao@localhost ~]$ rm /home/abc.c #litao不能刪除別人的文件 rm:是否刪除有寫保護(hù)的普通空文件 "/home/abc.c"?y rm: 無(wú)法刪除"/home/abc.c": 不允許的操作
當(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)限讀出目錄下的文檔。
以上就是一文詳解Linux權(quán)限的相關(guān)知識(shí)的詳細(xì)內(nèi)容,更多關(guān)于Linux權(quán)限的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
linux?shell?解析命令行參數(shù)及while?getopts用法小結(jié)
這篇文章主要介紹了linux?shell?解析命令行參數(shù)及while?getopts用法,getpots是Shell命令行參數(shù)解析工具,旨在從Shell?Script的命令行當(dāng)中解析參數(shù),本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2022-05-05Linux Shell腳本系列教程(五):數(shù)學(xué)運(yùn)算
這篇文章主要介紹了Linux Shell腳本系列教程(五):數(shù)學(xué)運(yùn)算,本文講解了使用let、(())和[]進(jìn)行算術(shù)運(yùn)算、使用expr進(jìn)行算術(shù)運(yùn)算、使用bc進(jìn)行算術(shù)運(yùn)算三種方法,需要的朋友可以參考下2015-06-06shell腳本編程之case語(yǔ)句學(xué)習(xí)筆記
這篇文章主要介紹了shell腳本編程之case語(yǔ)句學(xué)習(xí)筆記,本文代碼中包含注釋來(lái)說(shuō)明case語(yǔ)句的使用,需要的朋友可以參考下2014-09-09CentOS Stream release 9使用chrony服務(wù)同步時(shí)間的操作方法
這篇文章主要介紹了CentOS Stream release 9 使用chrony服務(wù)同步時(shí)間,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-04-04Linux traceroute命令使用方法實(shí)例詳解
這篇文章主要介紹了Linux traceroute命令使用方法實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解應(yīng)用這部分內(nèi)容, 需要的朋友可以參考下2017-10-10使用Shell腳本如何啟動(dòng)/停止Java的jar程序
這篇文章主要介紹了使用Shell腳本如何啟動(dòng)/停止Java的jar程序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12linux shell數(shù)組深入學(xué)習(xí)理解
本文為大家介紹linux shell數(shù)組的相關(guān)知識(shí),并提供了充足的例子供參考,這么好的東東,千萬(wàn)不要錯(cuò)過(guò)2013-02-02