Linux 文件權(quán)限管理

概覽

?

文件權(quán)限管理是Linux/Unix中很基礎(chǔ)也很重要的概念踪蹬,而網(wǎng)上大多充斥著粗制濫造的迷之操作誤人子弟讓人不忍直視,索性在此記錄并與大家分享速种。

本文提及的Linux命令適用于絕大多數(shù)Linux/Unix發(fā)行版癌蓖,如Ubuntu入桂,CentOS, Fedora菠赚,Arch脑豹,蘋果MacOS,Raspberry

Pi衡查,或者其他bash環(huán)境瘩欺,如Git bash等等。

?

環(huán)境


Windows 10 21H1 + Linux子系統(tǒng)Ubuntu 20 LTS + Windows Terminal,本文提及的所有操作都再此環(huán)境下運行俱饿,如果您使用的是MacOS或者任何Linux發(fā)行版歌粥,直接運行操作系統(tǒng)中的terminal亦可。

打開Windows Terminal拍埠,運行命令wsl進入Linux子系統(tǒng):

* PS - PowerShell

* C:\Users\neo - 當前所在Windows目錄

* WSL - Windows Subsystem for Linux

* neo - Linux主機當前登錄用戶

* @ - At失驶,在

* workstation - Linux主機名

* :/mnt/c/Users/neo - Linux當前目錄

* $ - 當前用戶是一個普通用戶,root用戶會顯示為#

neo@workstation:/mnt/c/Users/neo$ 這個完整的解釋是:普通用戶neo在workstation主機中的/mnt/c/Users/neo目錄下



運行cd ~進入home目錄枣购,開始我們的探索之旅

*~ - home目錄

*pwd - print working directory嬉探,打印工作目錄(當前所在目錄)

*/home/neo – 用戶neo的home目錄


準備些素材


使用命令mkdir新建一個目錄’folder’,使用命令touch新建文件’file’棉圈,使用命令ln

-s建立一個軟連接’link’并指向目錄’folder’涩堤,最后使用命令ls -l或者ll命令確認

* mkdir – make directory 建立目錄

* ln – link,-s symbolic分瘾,建立符號鏈接(軟鏈接)

* ls – list胎围,-l list,以列表的方式列出文件和目錄德召,同ll命令(list list)

簡單說明一下這個列表白魂,獨占一行的‘total’是當前目錄內(nèi)所有文件所占磁盤空間的總和(KB),它下面的列表我們分成七列來看:

第一列:就是本文所述的重點上岗,文件屬性(模式)列表

第二列:文件的硬鏈接數(shù)量碧聪,1代表此文件有1個硬鏈接,就是文件本身液茎,可使用ln新建一個硬鏈接指向文件file,再次通過ls -l命令查看辞嗡,兩個文件在此的數(shù)值都變?yōu)榱?捆等;根據(jù)發(fā)行版的不同會有差異,當前文件如果是目錄的話會顯示其包含子目錄的個數(shù)

第三列:owner续室,文件所有者的用戶名

第四列:group栋烤,文件所在組的組名

第五列:文件大小(以字節(jié)為單位,byte挺狰,b)

第六列:文件修改時間明郭,格式為‘月,日丰泊,時:分’

第七列:文件名薯定,顏色顯示依據(jù)不同終端主題和樣式會有差別


文件屬性

?

第一列的文件屬性列表,我們可以繼續(xù)拆分成四列來看:

首列標識了文件的類型瞳购,分別解釋如下:

‘-‘: 此文件是一個普通文件

‘d’: directory, 此文件是一個目錄话侄,目錄也是一個特殊的文件,它存放著其他文件或目錄

‘l’:link,此文件是一個軟鏈接文件

除了以上常見的三種文件標識年堆,還有諸如c吞杭,b,p等特殊文件標識变丧,日常工作中很少用到芽狗,這里就不細說了,感興趣的小伙伴可以另行查閱痒蓬。

在首列文件類型列之后童擎,密密麻麻的有9個字母或橫線組成了一串字符,我們把這9個字符拆分為3組谊却,每組3個字符:

從左至右分別為:

第一組:user柔昼,用戶,即owner炎辨,文件所屬的用戶捕透,對此文件的權(quán)限都有哪些

第二組:group,組碴萧,文件所屬的組內(nèi)所包含的用戶乙嘀,對此文件的權(quán)限都有哪些

第三組:other,其他用戶破喻,除了此文件所有者和此文件所屬組內(nèi)用戶的其他用戶虎谢,對此文件的權(quán)限都有哪些。

每組對應(yīng)的文件權(quán)限又分配有三個屬性曹质,r婴噩,w,x羽德,并且三個屬性的位置是固定不變的几莽,即r永遠在最左側(cè),w永遠在最中間宅静,x永遠在最右側(cè)章蚣。如果某個屬性被禁用,則以橫杠‘-’代替姨夹。三個屬性分別為:

r:read纤垂,可讀

w:write,可寫

x:execute磷账,可執(zhí)行

-:none峭沦,沒有

回到我們剛才查看的文件列表,可以很清楚3個文件的權(quán)限配置:


文件’file’:

-rw-r--r--?1? neo? neo?0? Jul? 31?19:31? file

這是一個普通文件逃糟,允許它的所有者用戶neo讀和寫熙侍,但不允許執(zhí)行;對名為neo的組內(nèi)所有用戶成員,允許他們可讀蛉抓,但不允許修改和執(zhí)行庆尘;對既不是它的擁有者neo也不是neo組內(nèi)成員的其他用戶,允許讀取巷送,但不允許修改和執(zhí)行驶忌。


文件’folder’:

drwxr-xr-x?1? neo? neo?512? Jul? 31?19:31? folder

這是一個文件夾,為它的所有者用戶neo開放所有權(quán)限笑跛; 對名為neo的組內(nèi)所有用戶成員和其他用戶付魔,允許他們讀取和執(zhí)行,但不允許修改飞蹂。


文件’folder’:

lrwxrwxrwx?1? neo? neo?6? Jul? 31?19:31? link -> folder

這是一個鏈接几苍,允許所有用戶讀取,修改和執(zhí)行陈哑。


chown修改文件所有者

文件的持有者可以通過命令chown改變,比如更改文件file的持有者從neo到smith妻坝,此命令如果是普通用戶執(zhí)行的話需要在命令前面加sudo:

sudo chown smith file

chown:change owner,更改持有者

sudo:SuperUser DO惊窖,超級用戶做刽宪,指的是root用戶

chown命令也可以同時修改用戶和組,以‘用戶名:組名’的形式:

sudo chown neo:neo file

chgrp修改文件所在組

文件的所在組可以通過命令chgrp改變,比如更改文件file的組從neo到matrix界酒,此命令如果是普通用戶執(zhí)行的話需要在命令前面加sudo:

sudo chgrp matrix file

chgrp:change group圣拄,更改用戶組


chmod修改文件權(quán)限

我們使用命令chmod修改文件權(quán)限。官方給出的文檔用法是這樣的:

Each MODE is of the form'[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

下面的用法是我自己整理的毁欣,用著比較簡便:

chmod [ugoa][+-=][rwx] [-R]path/filename

*chmod - change file mode bits 修改文件模式位


[ugoa]

u:user庇谆,用戶,為文件所有者修改權(quán)限

例:為文件所有者添加可讀權(quán)限chmod u+r file

g:group凭疮,組族铆,為文件所在組修改權(quán)限

例:為文件所在組添加可讀權(quán)限chmod g+r file

o:other,其他用戶

例:為其他用戶添加可讀權(quán)限chmod o+r file

a:all, 全部哭尝,等同于ugo,為文件所有者剖煌,組和其他用戶全部修改權(quán)限

例:為所有用戶添加可讀權(quán)限chmod a+r file

ugoa也可以隨意組合材鹦,比如為用戶組和其他用戶移除可寫權(quán)限chmod go-w file


[+-=]

+:添加權(quán)限

-:移除權(quán)限

=:使權(quán)限相同,為文件所有者耕姊,組或者其他用戶桶唐,按照指定的所有者,組或者其他用戶茉兰,或者指定的rwx權(quán)限尤泽,分配相同的文件權(quán)限

例:修改組權(quán)限為文件所有者相同的權(quán)限,修改前的組權(quán)限為r--, 修改后為rwx,見下圖:

[rwx]

r:read坯约,可讀

w:write熊咽,可寫(修改)

x:execute,可執(zhí)行

rwx也可隨意組合闹丐,例如横殴,設(shè)置允許其他用戶可讀并且可寫 chmod o+rw file, 再例如設(shè)置移除組和其他用戶的可寫和執(zhí)行權(quán)限chmodgo-wx file


[-R]

遞歸的生效于目標目錄下的所有子目錄和文件


修改文件’file’的權(quán)限卿拴,為其所有者neo增加執(zhí)行權(quán)限:

執(zhí)行命令:chmod u+x file衫仑,再次執(zhí)行命令ls -l確認修改結(jié)果

我們發(fā)現(xiàn)相比之前該文件的權(quán)限,經(jīng)過更改后在用戶組中多出了一個x堕花,變?yōu)榱藃wx文狱;其他兩組沒變,依然是r--


更快捷的方法

如果打開chmod --help缘挽,這個命令的man手冊有一條用法:

chmod [OPTION]... OCTAL-MODE FILE...

Octal-mode:八進制模式瞄崇,此模式分別為r, w, x分配了權(quán)重數(shù)值,即:

r: 4

w: 2

x: 1


回到我們最初新建的3個文件到踏,用八進制標識權(quán)限分別為644,755,777:

所以chmod命令可作用于更加快捷的權(quán)限分配杠袱。例如修改file文件,使得它的持有者可讀可寫(4+2+0=6)窝稿,組只可讀可寫(4+2+0=6)楣富,其他用戶只可讀(4+0+0=4):

chmod 664 file

一個文件的最高權(quán)限是777,即文件所有者伴榔,組和其他用戶都有讀纹蝴,寫和執(zhí)行的權(quán)限,相當于ugo+rwx踪少。

好多文件權(quán)限問題是文件持有者和組的問題塘安,而不要上來就粗暴的給777,當作是玩水果機呢援奢,即使你的環(huán)境非常安全兼犯,但也是一個很不好的習(xí)慣。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末集漾,一起剝皮案震驚了整個濱河市切黔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌具篇,老刑警劉巖纬霞,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異驱显,居然都是意外死亡诗芜,警方通過查閱死者的電腦和手機瞳抓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伏恐,“玉大人孩哑,你說我怎么就攤上這事∑晖澹” “怎么了臭笆?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長秤掌。 經(jīng)常有香客問我愁铺,道長,這世上最難降的妖魔是什么闻鉴? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任茵乱,我火速辦了婚禮,結(jié)果婚禮上孟岛,老公的妹妹穿的比我還像新娘瓶竭。我一直安慰自己,他們只是感情好渠羞,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布声登。 她就那樣靜靜地躺著贫悄,像睡著了一般拇颅。 火紅的嫁衣襯著肌膚如雪镰烧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天屯吊,我揣著相機與錄音送巡,去河邊找鬼。 笑死盒卸,一個胖子當著我的面吹牛骗爆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蔽介,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼摘投,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虹蓄?” 一聲冷哼從身側(cè)響起犀呼,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎武花,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杈帐,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡体箕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年专钉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片累铅。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡跃须,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出娃兽,到底是詐尸還是另有隱情菇民,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布投储,位于F島的核電站第练,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玛荞。R本人自食惡果不足惜娇掏,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望勋眯。 院中可真熱鬧婴梧,春花似錦、人聲如沸客蹋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽讶坯。三九已至番电,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闽巩,已是汗流浹背钧舌。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留涎跨,地道東北人洼冻。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像隅很,于是被迫代替她去往敵國和親撞牢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容