天天看點

12月20日筆記 檔案、目錄權限及相關操作指令

<a href="https://www.hackinglinuxexposed.com/articles/20030417.html">https://www.hackinglinuxexposed.com/articles/20030417.html</a>

<a href="https://www.hackinglinuxexposed.com/articles/20030424.html">https://www.hackinglinuxexposed.com/articles/20030424.html</a>

一、linux檔案的權限

檢視目标權限的指令

”ls -l+檔案名“或”stat -c %a%A“

12月20日筆記 檔案、目錄權限及相關操作指令
12月20日筆記 檔案、目錄權限及相關操作指令

(一)檔案權限字含義

檔案:檔案的基本權限是讀,寫,執行權限:

讀 R:配置設定對檔案的内容進行讀取和檢視檔案的權限。

寫 W:配置設定對檔案的内容進行修改或者删除的權限。

執行 X:允許使用者将該檔案作為一個程式進行執行的權限。

目錄:目錄的基本權限也是讀,寫,執行,但與檔案的權限有一定差別:

讀 R:通路目錄意味着使用者可以讀取目錄下的内容。使用者可以檢視目錄内的檔案名。

寫 W:這個權限意味着使用者可以在目錄下面删除或者建立檔案。

執行 X:執行一個目錄并沒有真正的意義,是以将它當作可以周遊目錄的權限。

我們看下建立的2.txt的權限

12月20日筆記 檔案、目錄權限及相關操作指令

權限的值可以用數字表示,這裡借用視訊中的圖

12月20日筆記 檔案、目錄權限及相關操作指令

這裡所有者有讀寫權限,使用者組與其他使用者隻有讀權限,換算成數字就是644

我們再來看下建立的目錄2的權限

12月20日筆記 檔案、目錄權限及相關操作指令

這裡所有者有讀寫周遊權限,其他兩個組隻有讀和周遊權限。

這樣我們可以算出檔案2.txt的權限數字是644,可以用stat -c %a直接來檢視這個數字。

二、chmod指令

chmod指令用來變更檔案或目錄的權限。在UNIX系統家族裡,檔案或目錄權限的控制分别以讀取、寫入、執行3種一般權限來區分,另有3種特殊權限可供運用。使用者可以使用chmod指令去變更檔案與目錄的權限,設定方式采用文字或數字代号皆可。符号連接配接的權限無法變更,如果使用者對符号連接配接修改權限,其改變會作用在被連接配接的原始檔案。

文法:chmod(選項)(參數)

參數:-R 遞歸處理,将指令目錄下的所有檔案及子目錄一并處理;

-v 顯示操作過程

示例:

1、chmod 數字

12月20日筆記 檔案、目錄權限及相關操作指令
12月20日筆記 檔案、目錄權限及相關操作指令
12月20日筆記 檔案、目錄權限及相關操作指令

2、chmod u=...,g=...,o=...

12月20日筆記 檔案、目錄權限及相關操作指令

3、chmod a+或- r、w、x

12月20日筆記 檔案、目錄權限及相關操作指令

三、chown指令

chown指令改變某個檔案或目錄的所有者和所屬的組,該指令可以向某個使用者授權,使該使用者變成指定檔案的所有者或者改變檔案所屬的組。使用者可以是使用者或者是使用者D,使用者組可以是組名或組id。 隻有檔案主和超級使用者才可以使用該指令。

文法:chown (選項)(參數)

參數:-R或——recursive:遞歸處理,将指定目錄下的所有檔案及子目錄一并處理;

-v或——version:顯示指令執行過程;

1、更改檔案擁有者

12月20日筆記 檔案、目錄權限及相關操作指令
12月20日筆記 檔案、目錄權限及相關操作指令

2、同時更改檔案的擁有者與所屬組,==chgrp

12月20日筆記 檔案、目錄權限及相關操作指令

改回來了!

四、umask

umask指令,(實際工作中很少用^..^)用來設定限制建立檔案權限的掩碼。當新檔案被建立時,其最初的權限由檔案建立掩碼決定。使用者每次注冊進入系統時,将自動設定掩碼mode來限制新檔案的權限

系統預設的umask是0022

12月20日筆記 檔案、目錄權限及相關操作指令

使用touch、mkdir等指令時,将根據umask的值确定新檔案或檔案夾的權限

umask也可以使用類似2、chmod u=...,g=...,o=...的指令設定。注意,是你不要新檔案預設帶什麼權限就把這個權限寫進umask的值中。

1、修改umask的方法:umask 0002或者002,最前面的0可以省略。

12月20日筆記 檔案、目錄權限及相關操作指令

2、權限計算方法

應該将 權限換算成“rwx形式再進行計算”,其中r-r=-,w-w=-,x-x=-;--r=- ,預設的檔案權限計算初始值是(-rw-rw-rw-),目錄的初始值是(drwxrwxrwx)。比如umask設定成0033,那麼換過來就應該是-----wx-wx,那麼用(-rw-rw-rw-)

去減,這裡結果應該是(-rw-r--r--)。

五、lsattr指令與chattr指令

chattr

chattr指令檔案權限屬性設定 chattr指令用來改變檔案屬性。這項指令可改變存放在ext2檔案系統上的檔案或目錄屬性,這些屬性共有以下8種模式:

a:讓檔案或目錄僅供附加用途;

b:不更新檔案或目錄的最後存取時間;

c:将檔案或目錄壓縮後存放;

d:将檔案或目錄排除在傾倒操作之外;

i:不得任意更動檔案或目錄;

s:保密性删除檔案或目錄; 

S:即時更新檔案或目錄;

u:預防意外删除。

<a href="https://en.wikipedia.org/wiki/Chattr">英文wiki中的詳表</a>

12月20日筆記 檔案、目錄權限及相關操作指令

PS:對目錄加i與a權限并不影響對内部已存在的檔案的操作。

參數:-R:遞歸處理,将指令目錄下的所有檔案及子目錄一并處理;

1、給檔案加上i權限

12月20日筆記 檔案、目錄權限及相關操作指令

然後你就不能對這個檔案進行任何操作了,但是可以cp。

12月20日筆記 檔案、目錄權限及相關操作指令
12月20日筆記 檔案、目錄權限及相關操作指令
12月20日筆記 檔案、目錄權限及相關操作指令

i是英文immutable的縮寫,不可改變的意思;

去掉這個權限

指令:

12月20日筆記 檔案、目錄權限及相關操作指令

+i權限不能被繼承,比如上文cp生成的2.txt無+i權限。

12月20日筆記 檔案、目錄權限及相關操作指令

lsattr指令:

lsattr指令用于檢視檔案的第二擴充檔案系統屬性。

參數:

-a  顯示所有檔案和目錄,包括以"."為名稱開頭字元的額外内建,現行目錄"."與上層目錄".."。

-d  顯示,目錄名稱,而非其内容。

-R  遞歸處理,将指定目錄下的所有檔案及子目錄一并處理。

檢視目錄的第二權限

加上 -d選項即可

12月20日筆記 檔案、目錄權限及相關操作指令

疑問 lsattr -vV是什麼?

 本文轉自 whytl 51CTO部落格,原文連結:http://blog.51cto.com/11934539/2052710

繼續閱讀