Linux文件操作權(quán)限的梳理,大家或多或少都了解過linux中的文件讀寫和執(zhí)行的問題,網(wǎng)上對(duì)于該知識(shí)點(diǎn)的梳理很多,但是有些不是很通俗易懂,以下是我在學(xué)習(xí)中的領(lǐng)會(huì),希望對(duì)你們有所幫助。
1、先來看一下Linux中文件權(quán)限的概括:
linux中對(duì)文件有嚴(yán)格的控制,必須要有對(duì)應(yīng)操作的權(quán)限才能對(duì)文件執(zhí)行操作;
linux中文件中權(quán)限分為三個(gè),分別是讀、寫、執(zhí)行,對(duì)應(yīng)的字母分別為 r、w、x
相信大家在linux都看到這樣的一些文件,圖中最前面的一列,例如drwx------ 就是該對(duì)應(yīng)文件root/的權(quán)限,
第一個(gè)字母d代表改文件是個(gè)文件夾,沒有的話則為文件

2、linux權(quán)限分配概念
linux中把權(quán)限分為了三個(gè)粒度,每一個(gè)粒度都可以分配r、w、x權(quán)限,這里是我做一個(gè)簡單的概括,分別是作者,小組成員和其他人。

而最上面的這一行,就是代表了這個(gè)文件對(duì)于這三個(gè)粒度的權(quán)限。
舉個(gè)例子 在一個(gè)名字為ray/的文件中、 做以下權(quán)限的分配:

在linux中看到的效果下面這張圖(最前面的d代表是個(gè)文件,只需要看后面的就可以)
則對(duì)于該文件來說,操作權(quán)限就是:作者本身可以有讀寫和執(zhí)行權(quán)限,小組成員有讀和執(zhí)行權(quán)限,其他人只有執(zhí)行權(quán)限。
3.linux中如何分配權(quán)限
上面我們了解了linux權(quán)限是如何表示的,以及對(duì)應(yīng)粒度權(quán)限的分配,接下來就看看在linux中如何去對(duì)文件進(jìn)行權(quán)限的操作
linux中有一個(gè)對(duì)于文件權(quán)限的操作命令:
chmod
對(duì)文件權(quán)限執(zhí)行以下操作:
① 對(duì)其他人添加可讀權(quán)限,下圖可看到其他人成功添加了讀的權(quán)限
chmod o+r ray/

② 對(duì)其他人添加讀和寫權(quán)限,下圖可看到其他人成功添加了讀和寫的權(quán)限
chmod o+rw ray/

③對(duì)小組成員去除讀的權(quán)限,下面兩張圖是去除前面的對(duì)比,可看到去除后讀權(quán)限已去除
chomd g-w


④對(duì)作者和其他人都去除讀的權(quán)限,看下圖效果
chmod uo-r ray/

另外,chmod還可以通過二進(jìn)制數(shù)來操作文件的權(quán)限,rwx中如果用戶具有權(quán)限的話,則對(duì)應(yīng)位置置1,否則為0:
rwx ——> 111
r-- ——> 100
-w- ——> 010
--x ——> 001
r-x ——> 101
再根據(jù)一下二進(jìn)制轉(zhuǎn)換,可以得到
r=4,w=2,x=1
我們繼續(xù)使用一下前面對(duì)于ray文件的權(quán)限分配圖,希望你能看懂這張圖片,
學(xué)了如何用二進(jìn)制表示文件后,我們就可以直接使用它在linux中操作文件權(quán)限了,執(zhí)行以下命令,
chmod 444 ray/
1、通過圖片可以看到 ray文件的權(quán)限被修改為r--r--r--,我們上面也知道 r—> 4,所以作者、小組成員和其他人的權(quán)限都被修改為讀

chmod 725 ray/
2、作者7 = 4+2+1 = rwx,小組成員 2 = -w- ,其他人5 = 4+1 = r-x,通過以下圖片可以看到文件權(quán)限被修改為rwx-w-r-x ,
