2.14 文件和目錄權限chmod 2.15 更改全部者和所屬組chown 2.16 umask 2.17 隱藏權限lsattr/chattr

chmodlinux

一個文件有三個權限位  算法

第2位日後看9位是權限 bash

Readeble 可讀spa

Writable 可寫命令行

Executable 可執行code

(「r」表示可讀)  ( 「w」表示可寫 )    ( 「x」表示可執行)  ( 「-」表示不可讀、不可寫、不可執行)ip

 rw-(全部者)   r--(所屬組)  r--(其餘用戶組)  共九位ci

權限用數字表示: r=4   w=2   x=1    同步

舉例:rwx=7    rw-=6    --x=1    rw-r--r--=644    rw-r-xr-x=655it

表示: rw- =6 --x =1 -w- =2 組合表示: rwxrwxrwx=777 rw-rw-rw-=666 -wx-wx-wx=333

 

一、命令語法:
chmod xxx 文件名  如:#chmod 700 3.txt

二、命令描述:
chmod = change mode   用於改變用戶對文件/目錄的讀寫執行權限。

三、命令選項:
-R 選項的做用等同於chown命令的-R選項,也表示級聯更改。

**知識點:注意:在Linux系統中,一個目錄的默認權限爲755,而一個文件的默認權限爲644。 **

**知識點:chmod  a(所有) u(全部者) g(所屬組) o(其餘用戶組) + – (增長或者取消) **

**知識點:若是在selinux開啓的環境下,那麼所建立的目錄或文件權限後面都會有一個點 ‘.’,說明這個目錄或文件受制於selinux;如:**

實例: 修改3.txt文件權限

[root@cham2 tmp]# ls -l
總用量 8
-rw-r--r--  1 root root   2 10月 24 21:21 2.txt
-rw-r--r--  1 root root   0 10月 25 15:24 3.txt
drwxrwx---  2 root root  19 10月 24 13:02 cham2
drwxr-xr-x  4 root root  28 10月 24 12:58 chamlinux
-rwx------. 1 root root 836 10月 19 07:00 ks-script-JG2UJk
drwx------  3 root root  17 10月 24 12:21 systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
-rw-------. 1 root root   0 10月 19 06:55 yum.log
[root@cham2 tmp]# chmod 700 3.txt
[root@cham2 tmp]# ls -l 3.txt
-rwx------ 1 root root 0 10月 25 15:24 3.txt
[root@cham2 tmp]#

把目錄下的 子文件 子目錄 所有批量的修改權限,能夠加一個-R選項

實例: 使用-R選項,把cham2權限修改成770,。

[root@cham2 tmp]# chmod -R 770 cham2
[root@cham2 tmp]# ls -ld cham2
drwxrwx--- 2 root root 19 10月 25 15:41 cham2
[root@cham2 tmp]# ls -l cham2/
總用量 0
-rwxrwx--- 1 root root 0 10月 25 15:41 1.txt

chmod  a(所有) u(全部者) g(所屬組) o(其餘用戶組) + – (增長或者取消)

實例:

[root@cham2 tmp]# chmod u=rwx,g=r,o=r cham2
[root@cham2 tmp]# ls -ld cham2
drwxr--r-- 2 root root 19 10月 25 15:41 cham2
[root@cham2 tmp]# chmod a+x cham2
[root@cham2 tmp]# ls -ld cham2
drwxr-xr-x 2 root root 19 10月 25 15:41 cham2
[root@cham2 tmp]# chmod a-x cham2
[root@cham2 tmp]# ls -ld cham2
drw-r--r-- 2 root root 19 10月 25 15:41 cham2
[root@cham2 tmp]# chmod u-x cham2
[root@cham2 tmp]# ls -ld cham2
drw-r--r-- 2 root root 19 10月 25 15:41 cham2
[root@cham2 tmp]# chmod o+x cham2
[root@cham2 tmp]# ls -ld cham2
drw-r--r-x 2 root root 19 10月 25 15:41 cham2

 

chown

一、命令語法:

#chown  cham  /tmp/yum.log 

chown -R username:group filename 

二、命令描述:
chown = change owner   命令chown 能夠更改文件的全部者 也可改所屬組。

三、命令選項:
-R R 選項只適用目錄,做用是級聯更改,即不只更改當前目錄,連目錄裏的目錄或者文件也所有更改。

實例:更改yum.log的全部者

[root@cham2 tmp]# ls -l /tmp/yum.log
-rw-------. 1 root root 0 10月 19 06:55 /tmp/yum.log
[root@cham2 tmp]# chown cham /tmp/yum.log 
[root@cham2 tmp]# !ls
ls -l /tmp/yum.log
-rw-------. 1 cham root 0 10月 19 06:55 /tmp/yum.log

chgrp

chgrp=change group的縮寫

實例:更改所屬組

[root@cham2 tmp]# chgrp    change group  ^C
[root@cham2 tmp]# chgrp user1 /tmp/yum.log 
[root@cham2 tmp]# ls -l /tmp/yum.log
-rw-------. 1 cham user1 0 10月 19 06:55 /tmp/yum.log

實例:更改yum.log.的全部者和所屬組

[root@cham2 tmp]# chown user1:cham /tmp/yum.log 
[root@cham2 tmp]# !ls
ls -l /tmp/yum.log
-rw-------. 1 user1 cham 0 10月 19 06:55 /tmp/yum.log

實例:只更改yum.log的所屬組 (命令「:」前忽略全部者)

[root@cham2 tmp]# chown :root /tmp/yum.log 
[root@cham2 tmp]# !ls
ls -l /tmp/yum.log
-rw-------. 1 user1 root 0 10月 19 06:55 /tmp/yum.log

實例:-R聯級更改/tmp/cham2 以及cham2的文件。

[root@cham2 tmp]# chown -R user1:cham /tmp/cham2
[root@cham2 tmp]# ls -l /tmp/cham2/
總用量 0
-rwxrwx--- 1 user1 cham 0 10月 25 15:41 1.txt
[root@cham2 tmp]# ls -ld /tmp/cham2/
drw-r--r-x 2 user1 cham 19 10月 25 15:41 /tmp/cham2/

linux文件的解釋

ls

 -l中顯示的內容以下:

-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

- 10個字符肯定不一樣用戶能對文件幹什麼

- 第一個字符表明文件(-)、目錄(d),連接(l)

- 其他字符每3個一組(rwx),讀(r)、寫(w)、執行(x)

- 第一組rwx:文件全部者的權限是讀、寫和執行

- 第二組rw-:與文件全部者同一組的用戶的權限是讀、寫但不能執行

- 第三組r--:不與文件全部者同組的其餘用戶的權限是讀不能寫和執行

也可用數字表示爲:r=4,w=2,x=1  所以rwx=4+2+1=7

- 1 表示鏈接的文件數

- root 表示用戶

- root表示用戶所在的組

- 1213 表示文件大小(字節)

- Feb 2 09:39 表示最後修改日期

- abc 表示文件名

 

 

 

umask

默認狀況下umask是0022,目錄的權限值爲755,普通文件的權限值爲644。

1.命令語法
umask xxx(這裏的xxx表明3個數字)。

2.命令描述
命令umask用於改變文件的默認權限。
若是要查看umask的值,只要在命令行輸入umask,而後回車便可。
QQ截圖20171024111536.png
這裏umask的預設值爲0022,規則:

若用戶創建普通文件,則預設沒有可執行權限,只有r,w兩個權限,最大值爲666(-rw-rw-rw-)。 若用戶創建目錄,則預設全部權限均開放,即777(-rwxrwxrwx)。 umask計算法:

例如咱們把umask的值改成003,那麼它建立的普通文件(最大值666)的權限是什麼呢?
普通文件的最大值-umask的值=將要建立的普通文件權限
(rw-rw-rw-)-(-------wx)=rw-rw-r--
能夠看出是 666-003=664。

例如咱們把umask的值改成003,那麼它建立的目錄(最大值777)的權限是什麼呢?
目錄文件的最大值-umask的值=將要建立的目錄權限
(rwxrwxrwx)-(-------wx)=rwxrwxr--
能夠看出777-003=774

**注意在計算umask的時候不能用數字表示,只能用字母。**

chattr

  chattr:設置隱藏權限change file attributes on a Linux file system

  lsattr:查看文件/目錄的隱藏屬性

1.命令語法
chattr [+-=][Asaci][文件或目錄名] ,其中+,-,=分別表示增長,減小和設定。

2.命令描述
命令chattr(chage attribute)改變屬性的意思

3.命令選項
A 增長該屬性後,表示文件或目錄的atime將不可修改。
s 增長該屬性後,會將數據同步寫入磁盤中。
a 增長該屬性後,表示只能追加不能刪除,非root用戶不能設定該屬性。
c 增長該屬性後,表示自動壓縮該文件,讀取時會自動解壓。
i 增長該屬性後,表示文件不可刪除,重命名,設定連接,寫入以及新增數據。

lsattr

1.命令語法
lsattr [-aR] [文件/目錄名]

2.命令描述
命令lsattr用於讀取文件或者目錄的特殊權限。

3.命令選項
-a 相似於ls的-a選項,即連同隱藏文件一同列出。
-R 連同子目錄的數據一同列出。

實例:給11.txt文件  以及查看 lsattr 11.txt

#chattr +i 11.txt 

[root@cham2 ~]# chattr +i 11.txt
[root@cham2 ~]# touch 11.txt
touch: 沒法建立"11.txt": 權限不夠
[root@cham2 ~]# mv 11.txt 123.txt
mv: 沒法將"11.txt" 移動至"123.txt": 不容許的操做
[root@cham2 ~]# rm -v 11.txt
rm:是否刪除普通文件 "11.txt"?y
rm: 沒法刪除"11.txt": 不容許的操做
[root@cham2 ~]# head -n2 /etc/passwd > 11.txt
-bash: 11.txt: 權限不夠

#chattr -i 11.txt  

#chattr +a 11.txt

[root@cham2 ~]# chattr +a 11.txt
[root@cham2 ~]# touch 11.txt
[root@cham2 ~]# ls
111  11.txt  123  12.txt  1.txt  22.txt  234  2.txt  anaconda-ks.cfg.1
[root@cham2 ~]# ls -l
總用量 16
drwxrwxr--  3 root root  113 10月 25 17:20 111
-rw-rw-r--  1 root root   70 10月 25 17:44 11.txt
drwxr-xr-x  2 root root    6 10月 25 16:39 123
-rw-r--r--  1 root root   65 10月 25 17:20 12.txt
-rw-r--r--  1 root root    0 10月 25 17:31 1.txt
-rw-r--r--  1 root root    0 10月 25 17:07 22.txt
drwxrwxr-x  2 root root    6 10月 25 16:41 234
-rwx------  1 root root 1008 10月 25 16:41 2.txt
-rw-------. 1 root root 1422 10月 19 07:00 anaconda-ks.cfg.1
[root@cham2 ~]# head -n2 /etc/passwd > 11.txt
-bash: 11.txt: 不容許的操做
[root@cham2 ~]# head -n2 /etc/passwd >> 11.txt
[root@cham2 ~]# rm -v 11.txt
rm:是否刪除普通文件 "11.txt"?y
rm: 沒法刪除"11.txt": 不容許的操做
[root@cham2 ~]# head -n2 /etc/passwd > 11.txt

#chattr -a 11.txt

#lsattr 11.txt

[root@cham2 ~]# lsattr 11.txt
-----a---------- 11.txt
[root@cham2 ~]#

對於目錄的做用與對於文件的做用相同

相關文章
相關標籤/搜索