1. 程式人生 > >Centos 檔案和目錄訪問許可權設定

Centos 檔案和目錄訪問許可權設定

一、檔案和目錄許可權概述

在linux中的每一個檔案或目錄都包含有訪問許可權,這些訪問許可權決定了誰能訪問和如何訪問這些檔案和目錄。

通過設定許可權可以從以下三種訪問方式限制訪問許可權:只允許使用者自己訪問;允許一個預先指定的使用者組中的使用者訪問;允許系統中的任何使用者訪問。同時,使用者能夠控制一個給定的檔案或目錄的訪問程度。一個檔案活目錄可能有讀、寫及執行許可權。當建立一個檔案時,系統會自動地賦予檔案所有者讀和寫的許可權,這樣可以允許所有者能夠顯示檔案內容和修改檔案。檔案所有者可以將這些許可權改變為任何他想指定的許可權。一個檔案也許只有讀許可權,禁止任何修改。檔案也可能只有執行許可權,允許它想一個程式一樣執行。

三種不同的使用者型別能夠訪問一個目錄或者檔案:所有著、使用者組或其他使用者。所有者就是建立檔案的使用者,使用者是所有使用者所建立的檔案的所有者,使用者可以允許所在的使用者組能訪問使用者的檔案。通常,使用者都組合成使用者組,例如,某一類或某一專案中的所有使用者都能夠被系統管理員歸為一個使用者組,一個使用者能夠授予所在使用者組的其他成員的檔案訪問許可權。最後,使用者也將自己的檔案向系統內的所有使用者開放,在這種情況下,系統內的所有使用者都能夠訪問使用者的目錄或檔案。在這種意義上,系統內的其他所有使用者就是other使用者類。

每一個使用者都有它自身的讀、寫和執行許可權。第一套許可權控制訪問自己的檔案許可權,即所有者許可權。第二套許可權控制使用者組訪問其中一個使用者的檔案的許可權。第三套許可權控制其他所有使用者訪問一個使用者的檔案的許可權,這三套許可權賦予使用者不同型別(即所有者、使用者組和其他使用者)的讀、寫及執行許可權就構成了一個有9種類型的許可權組。

我們可以用-l引數的ls命令顯示檔案的詳細資訊,其中包括許可權。如下所示:

[[email protected] ~]# ls -lh

總用量 368K

-rw-r--r-- 1 root root 12K 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-r--r--r-- 1 root root 325K 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9.6K 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9.6K 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

當執行ls -l 或 ls -al 命令後顯示的結果中,最前面的第2~10個字元是用來表示許可權。第一個字元一般用來區分檔案和目錄:

    d:表示是一個目錄,事實上在ext2fs中,目錄是一個特殊的檔案。

    -:表示這是一個普通的檔案。

    l: 表示這是一個符號連結檔案,實際上它指向另一個檔案。

    b、c:分別表示區塊裝置和其他的外圍裝置,是特殊型別的檔案。

    s、p:這些檔案關係到系統的資料結構和管道,通常很少見到。

下面詳細介紹一下許可權的種類和設定許可權的方法。

二、一般許可權

第2~10個字元當中的每3個為一組,左邊三個字元表示所有者許可權,中間3個字元表示與所有者同一組的使用者的許可權,右邊3個字元是其他使用者的許可權。這三個一組共9個字元,代表的意義如下:

r(Read,讀取):對檔案而言,具有讀取檔案內容的許可權;對目錄來說,具有瀏覽目 錄的許可權。

w(Write,寫入):對檔案而言,具有新增、修改檔案內容的許可權;對目錄來說,具有刪除、移動目錄內檔案的許可權。

x(eXecute,執行):對檔案而言,具有執行檔案的許可權;對目錄了來說該使用者具有進入目錄的許可權。

-:表示不具有該項許可權。

下面舉例說明:

      -rwx------: 檔案所有者對檔案具有讀取、寫入和執行的許可權。

      -rwxr—r--: 檔案所有者具有讀、寫與執行的許可權,其他使用者則具有讀取的許可權。

      -rw-rw-r-x: 檔案所有者與同組使用者對檔案具有讀寫的許可權,而其他使用者僅具有讀取和執行的許可權。

      drwx--x--x: 目錄所有者具有讀寫與進入目錄的許可權,其他使用者近能進入該目錄,卻無法讀取任何資料。

      Drwx------: 除了目錄所有者具有完整的許可權之外,其他使用者對該目錄完全沒有任何許可權。

每個使用者都擁有自己的專屬目錄,通常集中放置在/home目錄下,這些專屬目錄的預設許可權為rwx------:

[[email protected] ~]# ls -al

總用量 5

drwxr-xr-x 9 root root 240 11月 8 18:30 .

drwxr-xr-t 22 root root 568 10月 15 09:13 ..

drwxr-xr-x 2 root root 48 8月 11 08:09 ftp

drwxrwxrwx 2 habil users 272 11月 13 19:13 habil

-rw-r--r-- 1 root root 0 7月 31 00:41 .keep

drwxr-xr-x 2 root root 72 11月 3 19:34 mp3

drwxr-xr-x 39 sailor users 1896 11月 11 13:35 sailor

drwxr-xr-x 3 temp users 168 11月 8 18:17 temp

drwxr-xr-x 3 test users 200 11月 8 22:40 test

drwxr-xr-x 65 wxd users 2952 11月 19 18:53 wxd

表示目錄所有者本身具有所有許可權,其他使用者無法進入該目錄。執行mkdir命令所建立的目錄,其預設許可權為rwxr-xr-x,使用者可以根據需要修改目錄的許可權。

此外,預設的許可權可用umask命令修改,用法非常簡單,只需執行umask 777 命令,便代表遮蔽所有的許可權,因而之後建立的檔案或目錄,其許可權都變成000,依次類推。通常root帳號搭配umask命令的數值為022、027和077,普通使用者則是採用002,這樣所產生的許可權依次為755、750、700、775。有關許可權的數字表示法,後面將會詳細說明。

使用者登入系統時,使用者環境就會自動執行rmask命令來決定檔案、目錄的預設許可權。

三、特殊許可權

其實檔案與目錄設定不止這些,還有所謂的特殊許可權。由於特殊許可權會擁有一些“特權”,因而使用者若無特殊需求,不應該啟用這些許可權,避免安全方面出現嚴重漏洞,造成黑客入侵,甚至摧毀系統!!!

s或S(SUID,Set UID):可執行的檔案搭配這個許可權,便能得到特權,任意存取該檔案的所有者能使用的全部系統資源。請注意具備SUID許可權的檔案,黑客經常利用這種許可權,以SUID配上root帳號擁有者,無聲無息地在系統中開扇後門,供日後進出使用。

s或S(SGID,Set GID):設定在檔案上面,其效果與SUID相同,只不過將檔案所有者換成使用者組,該檔案就可以任意存取整個使用者組所能使用的系統資源。

T或T(Sticky):/tmp和 /var/tmp目錄供所有使用者暫時存取檔案,亦即每位使用者皆擁有完整的許可權進入該目錄,去瀏覽、刪除和移動檔案。

因為SUID、SGID、Sticky佔用x的位置來表示,所以在表示上會有大小寫之分。加入同時開啟執行許可權和SUID、SGID、Sticky,則許可權表示字元是小寫的:

     -rwsr-sr-t 1 root root 4096 6月 23 08:17 conf

如果關閉執行許可權,則表示字元會變成大寫:

     -rwSr-Sr-T 1 root root 4096 6月 23 08:17 conf

四、使用檔案管理器來改變檔案或目錄的許可權:

如果使用者要改變一個檔案目錄的許可權,右擊要改變許可權的檔案或者目錄,在彈出的快捷選單中選擇“屬性”,系統將開啟屬性對話方塊

在“屬性”對話方塊中,單擊“許可權”標籤,就會開啟“許可權”選項卡。

在這裡你可以修改檔案或者目錄的所有者、組群和其他使用者的許可權,而且可以設定特殊許可權

對於特殊許可權,最好不要設定,不然會帶來很嚴重的安全問題。


五、使用chmod和數字改變檔案或目錄的訪問許可權

檔案和目錄的許可權表示,是用rwx這三個字元來代表所有者、使用者組和其他使用者的許可權。有時候,字元似乎過於麻煩,因此還有另外一種方法是以數字來表示許可權,而且僅需三個數字。

     r: 對應數值4

     w: 對應數值2

     x:對應數值1

     -:對應數值0

數字設定的關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進位制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x r- -則可以表示成為:

  111 101 100

  再將其每三位轉換成為一個十進位制數,就是754。

  例如,我們想讓a.txt這個檔案的許可權為:

   自己 同組使用者 其他使用者

  可讀 是 是 是

  可寫 是 是

    可執行

那麼,我們先根據上表得到許可權串為:rw-rw-r--,那麼轉換成二進位制數就是110 110 100,再每三位轉換成為一個十進位制數,就得到664,因此我 們執行命令:

[[email protected] ~]# chmod 664 a.txt

按照上面的規則,rwx合起來就是4+2+1=7,一個rwxrwxrwx許可權全開放的檔案,數值表示為777;而完全不開放許可權的檔案“---------”其數字表示為000。下面舉幾個例子:

-rwx------:等於數字表示700。

-rwxr—r--:等於數字表示744。

-rw-rw-r-x:等於數字表示665。

drwx—x—x:等於數字表示711。

drwx------:等於數字表示700。

在文字模式下,可執行chmod命令去改變檔案和目錄的許可權。我們先執行ls -l 看看目錄內的情況:

[[email protected] ~]# ls -l

總用量 368

-rw-r--r-- 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到當然檔案conkyrc.sample檔案的許可權是644,然後把這個檔案的許可權改成777。執行下面命令

[[email protected] ~]# chmod 777 conkyrc.sample

然後ls -l看一下執行後的結果:

[[email protected] ~]# ls -l

總用量 368

-rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到conkyrc.sample檔案的許可權已經修改為rwxrwxrwx

如果要加上特殊許可權,就必須使用4位數字才能表示。特殊許可權的對應數值為:

     s或 S (SUID):對應數值4。

     s或 S (SGID):對應數值2。

     t或 T :對應數值1。

<code>

用同樣的方法修改檔案許可權就可以了

例如:

<code>

[[email protected] ~]# chmod 7600 conkyrc.sample

[[email protected] ~]# ls -l

總用量 368

-rwS--S--T 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

加入想一次修改某個目錄下所有檔案的許可權,包括子目錄中的檔案許可權也要修改,要使用引數-R表示啟動遞迴處理。

例如:

[[email protected] ~]# chmod 777 /home/user 注:僅把/home/user目錄的許可權設定為rwxrwxrwx

[[email protected] ~]# chmod -R 777 /home/user 注:表示將整個/home/user目錄與其中的檔案和子目錄的許可權都設定為rwxrwxrwx

六、使用命令chown改變目錄或檔案的所有權

檔案與目錄不僅可以改變許可權,其所有權及所屬使用者組也能修改,和設定許可權類似,使用者可以通過圖形介面來設定,或執行chown命令來修改。

我們先執行ls -l看看目錄情況:

[[email protected] ~]# ls -l

總用量 368

-rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到conkyrc.sample檔案的所屬使用者組為root,所有者為root。

執行下面命令,把conkyrc.sample檔案的所有權轉移到使用者user:

[[email protected] ~]# chown user conkyrc.sample

[[email protected] ~]# ls -l

總用量 368

-rwxrwxrwx 1 user root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

要改變所屬組,可使用下面命令:

[[email protected] ~]# chown :users conkyrc.sample

[[email protected] ~]# ls -l

總用量 368

-rwxrwxrwx 1 user users 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-r--r--r-- 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

要修改目錄的許可權,使用-R引數就可以了,方法和前面一樣。


轉載自:http://www.centoscn.com/CentOS/Intermediate/2013/0805/1066.html

相關推薦

Centos 檔案目錄訪問許可權設定

一、檔案和目錄許可權概述 在linux中的每一個檔案或目錄都包含有訪問許可權,這些訪問許可權決定了誰能訪問和如何訪問這些檔案和目錄。 通過設定許可權可以從以下三種訪問方式限制訪問許可權:只允許使用者自己訪問;允許一個預先指定的使用者組中的使用者訪問;允許系統中的任何

linux下目錄許可權檢視與修改以及檔案目錄訪問許可權設定

檢視檔案許可權的語句:   在終端輸入: ls -l xxx.xxx (xxx.xxx是檔名)   那麼就會出現相類似的資訊,主要都是這些: -rw-rw-r--   一共有10位數   其中: 最前面那個 - 代表的是型別   中間那三個 rw- 代表的是所有者(user

linux設定umask值, 建立的預設檔案目錄許可權

LINUX中  設定了umask  建立的預設檔案和目錄的許可權普通檔案預設是644 自已有讀寫(rw),同組人員有讀(r),其它有讀(r) 預設許可權可通過umask 修改 預設umask 為022 檔案:666 - 022 = 644 目錄:777 - 022 = 755

Ubuntu基礎命令(七)--檔案目錄許可權

許可權設定針對的使用者  檔案所有者(檔案屬主)  u 通常是檔案的創造者,檔案所有權可轉讓  檔案屬組使用者(檔案屬組) g  組是一群使用者組成的一個集合,             檔案屬組內的使用者按照設定對該檔案享有特定的許可權  其他人         o 不包括前兩類人

不能重新命名檔案及不能刪除檔案資料夾許可權設定

資料夾-屬性-安全 給相應的使用者 把修改勾去即可  或者 資料夾-屬性-安全-高階-編輯 把刪除和刪除子資料夾及檔案勾去(兩個必須都勾去,勾一個效果一樣)即無法刪除這個資料夾下的檔案和子檔案了,起到保護檔案的作用.  如果許可權是灰色顯示說明被繼承了,勾去繼承即可。

CentOS 檔案目錄管理

    今天開始學習CentOS的檔案和目錄管理了, 也就是通過命令列操作檔案和目錄,下面列出常用的檔案操作命令,一定要多練才行啊。      1.cd 命令          cd命令是用來改變使用者所在目錄的,這個和windows下是一樣的。      2.mkdir

Linux修改檔案目錄許可權

前言: 檔案或者資料夾許可權不同,可以進行的操作便有很多區別 1.首先說一下許可權 檔案/資料夾有三種許可權,讀-寫-執行,對應於,rwx,為了方便都會轉成二進位制 0 和 1 eg 444 -r--r--r-- 600 -rw------- 64

4. Apue檔案系統、檔案型別、訪問許可權目錄相關函式

1、linux檔案系統 windows使用NTFS,而linux使用ext2/ext3 1)ext2檔案系統 一個磁碟分成一個或多個分割槽,每個分割槽包含一個檔案系統。 如下圖所示是一個磁碟分割槽格式化成ext2檔案系統後的儲存佈局 從佈局可以看出,ext2對物理磁

apache環境下禁止某資料夾內執行PHP指令碼、禁止訪問檔案目錄執行許可權設定方法

首先我們來看兩段對上傳目錄設定無許可權的列子,配置如下: <Directory"要去掉PHP執行許可權的目錄路徑,如/upload"> ErrorDocument 404 /404/404.html ErrorDocument 403 /404/403.htm

Linux 檔案目錄的讀寫執行許可權詳解

首先了解一個ls -l 檔案的每列含義 [[email protected] ~]# ls -l a -rw-r–rw- 1 test002 tester 279103 9月 2 13:21 a 下面介紹每列含義: (1)第一列:檔案型別和許可權,這部分稍後重

Linux檔案目錄許可權的計算方法

Linux檔案和目錄許可權的計算方法 第一步:將預設許可權(目錄777,檔案666)和umask值都轉換為二進位制; 第二步:對umask值取反; 第三步:將預設許可權和umask取反的值做與運算; 第四步:將得到的二進位制轉換為八進位制,即為許可權。 例如:當umask

[Linux]Samba伺服器支援訪問軟連線檔案目錄

原創文章,歡迎轉載。轉載請註明:轉載自 祥的部落格 原文連結:https://blog.csdn.net/humanking7/article/details/85058471 文章目錄 @[toc] 1.

阿里雲映象CentOS6.8安裝vsftpd + 設定使用者對應目錄訪問許可權

1、安裝檢查是否安裝了vsftpdrpm -qa|grep vsftpd解除安裝rpm -e vsftpd安裝(在根目錄下執行安裝即可,預設安裝位置  /etc/vsftpd/)yum install vsftpd2、使用者新增使用者useradd -d /home/ -g

chmod修改檔案許可權/chown修改檔案目錄的所有者

ll指令的顯示的資訊為(當前目錄下只有nameservice1一個目錄): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述資訊分別表示:許可權(drwxr-xr-x 3)、所屬使用者(hdfs)和組(hdfs)、大小(4096)、時

Win7作業系統上VMware執行行動硬碟上的虛擬機器檔案訪問許可權設定

剛剛換了一個膝上型電腦用,在裝作業系統的時候選了現在比較流行的Win7,由於對這個系統不熟悉,好多東西都感覺找不到。我平時的很多東西都是用VMware的,原來的虛擬系統都是拷在了行動硬碟上,結果在Win7上裝的VM竟然打不開原來的虛擬機器系統,出現錯誤提示: Check fo

nginx 設定目錄訪問許可權

一、建立htpasswd檔案 可以使用下面這個python指令碼生成認證檔案 https://gist.githubusercontent.com/kelvinblood/efd9d19cc981f71b3f94ee0e04f2ea96/raw/b841

Linux 檔案目錄特殊許可權設定(SUID,SGID,SBIT)

Linux檔案及目錄的許可權設定,除了我們孰知的讀寫執行(rwx)之外,還有一些特殊的許可權設定用來滿足特定的目錄。這些特殊許可權的設定主要是SUID,SGID以及SBIT。這幾個值並非一個單獨的rwx,而是在檔案或目錄上的x許可權上做動作,來達到實現檔案或目錄

設定SVN忽略檔案目錄(資料夾)

在多數專案中你總會有檔案和目錄不需要進行版本控制。這可能包括一些由編譯器生成的檔案,*.obj,*.lst,或許是一個用於存放可執行程式的輸出資料夾。只要你提交修改,TortoiseSVN 就會在提交對話方塊的檔案列表中顯示出未版本控制檔案。當然你可以關閉這個顯示,不過你可

PowerShell檔案系統(二)訪問檔案目錄

原文地址:http://www.pstips.net/accessing-files-and-directories.html PowerShell 檔案系統系列文章: 使用Get-ChildItem列出目錄的內容。預定義的別名為Dir和ls,Get-Chil

一:檔案目錄篇(5)——搜尋檔案

動作 roo 速度 ket 有關 -name comm 找不到 ont 1.搜尋執行檔——which which指令主要是在PATH所包含的目錄中去搜尋執行檔的檔名,若加上-a參數就可以搜尋除所有包含檔案的信息 上面列出root賬號的PATH包含的目錄,which命令會在