Linux文件操作權限的梳理,大家或多或少都了解過linux中的文件讀寫和執行的問題,網上對于該知識點的梳理很多,但是有些不是很通俗易懂,以下是我在學習中的領會,希望對你們有所幫助。
1、先來看一下Linux中文件權限的概括:
linux中對文件有嚴格的控制,必須要有對應操作的權限才能對文件執行操作;
linux中文件中權限分為三個,分別是讀、寫、執行,對應的字母分別為 r、w、x
相信大家在linux都看到這樣的一些文件,圖中最前面的一列,例如drwx------ 就是該對應文件root/的權限,
第一個字母d代表改文件是個文件夾,沒有的話則為文件
2、linux權限分配概念
linux中把權限分為了三個粒度,每一個粒度都可以分配r、w、x權限,這里是我做一個簡單的概括,分別是作者,小組成員和其他人。
而最上面的這一行,就是代表了這個文件對于這三個粒度的權限。
舉個例子 在一個名字為ray/的文件中、 做以下權限的分配:
在linux中看到的效果下面這張圖(最前面的d代表是個文件,只需要看后面的就可以)
則對于該文件來說,操作權限就是:作者本身可以有讀寫和執行權限,小組成員有讀和執行權限,其他人只有執行權限。
3.linux中如何分配權限
上面我們了解了linux權限是如何表示的,以及對應粒度權限的分配,接下來就看看在linux中如何去對文件進行權限的操作
linux中有一個對于文件權限的操作命令:
chmod
對文件權限執行以下操作:
① 對其他人添加可讀權限,下圖可看到其他人成功添加了讀的權限
chmod o+r ray/
② 對其他人添加讀和寫權限,下圖可看到其他人成功添加了讀和寫的權限
chmod o+rw ray/
③對小組成員去除讀的權限,下面兩張圖是去除前面的對比,可看到去除后讀權限已去除
chomd g-w
④對作者和其他人都去除讀的權限,看下圖效果
chmod uo-r ray/
另外,chmod還可以通過二進制數來操作文件的權限,rwx中如果用戶具有權限的話,則對應位置置1,否則為0:
rwx ——> 111
r-- ——> 100
-w- ——> 010
--x ——> 001
r-x ——> 101
再根據一下二進制轉換,可以得到
r=4,w=2,x=1
我們繼續使用一下前面對于ray文件的權限分配圖,希望你能看懂這張圖片,
學了如何用二進制表示文件后,我們就可以直接使用它在linux中操作文件權限了,執行以下命令,
chmod 444 ray/
1、通過圖片可以看到 ray文件的權限被修改為r--r--r--,我們上面也知道 r—> 4,所以作者、小組成員和其他人的權限都被修改為讀
chmod 725 ray/
2、作者7 = 4+2+1 = rwx,小組成員 2 = -w- ,其他人5 = 4+1 = r-x,通過以下圖片可以看到文件權限被修改為rwx-w-r-x ,