linux檔案系統許可權

2021-06-02 10:36:42 字數 3175 閱讀 6594

777:任何人可讀寫

440:不可讀寫

644:唯讀

755:可執行文件不可修改

-rw------- (600) -- 只有屬主有讀寫許可權。

-rw-r--r-- (644) -- 只有屬主有讀寫許可權;而屬組使用者和其他使用者只有讀許可權。

-rwx------ (700) -- 只有屬主有讀、寫、執行許可權。

-rwxr-xr-x (755) -- 屬主有讀、寫、執行許可權;而屬組使用者和其他使用者只有讀、執行許可權。

-rwx--x--x (711) -- 屬主有讀、寫、執行許可權;而屬組使用者和其他使用者只有執行許可權。

-rw-rw-rw- (666) -- 所有使用者都有檔案讀、寫許可權。這種做法不可取。

-rwxrwxrwx (777) -- 所有使用者都有讀、寫、執行許可權。更不可取的做法。

。。。。。。不一一枚舉。。。

* 改變許可權, chmod

檔案許可權的改變使用的是chmod這個指令,但是,許可權的設定方法有兩種, 分別可以使用數字或者是符號來進行許可權的變更。我們就來談一談:

* 數字型別改變檔案許可權

linux檔案的基本許可權就有九個,分別是owner/group/others三種身份各有自己的read/write/execute許可權, 先複習一下剛剛上面提到的資料:檔案的許可權字元為:『-rwxrwxrwx』, 這九個許可權是三個三個一組的!其中,我們可以使用數字來代表各個許可權,各許可權的分數對照表如下:

r:4w:2

x:1每種身份(owner/group/others)各自的三個許可權(r/w/x)分數是需要累加的,例如當許可權為: [-rwxrwx---] 分數則是:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others= --- = 0+0+0 = 0

所以等一下我們設定許可權的變更時,該檔案的許可權數字就是770啦!變更許可權的指令chmod的語法是這樣的:

[root@www ~]# chmod [-r] xyz 檔案或目錄

選項:xyz : 就是剛剛提到的數字型別的許可權屬性,為 rwx 屬性數值的相加。

-r : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更

舉例來說,如果要將.bashrc這個檔案所有的許可權都設定啟用,那麼就下達:

[root@www ~]# ls -al .bashrc

-rw-r--r-- 1 root root 395 jul 4 11:45 .bashrc

[root@www ~]# chmod 777 .bashrc

[root@www ~]# ls -al .bashrc

-rwxrwxrwx 1 root root 395 jul 4 11:45 .bashrc

那如果要將許可權變成『 -rwxr-xr-- 』呢?那麼許可權的分數就成為 [4+2+1][4+0+1][4+0+0]=754 囉!所以你需要下達『 chmod 754 filename』。 另外,在實際的系統運作中最常發生的乙個問題就是,常常我們以vim編輯乙個shell的文字批次檔後,他的許可權通常是 -rw-rw-r-- 也就是664, 如果要將該檔案變成可執行檔,並且不要讓其他人修改此一檔案的話, 那麼就需要-rwxr-xr-x這樣的許可權,此時就得要下達:『 chmod 755 test.sh 』的指令囉!

另外,如果有些檔案你不希望被其他人看到,那麼應該將檔案的許可權設定為例如:『-rwxr-----』,那就下達『 chmod 740 filename 』吧!

例題:將剛剛你的.bashrc這個檔案的許可權修改回-rw-r--r--的情況吧!

答:-rw-r--r--的分數是644,所以指令為:

chmod 644 .bashrc

* 符號型別改變檔案許可權

還有乙個改變許可權的方法呦!從之前的介紹中我們可以發現,基本上就九個許可權分別是(1)user (2)group (3)others三種身份啦!那麼我們就可以藉由u, g, o來代表三種身份的許可權!此外, a 則代表 all 亦即全部的身份!那麼讀寫的許可權就可以寫成r, w, x囉!也就是可以使用底下的方式來看:

chmod ugo

a +(加入)

-(除去)

=(設定) r

wx 檔案或目錄

來實作一下吧!假如我們要『設定』乙個檔案的許可權成為『-rwxr-xr-x』時,基本上就是:

o user (u):具有可讀、可寫、可執行的許可權;

o group 與 others (g/o):具有可讀與執行的許可權。

所以就是:

[root@www ~]# chmod u=rwx,go=rx .bashrc

# 注意喔!那個 u=rwx,go=rx 是連在一起的,中間並沒有任何空白字元!

[root@www ~]# ls -al .bashrc

-rwxr-xr-x 1 root root 395 jul 4 11:45 .bashrc

那麼假如是『 -rwxr-xr-- 』這樣的許可權呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』來設定。此外,如果我不知道原先的檔案屬性,而我只想要增加.bashrc這個檔案的每個人均可寫入的許可權, 那麼我就可以使用:

[root@www ~]# ls -al .bashrc

-rwxr-xr-x 1 root root 395 jul 4 11:45 .bashrc

[root@www ~]# chmod a+w .bashrc

[root@www ~]# ls -al .bashrc

-rwxrwxrwx 1 root root 395 jul 4 11:45 .bashrc

而如果是要將許可權去掉而不更動其他已存在的許可權呢?例如要拿掉全部人的可執行許可權,則:

[root@www ~]# chmod a-x .bashrc

[root@www ~]# ls -al .bashrc

-rw-rw-rw- 1 root root 395 jul 4 11:45 .bashrc

知道 +, -, = 的不同點了嗎?對啦! + 與 – 的狀態下,只要是沒有指定到的專案,則該許可權『不會被變動』, 例如上面的例子中,由於僅以 – 拿掉 x 則其他兩個保持當時的值不變!多多實作一下,你就會知道如何改變許可權囉! 這在某些情況底下很好用的~舉例來說,你想要教乙個朋友如何讓乙個程式可以擁有執行的許可權, 但你又不知道該檔案原本的許可權為何,此時,利用『chmod a+x filename』 ,就可以讓該程式擁有執行的許可權了。是否很方便?

linux檔案系統許可權

許可權型別 rwx,讀 寫 執行 r 4 w 2 x 1 rwx許可權說明 1.對於檔案而言 r 可以獲取檔案的資料 w 可以修改檔案資料 x 可以將此檔案執行為程序 2 對於目錄而言 r 可以使用ls命令獲取檔案列表 w 可以修改檔案列表,即建立和刪除 x 表示我們可以cd此目錄,並且可以使用ls...

linux檔案系統許可權解析

詳細參考 檢視activity 堆記憶體限制 activitymanager systemservice activitymanager getsystemservice this.activity service int memoryclass systemservice.getmemorycla...

Linux檔案系統許可權管理

r x r x r x 555 屬主 屬組 其他人 r w x r w x r w x 4 2 1 4 2 1 4 2 1 7 7 7 基於ugo,user group other 9位 對於檔案而言 r 可以獲取檔案的資料 w 可以修改檔案的資料 x 可以將此檔案執行成為程序 對於目錄而言 r 可...