當前位置:首頁 » 操作系統 » linux的x許可權

linux的x許可權

發布時間: 2023-01-01 00:10:09

1. linux許可權管理之基本許可權

(Linux許可權管理之基本許可權-慕課網 http://www.imooc.com/learn/481 )

一、文件基本許可權
1、基本許可權的修改
-rw-r--r--
- 文件類型(- 文件 d 目錄 l 軟鏈接文件)
rw- u所有者
r-- g所屬組
r-- o其他人
r 讀
w 寫
x 執行
chmod命令
chmod [選項] 模式 文件名
- 選項
-R 遞歸
- 模式
[ugoa] [+-=] [rwx]
[mode=421]

chmod u+x cangls.av
chmod g+w o+w furong.av
chmod a=rwx fengjie.av
#創建新文件
[root@localhost ~]# touch cangls.av
[root@localhost ~]# ll
#所有者添加執行許可權
[root@localhost ~]# chmod u+x cangls.av
[root@localhost ~]# ll
#所屬組和其他人添加寫許可權
[root@localhost ~]# chmod g+w,o+w cangls.av
[root@localhost ~]# ll
#所有者減去執行許可權,所屬組和其他人減去寫許可權
[root@localhost ~]# chmod u-x,g-w,o-w cangls.av
[root@localhost ~]# ll
#所有者添加讀寫執行許可權,所屬組添加讀寫許可權
[root@localhost ~]# chmod u=rwx,g=rw cangls.av
[root@localhost ~]# ll
#所有人賦予讀寫許可權
[root@localhost ~]# chmod a=rw cangls.av
[root@localhost ~]# ll

r ----4
w ----2
x ----1
rwxr-xr-x
7 5 5
#所有者賦予讀寫執行許可權,所屬組和其他人賦予讀執行許可權
[root@localhost ~]# chmod 755 cangls.av
[root@localhost ~]# ll
#改為普通文件許可權
[root@localhost ~]# chmod 644 cangls.av
[root@localhost ~]# ll
777(文件最高許可權)
644(普通文件許可權)
755(所有者賦予讀寫執行許可權,所屬組和其他人賦予讀執行許可權)

r:讀取文件的內容(cat more head tail)
w:編輯、新增、修改文件內容(vi echo),但是不包含刪除文件;
x:可執行

r:可以查詢目錄下文件名(ls)
w:具有修改目錄結構的許可權。如新建文件和目錄,刪除此目錄下文件和目錄,重命名此目錄下文件和目錄,剪切(touch rm mv cp)
x:可以進入目錄(cd)
對文件來講:最高許可權是x(執行)
對目錄來講:最高許可權是w(寫),能賦予的許可權只有0,5,7
#創建普通用戶user1
[root@localhost ~]# useradd user1
#創建普通用戶密碼user1
[root@localhost ~]# passwd user1
更改用戶 user1 的密碼 。
新的 密碼:123
無效的密碼: WAY 過短
無效的密碼: 過於簡單
重新輸入新的 密碼:123
passwd: 所有的身份驗證令牌已經成功更新。

chown 用戶名 文件名
例如:chown ds fengj.av

chgrp 組名 文件名
例如:chgrp group1 fengj.av

要求:
擁有一個av目錄
讓加藤老師擁有所有的許可權
讓本課程學員有查看的許可權
其他所有人不許查看這個目錄
#創建目錄
[root@localhost ~]# mkdir av
#查看
[root@localhost ~]# ll -d av
[root@localhost ~]# useradd jt
[root@localhost ~]# passwd jt
更改用戶 jt 的密碼 。
新的 密碼:
無效的密碼: WAY 過短
無效的密碼: 過於簡單
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
#添加組
[root@localhost ~]# groupadd user
#把user1用戶加到user組裡面
[root@localhost ~]# gpasswd -a user1 user
Adding user user1 to group user
[root@localhost ~]# chown jt:user av
[root@localhost ~]# ll -d av
#其他人改為0許可權
[root@localhost ~]# chmod 750 av
[root@localhost ~]# ll -d av

#查看默認許可權
[root@localhost ~]# umask
0022
第一位0:文件特殊許可權
022:文件默認許可權

文件默認不能建立為執行文件,必須手工賦予執行許可權;
所以文件默認許可權最大為666;
默認許可權需要換算成字母再相減;
建立文件之後的默認許可權,為666減去umask值;
例如:
文件默認最大許可權666,umask值022;
-rw-rw-rw-減去-----w--w-等於-rw-r--r--
例如:
文件默認最大許可權666,umask值033
-rw-rw-rw-減去-----wx-wx等於-rw-r--r--

目錄的默認許可權最大為777;
默認許可權需要換算成字母再相減;
建立文件之後的默認許可權,為777減去umask值;
例如:
目錄默認最大許可權為777,umask值022;
-rwxrwxrwx減去-----w--w-等於-rwxr-xr-x

臨時修改
umask 0002
永久修改
vi /etc/profile

2. 在Linux文件許可權中,有R,W,X,S,T.我想知道s是什麼意思

s是源文件,目標文件做軟鏈接,與只共享可執行文件的快捷方式不同,Linux幾乎可以通過鏈接的文件共享任何類型的文件,許可權設置方法。

1.首先連接到Linux主機並輸入Linux命令行狀態,等待輸入指令。

3. Linux 許可權 chmod u+x

chmod u+x
chmod是許可權管理命令change the permissions mode of a file的縮寫。。
u代表所有者,

x代表執行許可權。

4. linux可讀可寫許可權

1.可讀許可權r

表示具有讀取/閱讀文件內容的許可權。

2.可寫許可權w

表示具有新增、修改文件內容的許可權。

①如果沒有r,用vi編輯器,輸入「:wq!"可以強制覆蓋,但原文件內容會被清除;因此可以使用echo追加內容到文件。

②刪除文件(修改文件名等)的許可權是受父目錄的許可權控制,和文件本身的許可權無關,文件名在父目錄的block里。

3.可執行許可權x

表示具有執行文件的許可權。

①文件本身要能夠執行。

②普通用戶必須還要有r許可權才能夠執行,無r就不能執行。

③root即使沒有r許可權,只要有x許可權就能執行。

④root用戶位沒有執行許可權,但只要其他許可權位還有x許可權,那它就能執行。

5. linux 下 文件的X許可權有什麼用

x(eXecute,執行):對文件而言,具有執行文件的許可權;對目錄了來說該用戶具有進入目錄的許可權
在linux中的每一個文件或目錄都包含有訪問許可權,這些訪問許可權決定了誰能訪問和如何訪問這些文件和目錄。

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

三種不同的用戶類型能夠訪問一個目錄或者文件:所有著、用戶組或其他用戶。所有者就是創建文件的用戶,用戶是所有用戶所創建的文件的所有者,用戶可以允許所在的用戶組能訪問用戶的文件。通常,用戶都組合成用戶組,例如,某一類或某一項目中的所有用戶都能夠被系統管理員歸為一個用戶組,一個用戶能夠授予所在用戶組的其他成員的文件訪問許可權。最後,用戶也將自己的文件向系統內的所有用戶開放,在這種情況下,系統內的所有用戶都能夠訪問用戶的目錄或文件。在這種意義上,系統內的其他所有用戶就是other用戶類。
每一個用戶都有它自身的讀、寫和執行許可權。第一套許可權控制訪問自己的文件許可權,即所有者許可權。第二套許可權控制用戶組訪問其中一個用戶的文件的許可權。第三套許可權控制其他所有用戶訪問一個用戶的文件的許可權,這三套許可權賦予用戶不同類型(即所有者、用戶組和其他用戶)的讀、寫及執行許可權就構成了一個有9種類型的許可權組。

我們可以用-l參數的ls命令顯示文件的詳細信息,其中包括許可權。如下所示:

yekai@kebao:/media/sda5/軟體壓縮/Linux$ ls -lh
總用量 191M
-rwxrwx--- 1 root plugdev 18M 2007-02-28 18:05 ActionCube_v0.92.tar.bz2
-rwxrwx--- 1 root plugdev 60M 2007-04-30 22:52 nexuiz-223.zip
-rwxrwx--- 1 root plugdev 7.4M 2007-04-25 02:16 stardict-oxford-gb-2.4.2.tar.bz2
-rwxrwx--- 1 root plugdev 102M 2007-05-01 18:22 tremulous-1.1.0-installer.x86.run
-rwxrwx--- 1 root plugdev 4.9M 2007-04-30 14:32 wqy-bitmapfont-0.8.1-7_all.deb.bin

當執行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------:

表示目錄所有者本身具有所有許可權,其他用戶無法進入該目錄。執行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,因此我 們執行命令:

[root@localhost ~]# 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 看看目錄內的情況:

[root@localhost ~]# 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。執行下面命令

[root@localhost ~]# chmod 777 conkyrc.sample

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

[root@localhost ~]# 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。

用同樣的方法修改文件許可權就可以了

例如:

[root@localhost ~]# chmod 7600 conkyrc.sample
[root@localhost ~]# 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表示啟動遞歸處理。

例如:

[root@localhost ~]# chmod 777 /home/user 註:僅把/home/user目錄的許可權設置為rwxrwxrw
[root@localhost ~]# chmod -R 777 /home/user 註:表示將整個/home/user目錄與其中的文件和子目錄的許可權都設置為rwxrwxrwx

6. linux RWX許可權的解讀

注意

chown 和 chgrp 都有一個 -R 選項,該選項可以用來告訴它們遞歸地將所屬權和組改變應用到整個目錄樹中。例如:

注意 :除非您是超級用戶,否則您不可以使用 chown,然而任何人都可以使用 chgrp 來將文件的組所有權改為他們所屬的組。

該操作chmod 示例已經影響到了所有三個三元組 — 用戶、組和所有其他用戶

亦可指定,對於「用戶」三元組使用 u,對於「組」三元組使用 g,對於「其他/每個人」使用 o

定製化設定許可權

直到現在為止,我們使用了叫做「符號」的模式來用 chmod 指定許可權的改變。然而,指定許可權還有一種普遍使用的方法 — 使用 4 位八進制數。使用叫做數字許可權語法的語法,每一位代表一個許可權三元組。例如,在 1777 中,777 設置本章我們所討論的「owner」、「group」和「other」標志。1 用來設置專門的許可權位,我們將在本章的結束部分講到。

舉例:7=4+2+1,讀寫執行,5=4+1,讀執行。各種組合方式。
rwx 7 rw- 6 r-x 5 r-- 4 -wx 3 -w- 2 --x 1 --- 0

當進程創建了新文件時,它指定新文件應該具有的許可權。通常,所請求的模式是 0666(每個人可讀和可寫),它比我們希望的具有更多的許可權。幸運的是,不管什麼時候創建了新文件,Linux 將參考叫做「umask」的東西。系統用 umask 值來將初始指定的許可權降低為更合理、更安全的許可權。您可以通過在命令行中輸入 umask 來查看您當前的 umask 設置:

Linux 系統上,umask 的預設值一般為 0022,它允許其他人讀您的新文件(如果他們可以得到它們),但是不能進行修改。為了在預設的情況下使新文件更安全,您可以改變 umask 設置: $ umask 0077umask 將確保組和其他用戶對於新創建的文件絕對沒有任何許可權。那麼,umask 怎樣工作呢? 與文件的「常規」許可權不同,umask 指定應該關閉哪一個許可權 。我們來參閱一下我們的「模式到數字」映射表,從而使我們可以理解 0077 的 umask 的意思是什麼: 模式 數字 rwx 7 rw- 6 r-x 5 r-- 4 -wx 3 -w- 2 --x 1 --- 0 使用該表,0077 的最後三位擴展為 ---rwxrwx。現在,請記住 umask 告訴系統禁用哪個許可權。根據推斷,我們可以看到將關閉所有「組」和「其他」許可權,而「用戶」許可權將保留不動。

當您最初登錄時,將啟動一個新的 shell 進程。您已經知道,但是您可能還不知道這個新的 shell進程(通常是 bash)使用您的用戶標識運行。照這樣,bash 程序可以訪問所有屬於您的文件和目錄。事實上,作為用戶,我們完全依靠其它程序來代表我們執行操作。因為您啟動的程序繼承了您的用戶標識,因此它們不能訪問任何不允許您訪問的文件系統對象。例如,一般用戶不能直接修改 passwd 文件,因為「write」標志已經對除「root 用戶」以外的每個用戶關閉:

但是,一般用戶確實需要在他們需要改變其密碼的任何時候,能夠修改 /etc/passwd(至少間接地)。但是,如果用戶不能修改該文件,究竟怎樣完成這個工作呢?
Suid
幸好,Linux 許可權模型有兩個專門的位,叫做「suid」和「sgid」。當設置了一個可執行程序的「suid」這一位時,它將代表可執行文件的所有者運行,而不是代表啟動程序的人運行。現在,回到 /etc/passwd 問題。如果看一看 passwd 可執行文件,我們可以看到它屬於 root 用戶:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root wheel 17588 Sep 24 00:53 /usr/bin/passwd
您還將注意到,這里有一個 s 取替了用戶許可權三元組中的一個 x。這表明,對於這個特殊程序,設置了 suid 和可執行位。由於這個原因,當 passwd 運行時,它將代表 root 用戶執行(具有完全超級用戶訪問權),而不是代表運行它的用戶運行。又因為 passwd 以 root 用戶訪問權運行,所以能夠修改 /etc/passwd 文件,而沒有什麼問題。
suid/sgid 告誡說明
我們看到了 suid 怎樣工作,sgid 以同樣的方式工作。它允許程序繼承程序的組所有權,而不是當前用戶的程序所有權。這里有一些關於 suid 和 sgid 的其它的但是很重要的信息。首先,suid 和 sgid 占據與 ls -l 清單中 x 位相同的空間。如果還設置了 x 位,則相應的位表示為 s(小寫)。但是,如果沒有設置 x 位,它將表示為 S(大寫)。另一個很重要的提示:在許多環境中,suid 和 suid 很管用,但是不恰當地使用這些位可能使系統的安全遭到破壞。最好盡可能地少用「suid」程序。passwd 命令是為數不多的必須使用「suid」的命令之一。
改變 suid 和 sgid
設置和除去 suid 與 sgid 位相當簡單。這里,我們設置 suid 位:

此處,我們從一個目錄除去 sgid 位。我們將看到 sgid 位怎樣影響下面幾屏中的目錄:

許可權和目到此為止,我們從常規文件的角度來看許可權。當從目錄的角度看許可權時,情況有一點不同。目錄使用同樣的許可權標志,但是它們被解釋為表示略微不同的含義。 對於一個目錄,如果設置了「read」標志,您可以列出目錄的內容;「write」表示您可以在目錄中創建文件,「execute」表示您可以進入該目錄並訪問內部的任何子目錄。沒有「execute」標志,目錄內的文件系統對象是不可訪問的。沒有「read」標志,目錄內的文件系統對象是不可查看的,但是只要有人知道磁碟上對象的完整路徑,就仍然可以訪問目錄內的對象。目錄和 sgid如果啟用了目錄的「sgid」標志,在目錄內創建的任何文件系統對象將繼承目錄的組。當您需要創建一個屬於同一組的一組人使用的目錄樹時,這種特殊的功能很管用。只需要這樣做:

現在,mygroup 組中的所有用戶都可以在 /home/groupspace 內創建文件或目錄,同樣,他們也將自動地分配到 mygroup 的組所有權。根據用戶的 umask 設置,新文件系統對象對於 mygroup 組的其他成員來說,可以或不可以是可讀、可寫或可執行的。目錄和刪除預設情況下,Linux 目錄以一種不是在所有情況下都很理想的方式表現。一般來說,只要對一個目錄有寫訪問權,任何人都可以重命名或刪除該目錄中的文件。對於個別用戶使用的目錄,這種行為是很合理的。但是,對於很多用戶使用的目錄來說,尤其是 /tmp 和 /var/tmp,這種行為可能會產生麻煩。因為任何人都可以寫這些目錄,任何人都可以刪除或重命名任何其他人的文件 — 即使是不屬於他們的!顯然,當任何其他用戶在任何時候都可以輸入「rm -rf /tmp/*」並損壞每個人的文件時,很難把 /tmp 用於任何有意義的文件。所幸,Linux 有叫做「粘滯位」(sticky bit)的東西。當給 /tmp 設置了粘滯位(用chmod +t),唯一能夠刪除或重命名 /tmp 中文件的是該目錄的所有者(通常是 root 用戶)、文件的所有者或 root 用戶。事實上,所有 Linux 分發包都預設地啟用了 /tmp 的粘滯位,而您還可以發現粘滯位在其它情況下也很管用。難以理解的第一位
總結本章,我們最後來看一看數字模式的難以理解的第一位數。您可以看到,這個第一位數
用來設置 sticky、suid 和 sgid 位:
suid sgid sticky 模式數字 on on on 7 on on off 6 on off on 5 on off off 4 off on on 3 off on off 2 off off on 1 off off off 0
這里有一個怎樣用 4 位數字模式來設置一個目錄的許可權的示例,該目錄將由一個工作組使用:
# chmod 1775 /home/groupfiles
請想一想 1755 數字模式許可權設置的含義。

linux許可權補充:rwt rwT rws rwS 特殊許可權

眾所周知,Linux的文件許可權如: 777;666等,其實只要在相應的文件上加上UID的許可權,就可以用到加許可權人的身份去運行這個文件。所以我們只需要將bash復制出來到另一個地方,然後用root加上UID許可權,只要用戶運行此Shell就可以用用root的身份來執行任何文件了

一個文件都有一個所有者, 表示該文件是誰創建的. 同時, 該文件還有一個組編號, 表示該文件所屬的組, 一般為文件所有者所屬的組.

如果是一個可執行文件, 那麼在執行時, 一般該文件只擁有調用該文件的用戶具有的許可權. 而setuid, setgid 可以來改變這種設置.

setuid:該位是讓普通用戶可以以root用戶的角色運行只有root帳號才能運行的程序或命令。比如我們用普通用戶運行passwd命令來更改自己的口令,實際上最終更改的是/etc/passwd文件我們知道/etc/passwd文件是用戶管理的配置文件,只有root許可權的用戶才能更改

[root@localhost ~]# ls -l /etc/passwd

-rw-r--r-- 1 root root 2379 04-21 13:18 /etc/passwd

作為普通用戶如果修改自己的口令通過修改/etc/passwd肯定是不可完成的任務,但是不是可以通過一個命令來修改呢答案是肯定的,作為普通用戶可以通過passwd 來修改自己的口令這歸功於passwd命令的許可權我們來看一下;

[root@localhost ~]# ls -l /usr/bin/passwd

-r-s--x--x 1 root root 21944 02-12 16:15 /usr/bin/passwd

因為/usr/bin/passwd 文件已經設置了setuid 許可權位(也就是r-s--x--x中的s),所以普通用戶能臨時變成root,間接的修改/etc/passwd,以達到修改自己口令的許可權

setgid: 該許可權只對目錄有效. 目錄被設置該位後, 任何用戶在此目錄下創建的文件都具有和該目錄所屬的組相同的組.

sticky bit: 該位可以理解為防刪除位. 一個文件是否可以被某用戶刪除, 主要取決於該文件所屬的組是否對該用戶具有寫許可權. 如果沒有寫許可權, 則這個目錄下的所有文件都不能被刪除, 同時也不能添加新的文件. 如果希望用戶能夠添加文件但同時不能刪除文件, 則可以對文件使用sticky bit位. 設置該位後, 就算用戶對目錄具有寫許可權, 也不能刪除該文件.

下面說一下如何操作這些標志:

操作這些標志與操作文件許可權的命令是一樣的, 都是 chmod. 有兩種方法來操作,

chmod g+s tempdir -- 為tempdir目錄加上setgid標志 (setgid 只對目錄有效)

chmod o+t temp -- 為temp文件加上sticky標志 (sticky只對文件有效)

abc

a - setuid位, 如果該位為1, 則表示設置setuid 4---

b - setgid位, 如果該位為1, 則表示設置setgid 2---

c - sticky位, 如果該位為1, 則表示設置sticky 1---

設置完這些標志後, 可以用 ls -l 來查看. 如果有這些標志, 則會在原來的執行標志位置上顯示. 如

rwsrw-r-- 表示有setuid標志

rwxrwsrw- 表示有setgid標志

rwxrw-rwt 表示有sticky標志

那麼原來的執行標志x到哪裡去了呢? 系統是這樣規定的, 如果本來在該位上有x, 則這些特殊標志顯示為小寫字母 (s, s, t). 否則, 顯示為大寫字母 (S, S, T)
https://blog.csdn.net/zhao12795969/article/details/53448039/

7. 【Linux】Linux文件許可權 r,w,x,S,T

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

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

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

s或S(SUID,Set UID):可執行的文件搭配這個許可權,便能得到特權,任意存取該文件的所有者能使用的全部系統資源。

請注意具備SUID許可權的文件,黑客經常利用這種許可權,以SUID配上root帳號擁有者,無聲無息地在系統中開扇後門,供日後進出使用。

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

keepalived 安裝完後,/etc/keepalived 目錄下文件許可權

# ll /etc/keepalived/

出於安全考慮,應該更改:

# chmod 640 /etc/keepalived/keepalived.conf

# chmod 700 /etc/keepalived/check_mysql.sh

# ll /etc/keepalived/

What is gratuitous ARP?

https://ke..com/item/gratuitous%20ARP/5635432?fr=aladdin

Linux 的文件許可權與目錄配置

http://cn.linux.vbird.org/linux_basic/0210filepermission.php#filepermission_ch

8. linux中用戶許可權 -rw-rw-r-x是表示什麼意思

1、r代表read(讀);讀(read): 具有讀取文件內容的許可權,表示可讀取此文件中的實際內容,例如,可以對文件執行 cat、more、less、head、tail 等文件查看命令。

2、w代表write(寫);寫(write): 具有寫入文件的許可權,表示可以編輯、新增或者修改文件中的內容,例如,可以對文件執行 vim、echo 等修改文件數據的命令。注意,無許可權不賦予用戶刪除文件的權利,除非用戶對文件的上級目錄擁有寫許可權才可以。

3、x代表execute(執行);執行(execute): 具有將文件作為程序或腳本執行的許可權,表示該文件具有被系統執行的許可權。Window系統中查看一個文件是否為可執行文件,是通過擴展名(.exe、.bat 等),但在Linux系統中,文件是否能被執行,是通過看此文件是否具有 x 許可權來決定的。

也就是說,只要文件擁有 x 許可權,則此文件就是可執行文件。但是,文件到底能夠正確運行,還要看文件中的代碼是否正確。

(8)linux的x許可權擴展閱讀

rwx 許可權對目錄的作用

讀許可權(r):表示具有讀取目錄結構列表的許可權,也就是說,可以看到目錄中有哪些文件和子目錄。一旦對目錄擁有 r 許可權,就可以在此目錄下執行 ls 命令,查看目錄中的內容。

寫許可權(w):對於目錄來說,w 許可權是最高許可權。對目錄擁有 w 許可權,表示可以對目錄做以下操作:

  • 在此目錄中建立新的文件或子目錄;

  • 刪除已存在的文件和目錄(無論子文件或子目錄的許可權是怎樣的);

  • 對已存在的文件或目錄做更名操作;

  • 移動此目錄下的文件和目錄的位置。

  • 一旦對目錄擁有 w 許可權,就可以在目錄下執行 touch、rm、cp、mv 等命令。

執行許可權(x):目錄是不能直接運行的,對目錄賦予 x 許可權,代表用戶可以進入目錄,也就是說,賦予 x 許可權的用戶或群組可以使用 cd 命令。

9. Linux許可權詳解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

許可權簡介

Linux系統上對文件的許可權有著嚴格的控制,用於如果相對某個文件執行某種操作,必須具有對應的許可權方可執行成功。

Linux下文件的許可權類型一般包括讀,寫,執行。對應字母為 r、w、x。

Linux下許可權的粒度有

擁有者 、群組 、其它組 三種。每個文件都可以針對三個粒度,設置不同的rwx(讀寫執行)許可權。通常情況下,一個文件只能歸屬於一個用戶和組,

如果其它的用戶想有這個文件的許可權,則可以將該用戶加入具備許可權的群組,一個用戶可以同時歸屬於多個組。

Linux上通常使用chmod命令對文件的許可權進行設置和更改。

一、快速入門

更改文件許可權 (chmod命令)

一般使用格式

chmod [可選項]

可選項:  -c, --changes          like verbose but report onlywhena change is made (若該檔案許可權確實已經更改,才顯示其更改動作)  -f, --silent, --quiet  suppress most error messages(若該檔案許可權無法被更改也不要顯示錯誤訊息)  -v, --verbose          output a diagnosticforevery file processed(顯示許可權變更的詳細資料)      --no-preserve-rootdonottreat'/'specially (the default)      --preserve-root    fail to operate recursively on'/'      --reference=RFILE  use RFILE's mode instead of MODE values-R, --recursive        change files and directories recursively(以遞歸的方式對目前目錄下的所有檔案與子目錄進行相同的許可權變更)--help顯示此幫助信息--version顯示版本信息mode :許可權設定字串,詳細格式如下 :[ugoa...][[+-=][rwxX]...][,...],其中[ugoa...]

u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。[+-=]

+ 表示增加許可權,- 表示取消許可權,= 表示唯一設定許可權。[rwxX]

r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。

file...文件列表(單個或者多個文件、文件夾

範例:

設置所有用戶可讀取文件 a.conf

設置 c.sh 只有 擁有者可以讀寫及執行

設置文件 a.conf 與 b.xml 許可權為擁有者與其所屬同一個群組 可讀寫,其它組可讀不可寫

設置當前目錄下的所有檔案與子目錄皆設為任何人可讀寫

數字許可權使用格式

在這種使用方式中,首先我們需要了解數字如何表示許可權。

首先,我們規定 數字 4 、2 和 1表示讀、寫、執行許可權(具體原因可見下節許可權詳解內容),即 r=4,w=2,x=1

。此時其他的許可權組合也可以用其他的八進制數字表示出來,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4

+1 = 5 即

若要同時設置

rwx (可讀寫運行) 許可權則將該許可權位 設置 為 4 + 2 + 1 = 7 若要同時設置 rw- (可讀寫不可運行)許可權則將該許可權位 設置

為 4 + 2 = 6 若要同時設置 r-x (可讀可運行不可寫)許可權則將該許可權位 設置 為 4 +1 = 5

上面我們提到,每個文件都可以針對三個粒度,設置不同的rwx(讀寫執行)許可權。即我們可以用用三個8進制數字分別表示 擁有者 、群組 、其它組( u、 g 、o)的許可權詳情,並用chmod直接加三個8進制數字的方式直接改變文件許可權。語法格式為 :

chmod file...

其中a,b,c各為一個數字,分別代表User、Group、及Other的許可權。相當於簡化版的chmod u=許可權,g=許可權,o=許可權file...而此處的許可權將用8進制的數字來表示User、Group、及Other的讀、寫、執行許可權

範例:

設置所有人可以讀寫及執行

設置擁有者可讀寫,其他人不可讀寫執行

更改文件擁有者(chown命令)

linux/Unix 是多人多工作業系統,每個的文件都有擁有者(所有者),如果我們想變更文件的擁有者(利用 chown 將文件擁有者加以改變),一般只有系統管理員(root)擁有此操作許可權,而普通用戶則沒有許可權將自己或者別人的文件的擁有者設置為別人。

語法格式:

chown [可選項] user[:group] file...

使用許可權:root說明:[可選項] :同上文chmoser :新的文件擁有者的使用者group :新的文件擁有者的使用者群體(group)

範例:

設置文件 d.key、e.scrt的擁有者設為 users 群體的 tom

設置當前目錄下與子目錄下的所有文件的擁有者為 users 群體的 James

二、Linux許可權詳解

Linux系統上對文件的許可權有著嚴格的控制,用於如果相對某個文件執行某種操作,必須具有對應的許可權方可執行成功。這也是Linux有別於Windows的機制,也是基於這個許可權機智,Linux可以有效防止病毒自我運行,因為運行的條件是必須要有運行的許可權,而這個許可權在Linux是用戶所賦予的。

Linux的文件許可權有以下設定:

Linux下文件的許可權類型一般包括讀,寫,執行。對應字母為 r、w、x。

Linux下許可權的屬組有 擁有者 、群組 、其它組 三種。每個文件都可以針對這三個屬組(粒度),設置不同的rwx(讀寫執行)許可權。

通常情況下,一個文件只能歸屬於一個用戶和組, 如果其它的用戶想有這個文件的許可權,則可以將該用戶加入具備許可權的群組,一個用戶可以同時歸屬於多個組。

如果我們要表示一個文件的所有許可權詳情,有兩種方式:

第一種是十位二進製表示法,(三個屬組每個使用二進制位,再加一個最高位共十位),可簡化為三位八進制形式

另外一種十二位二進製表示法(十二個二進制位),可簡化為四位八進制形式

十位許可權表示

常見的許可權表示形式有:

-rw------- (600)只有擁有者有讀寫許可權。-rw-r--r-- (644)只有擁有者有讀寫許可權;而屬組用戶和其他用戶只有讀許可權。-rwx------ (700)只有擁有者有讀、寫、執行許可權。-rwxr-xr-x (755)擁有者有讀、寫、執行許可權;而屬組用戶和其他用戶只有讀、執行許可權。-rwx--x--x (711)擁有者有讀、寫、執行許可權;而屬組用戶和其他用戶只有執行許可權。-rw-rw-rw- (666)所有用戶都有文件讀、寫許可權。-rwxrwxrwx (777)所有用戶都有讀、寫、執行許可權。

後九位解析:我們知道Linux許可權總共有三個屬組,這里我們給每個屬組使用三個位置來定義三種操作(讀、寫、執行)許可權,合起來則是許可權的後九位。 上面我們用字元表示許可權,其中 -代表無許可權,r代表讀許可權,w代表寫許可權,x代表執行許可權。

實際上,後九位每個位置的意義(代表某個屬組的某個許可權)都是固定的,如果我們將各個位置許可權的有無用二進制數 1和 0來代替,則只讀、只寫、只執行許可權,可以用三位二進制數表示為

r--=100-w-=010--x=001---=000

轉換成八進制數,則為 r=4, w=2, x=1, -=0(這也就是用數字設置許可權時為何是4代表讀,2代表寫,1代表執行)

實際上,我們可以將所有的許可權用二進制形式表現出來,並進一步轉變成八進制數字:

rwx=111=7rw-=110=6r-x=101=5r--=100=4-wx=011=3-w-=010=2--x=001=1---=000=0

由上可以得出,每個屬組的所有的許可權都可以用一位八進制數表示,每個數字都代表了不同的許可權(權值)。如 最高的許可權為是7,代表可讀,可寫,可執行。

故 如果我們將每個屬組的許可權都用八進制數表示,則文件的許可權可以表示為三位八進制數

-rw------- =600-rw-rw-rw- =666-rwxrwxrwx =777

關於第一位最高位的解釋:上面我們說到了許可權表示中後九位的含義,剩下的第一位代表的是文件的類型,類型可以是下面幾個中的一個:

d代表的是目錄(directroy)-代表的是文件(regular file)s代表的是套字文件(socket)p代表的管道文件(pipe)或命名管道文件(named pipe)l代表的是符號鏈接文件(symbolic link)b代表的是該文件是面向塊的設備文件(block-oriented device file)c代表的是該文件是面向字元的設備文件(charcter-oriented device file)

十二位許可權(Linux附加許可權)

附加許可權相關概念

linux除了設置正常的讀寫操作許可權外,還有關於一類設置也是涉及到許可權,叫做Linxu附加許可權。包括 SET位許可權(suid,sgid)和粘滯位許可權(sticky)。

SET位許可權:

suid/sgid是為了使「沒有取得特權用戶要完成一項必須要有特權才可以執行的任務」而產生的。

一般用於給可執行的程序或腳本文件進行設置,其中SUID表示對屬主用戶增加SET位許可權,SGID表示對屬組內用戶增加SET位許可權。執行文件被設置了SUID、SGID許可權後,任何用戶執行該文件時,將獲得該文件屬主、屬組賬號對應的身份。在許多環境中,suid

和 sgid 很管用,但是不恰當地使用這些位可能使系統的安全遭到破壞。所以應該盡量避免使用SET位許可權程序。(passwd

命令是為數不多的必須使用「suid」的命令之一)。

suid(set User ID,set UID)的意思是進程執行一個文件時通常保持進程擁有者的UID。然而,如果設置了可執行文件的suid位,進程就獲得了該文件擁有者的UID。

sgid(set Group ID,set GID)意思也是一樣,只是把上面的進程擁有者改成進程組就好了。

SET位許可權表示形式(10位許可權):

如果一個文件被設置了suid或sgid位,會分別表現在所有者或同組用戶的許可權的可執行位上;如果文件設置了suid還設置了x(執行)位,則相應的執行位表示為s(小寫)。但是,如果沒有設置x位,它將表示為S(大寫)。如:

1、-rwsr-xr-x表示設置了suid,且擁有者有可執行許可權2、-rwSr--r--表示suid被設置,但擁有者沒有可執行許可權3、-rwxr-sr-x表示sgid被設置,且群組用戶有可執行許可權4、-rw-r-Sr--表示sgid被設置,但群組用戶沒有可執行許可權

設置方式:

SET位許可權可以通過chmod命令設置,給文件加suid和sgid的命令如下(類似於上面chmod賦予一般許可權的命令):

chmo+sfilename設置suid位chmo-sfilename去掉suid設置chmodg+sfilename設置sgid位chmodg-sfilename去掉sgid設置

粘滯位許可權:

粘滯位許可權即sticky。一般用於為目錄設置特殊的附加許可權,當目錄被設置了粘滯位許可權後,即便用戶對該目錄有寫的許可權,也不能刪除該目錄中其他用戶的文件數據。設置了粘滯位許可權的目錄,是用ls查看其屬性時,其他用戶許可權處的x將變為t。

使用chmod命令設置目錄許可權時,+t、-t許可權模式可分別用於添加、移除粘滯位許可權。

粘滯位許可權表示形式(10位許可權):

一個文件或目錄被設置了粘滯位許可權,會表現在其他組用戶的許可權的可執行位上。如果文件設置了sticky還設置了x(執行)位,其他組用戶的許可權的可執行位為t(小寫)。但是,如果沒有設置x位,它將表示為T(大寫)。如:

1、-rwsr-xr-t表示設置了粘滯位且其他用戶組有可執行許可權2、-rwSr--r-T表示設置了粘滯位但其他用戶組沒有可執行許可權

設置方式:

sticky許可權同樣可以通過chmod命令設置:

chmod +t <文件列表..>

十二位的許可權表示方法

附加許可權除了用十位許可權形式表示外,還可以用用十二位字元表示。

11109876543210S  G  T r w x r w x r w x

SGT分別表示SUID許可權、SGID許可權、和 粘滯位許可權,這十二位分別對應關系如下:

第11位為SUID位,第10位為SGID位,第9位為sticky位,第8-0位對應於上面的三組rwx位(後九位)。

在這十二位的每一位上都置值。如果有相應的許可權則為1, 沒有此許可權則為0。

-rw-r-sr--的值為:010110100100-rwsr-xr-x的值為:100111101101-rwsr-sr-x的值為:110111101101-rwsr-sr-t的值為:111111101101

如果將則前三位SGT也轉換成一個二進制數,則

suid 的八進制數字是4

sgid 的代表數字是 2

sticky 位代表數字是1

這樣我們就可以將十二位許可權三位三位的轉化為4個八進制數。其中

最高的一位八進制數就是suid,sgdi,sticky的權值。

第二位為 擁有者的權值

第三位為 所屬組的權值

最後一位為 其他組的權值

附加許可權的八進制形式

通過上面,我們知道,正常許可權和附加許可權可以用4位八進制數表示。類似於正常許可權的數字許可權賦值模式(使用三位八進制數字賦值)

chmod file...

我們可以進一步使用4位八進制數字同時賦值正常許可權和附加許可權。

chmod file...

其中s是表示附加許可權的把八進制數字,abc與之前一致,分別是對應User、Group、及Other(擁有者、群組、其他組)的許可權。因為SUID對應八進制數字是4,SGID對於八進制數字是2,則「4755」表示設置SUID許可權,「6755」表示同時設置SUID、SGID許可權。

我們進一步將上小節的例子中的二進制數轉變為八進製表示形式,則

-rw-r-sr-- =010110100100=2644-rwsr-xr-x =100111101101=4755-rwsr-sr-x =110111101101=6755-rwsr-sr-t =111111101101=7755

對比範例:

設置 netlogin 的許可權為擁有者可讀寫執行,群組和其他許可權為可讀可執行

設置 netlogin 的許可權為擁有者可讀寫執行,群組和其他許可權為可讀可執行,並且設置suid

chmod 4755與chmod 755對比多了附加許可權值4,這個4表示其他用戶執行文件時,具有與所有者同樣的許可權(設置了SUID)。

為什麼要設置4755 而不是 755?

假設netlogin是root用戶創建的一個上網認證程序,如果其他用戶要上網也要用到這個程序,那就需要root用戶運行chmod 755 netlogin命令使其他用戶也能運行netlogin。但假如netlogin執行時需要訪問一些只有root用戶才有權訪問的文件,那麼其他用戶執行netlogin時可能因為許可權不夠還是不能上網。這種情況下,就可以用 chmod 4755 netlogin 設置其他用戶在執行netlogin也有root用戶的許可權,從而順利上網。

熱點內容
ftp記錄傳輸文件 發布:2025-05-10 09:56:53 瀏覽:560
社保的查詢密碼是什麼 發布:2025-05-10 09:51:49 瀏覽:619
php獲取ip的函數 發布:2025-05-10 09:43:48 瀏覽:152
金立怎麼刷機解鎖密碼 發布:2025-05-10 09:43:45 瀏覽:761
陶藝訪問學者 發布:2025-05-10 09:43:43 瀏覽:880
英語編譯和翻譯過程 發布:2025-05-10 09:34:35 瀏覽:344
搜狐視頻上傳視頻 發布:2025-05-10 09:34:35 瀏覽:647
共享存儲linux 發布:2025-05-10 09:34:32 瀏覽:153
浙江北斗校時伺服器ip地址 發布:2025-05-10 09:33:50 瀏覽:167
我的世界伺服器可以隨意建造 發布:2025-05-10 09:29:35 瀏覽:113