Linux中改變檔案許可權的chmod命令詳析

2022-09-26 14:42:18 字數 2769 閱讀 5774

前言

linux的chmod命令是用來改變檔案許可權的,對於檔案或者目錄的普通許可權,共有 3 種,分別為:

r:讀取;

w:寫入;

x:執行。

今天為大家詳細介紹下chmod命令的意義和用法

chmod命令 改變檔案許可權

一、符號模式

命令格式:

chmod [who] operator [permission] filename

who包含的選項及其含義:

u 檔案屬主許可權。

g 屬組使用者許可權。

o 其他使用者許可權。

a 所有使用者(檔案屬主、屬組使用者及其他使用者)。

operator包含的選項及其含義:

增加許可權。

取消許可權。

設定許可權。

permission包含pjxzq的選項及其含義:

r 讀許可權。

w 寫許可權。

x 執行許可權。

s 檔案屬主和組set-id。

t 粘性位*。

l 給檔案加鎖,使其他使用者無法訪問。

u,g,o 針對檔案屬主、屬組使用者及其他使用者的操作。

filename為想要操作的檔案的檔名。

* 在列檔案或目錄時,有時會遇到「 t」位。「t」代表了粘性位。如果在乙個目錄上出現「t」位,這就意味著該目錄中的檔案只有其屬主才可以刪除,即使某個屬組使用者具有和屬主同等的許可權。不過有的系統在這一規則上並不十分嚴格。

如果在檔案列表時看到「 t」,那麼這就意味著該指令碼或程式在執行時會被放在交換區(虛存)。

關於「t」許可權的進一步解釋

1、t 許可權是粘著位

例:tmp目錄下,任何人都有讀寫執行許可權,但是不是任何人對裡邊的可寫許可權的檔案就可以刪除呢,當然不是了,這個就是粘著位的做用,只有所有者才有權刪除自已的檔案,當然,root除外

2、關於檔案安全的另一種許可權,i許可權 也就是不可修改許可權

例:chattr u+i aaa 則aaa檔案就不可修改,無論任何人,如果刪除就用u-i就好了。a 許可權 也就是只追加許可權, 對於日誌系統很好用,這個許可權讓目標檔案只能追加,不能刪除,而且不能通過編輯器追加。方法和i許可權一樣加

如果想要看某個檔案是不是有這個許可權,用lsattr filename就行了

改變許可權的例子(temp為一檔案):

chmod a-x temp //rw- rw- rw- 收回所有使用者的執行許可權

chmod og-w temp //rw- r-- r- - 收回屬組使用者和其他使用者的寫許可權

chmod g+w temp //rw- rw- r- - 賦予屬組使用者寫許可權

chmod u+x temp //rwx rw- r- - 賦予檔案屬主執行許可權

chmod go+x temp //rwx rwx r- x 賦予屬組使用者和其他使用者執行許可權

二、絕對模式

命令格式

chmod [mode] file

其中mode為乙個8進製數,每乙個許可權由乙個8進製數表示。

例如:0 4 0 0 檔案屬主可讀

0 2 0 0 檔案屬主可寫

0 1 0 0 檔案屬主可執行

0 0 4 0 屬組使用者可讀

0 0 2 0 屬組使用者可寫

0 0 1 0 屬組使用者可執行

0 0 0 4 其他使用者可讀

0 0 0 2 其他使用者可寫

0 0 0 1 其他使用者可執行

在設定許可權的時候,只需按照上面查出與檔案屬主、屬組使用者和其他使用者所具有的許可權相對應的數字,並把它們加起來,就是相應的許可權表示。

例如,temp檔案的符號模式許可權查出為:

-rwxr--r-- 1 wjr root 0 2008-程式設計客棧09-21 16:40 temp

最前面的「-」表示文程式設計客棧件為一般檔案.

則,相應的絕對模式許可權換算過程為:

rwx:0400 + 0200 +0100 (檔案屬主可讀、寫、執行) = 0 7 0 0

r--:0 0 4 0 (屬組使用者可讀) = 0 0 4 0

r--:0 0 4 0 (屬組使用者可讀) = 0 0 4 0

0 7 4 4

也可以這樣算:

對應的8進製值如下,有相應許可權則加上該值,沒有則記零,

檔案屬主:r w x:4 + 2 + 1

屬組使用者:r w x:4 + 2 + 1

其他使用者:r w x:4 + 2 + 1

temp檔案的許可權為:

r w x r - - r - -

4+2+1 4 4

把相應的許可權加在一起,就是744

可以看出,檔案屬主、屬組使用者和其他使用者分別所能夠具有的最大許可權值就是7。

改變許可權的命令如:

$chmod 744 temp

$ls -l temp

結果:-rwxr--r-- 1 wjr root 0 2008-09-21 16:40 temp

命令:$chmod 766 temp

$ls -l temp

結果:-rwxrw-rw- 1 wjr root 0 2008-09-21 16:40 temp

還可以通過使用 -r 選項連同子目錄下的程式設計客棧檔案一起設定:

$chmod -r 664 /temp/*

這樣就可以一次將/ temp目錄下的所有檔案連同各個子目錄下的檔案的許可權全部設定為檔案屬主和屬組使用者可讀和寫,其他使用者唯讀。

使用- r選項一定要謹慎,只有在需要改變目錄樹下全部檔案許可權時才可以使用。

總結本文標題: linux中改變檔案許可權的chmod命令詳析

本文位址: /os/linux/230955.html

Linux改變檔案許可權與屬性

接下來我們介紹root身份登入linux下常用於擁有者,使用者組,其他人的許可權的修改命令,如下 chown 改變檔案擁有者 chgrp 改變檔案所屬使用者組 chmod 改變檔案的許可權 改變檔案擁有者 chown chown r 目標擁有者 檔名 目錄名其中 r 表示將進行遞迴持續更改,常常用於...

初學linux筆記3 改變檔案許可權

群組存在於 etc group 擁有者存在於 etc passwd 1.改變群組 chgrp 群組名稱 檔案或目錄.例 chgrp user tmp 2.改變擁有者 chown r 賬號名稱 檔案或目錄 例 chown test tmp chown r 賬號名稱 群組名稱 檔案或目錄 例 chown...

Linux改變檔案屬性與許可權

在學習檔案屬性與許可權前,先用ls al 命令顯示檔案的詳細資訊 如上圖,第一欄代表這個檔案的型別與許可權,一共有十個字元。當為 d 則是目錄。當為 則是檔案 若是 l 則是鏈結檔案 若是 b 則表示為裝置檔案裡面的可供儲存的介面裝置 若是 c 則表示為裝置檔案裡面的串列埠裝置,例如鍵盤,滑鼠 一次...