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/
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是0022,目錄的權限值爲755,普通文件的權限值爲644。
1.命令語法
umask xxx(這裏的xxx表明3個數字)。
2.命令描述
命令umask用於改變文件的默認權限。
若是要查看umask的值,只要在命令行輸入umask,而後回車便可。
這裏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 ~]#
對於目錄的做用與對於文件的做用相同