Linux 許可權的解析

2021-10-06 19:05:13 字數 4576 閱讀 2462

檔案訪問許可權的相關設定方法

file 指令

目錄的許可權

粘滯位超級使用者與普通使用者的切換

知識點習題:

linux下有兩種使用者:超級使用者(root)、普通使用者

檔案型別

基本許可權:

功能:設定檔案的訪問許可權

格式:chmod [引數] 許可權 檔名

常用選項:

chmod 命令許可權值格式:使用者表示符+/-=許可權字元

例項:

chmod u+w /home/abc.txt

chmod o-x /home/abc.txt

chmod a=x /home/abc.txt

chmod u-r test.c (去掉檔案當前的擁有者的讀許可權)

chmod g-r test.c (去掉檔案同組使用者的讀許可權)

chmod o-r test.c (去掉檔案其他使用者的讀許可權)

chmod -x test.c (去掉檔案所有使用者的可執行許可權)

許可權表示:rwxrwxr-x ---- 111111101(二進位制位圖的表示方法) ---- 775(八進位制位圖的表示方式)

chmod 664 /home/abc.txt

chmod 640 /home/abc.txt

chown功能:修改檔案的擁有者

格式:chown [引數] 使用者名稱 檔名

常用選項:

例項:

chown user1 f1 

chown -r user1 filegroup1

chgrp功能:修改檔案或目錄的所屬組

格式:chgrp [引數] 使用者組名 檔名

例項:

chgrp

users /abc/f2

umask功能:檢視或修改檔案掩碼

但實際上你所建立的檔案和目錄,看到的許可權往往不是上面這個值。原因就是建立檔案或目錄的時候還要受到 umask的影響。假設預設許可權是mask,則實際建立的出來的檔案許可權是: mask & ~umask

格式:umask 許可權值

說明:將現有的訪問許可權減去許可權掩碼後,即可產生建立檔案時預設許可權。超級使用者預設掩碼值為0022,普通使用者預設為0002。

例項:

umask 755

umask //檢視

umask 044//設定

功能:辨識檔案型別。

語法:file [選項] 檔案或目錄...

常用選項:

使用 sudo 分配許可權

修改/etc/sudoers 檔案分配檔案

chmod 740 /etc/sudoers

vi /etc/sudoer

格式:接受許可權的使用者登陸的主機 =(執行命令的使用者) 命令

使用 sudo 呼叫授權的命令 $ sudo –u 使用者名稱命令

例項:

$sudo -u root /usr/sbin/useradd u2
於是, 問題來了~~

在linux系統中⽐較典型的例⼦就是「/tmp」、 「/var/tmp」⽬錄。這兩個⽬錄作為linux系統的臨時⽂件夾,許可權為「rwxrwxrwx」,即允許任意⽤戶、任意程式在該⽬錄中進⾏建立、刪除、移動⽂件或⼦⽬錄等操作。

然⽽試想⼀下,若任意⼀個普通⽤戶都能夠刪除系統服務運⾏中使⽤的臨時⽂件,將造成什麼結果?

# chmod 740 /etc/sudoers

# vi /etc/sudoer

[root@localhost ~]# chmod 0777 /home/

[root@localhost ~]# ls /home/ -ld

drwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/

[root@localhost ~]# touch /home/root.c

[root@localhost ~]# ls -l /home/

總用量 4

-rw-r--r--. 1 root root 0 9月 19 15:58 abc.c

drwxr-xr-x. 27 litao litao 4096 9月 19 15:53 litao

-rw-r--r--. 1 root root 0 9月 19 15:59 root.c

[root@localhost ~]# su - litao

[litao@localhost ~]$ rm /home/root.c #litao可以刪除root建立的檔案

rm:是否刪除有寫保護的普通空檔案 "/home/root.c"?y

[litao@localhost ~]$ exit

logout

為了解決這個不科學的問題,linux引入了粘滯位的概念.

關於許可權的總結當乙個目錄被設定為"粘滯位"(用chmod +t),則該目錄下的檔案只能由

超級管理員刪除

該目錄的所有者刪除

該檔案的所有者刪除

[root@localhost ~]# chmod +t /home/ # 加上粘滯位 

[root@localhost ~]# ls -ld /home/

drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/

[root@localhost ~]# su - litao

[litao@localhost ~]$ rm /home/abc.c #litao不能刪除別人的檔案

rm:是否刪除有寫保護的普通空檔案 "/home/abc.c"?y

rm: 無法刪除"/home/abc.c": 不允許的操作

若乙個目錄設定了沾滯位,那麼目錄將具有以下特點:

粘滯位許可權便是針對此種情況設定,當⽬錄被設定了粘滯位許可權以後,即便⽤戶對該⽬錄有寫⼊許可權,也不能刪除該⽬錄中其他⽤戶的⽂件資料,⽽是只有該⽂件的所有者和root⽤戶才有權將其刪除。

設定了粘滯位之後,正好可以保持⼀種動態的平衡:允許各⽤戶在⽬錄中任意寫⼊、刪除資料,但是禁⽌隨意刪除其他⽤戶的資料。

需要注意的是,粘滯位許可權只能針對⽬錄設定,對於⽂件⽆效。

設定了粘滯位許可權的⽬錄,使⽤ls命令檢視其屬性時,其他⽤戶許可權處的「x」將變為「t」。62

17:44 wujidong.txt/

粘滯位許可權都是針對其他⽤戶( other)設定

使⽤chmod命令設定⽬錄許可權時,「o+t」、 「o-t」許可權模式可分別⽤於新增、移除粘滯位許可權。
超級使用者的命令提示符是「#」,普通使用者的命令提示符是「$」。

命令:su [使用者名稱]

功能:切換使用者

root (超級使用者,計算機的管理員)沒事不用root

password:

~ root# exit

logout

執行chmod 644 mm.txt後的許可權是()

a.-rw-r--r--

b.rw-r--r--

c.-rwxr--r--

d.rwxr--rw-

正確答案:b

答案解析:

前面有乙個佔位符表示檔案型別, -表示普通檔案(它不能表示許可權)

Linux讀寫許可權解析

當我們操作linux系統的中的某些檔案時候可能會遇到許可權不夠的問題,那麼檔案的讀寫許可權是什麼,又是怎麼分化的呢,當我們想檢視許可權的時候可以通過ll指令了解,比如 以documents目錄的許可權來解說 drwxr xr x是它的許可權,d代表目錄,r 讀,w 寫,x 執行,2代表的是節點數,緊...

linux 檔案許可權解析

常用許可權 linux系統內有檔案有三種身份 u 擁有者 g 群組 o 其他人 這些身份對於文件常用的有下面許可權 r 讀許可權,使用者可以讀取文件的內容,如用cat,more檢視 x 該目錄具有可以被系統執行的許可權 其他許可權 除了讀寫執行許可權外系統還支援強制位 s許可權 和粘滯位 t許可權 ...

Linux下的檔案許可權解析

在linux學習中,經常會碰到關於檔案許可權的問題,再次給大家做乙個小結。首先,linux檔案中分為所屬人,所屬組,以及其他人三種型別。每一種型別分為三種基本許可權 讀許可權 readable,用r表示 寫許可權 writeable,用w表示 執行許可權 execute,用x表示 例如下圖所示,命令...