1.9 centos7的文件/目錄權限介紹

文件/目錄權限chmodlinux


#查看目錄/文件的權限
[root@linux1 ~]# ls -l /tmp/a/
總用量 0
drwxr-xr-x. 2 root root 6 10月 24 09:28 2
# drwxr-xr-x  一共有十位數,其中:最前面第一位表示類型
#前三個表明 全部者(user)擁有的權限
#中間三個表明 組羣(group)擁有的權限
#最後三個表明 其餘人(other)擁有的權限

#r表示文件能夠被讀(read)
#w表示文件能夠被寫(write)
#x表示文件能夠被執行
#-表示相應的權限尚未被授予

須要注意的是:查看文件權限的目錄問題若是有文件夾  /a/b/ccentos


那麼執行 ls -l /a/b 查看權限的文件並非b,而是查看的c的權限。安全


ls -l /a 查看的是b文件的權限bash

ls -l /a/b 查看的是c文件的權限服務器

ls -l /a/b/c 查看的是c文件的權限app

#修改權限
drwxr-xr-x. 4 root root  24 10月 25 20:25 a
#user=rwx
#group=r-x
#other=r-x

語法:
#chmod u=[選項],g=[選項],o=[選項] 文件/目錄
#實例以下:
[root@centos7 tmp]# chmod u=rwx,g=r,o=r a
[root@centos7 tmp]# ls -l
drwxr--r--. 4 root root  24 10月 25 20:25 a

#取消權限
# chmod a-x,u-x,g-x 文件/目錄
#實例以下:
[root@centos7 tmp]# chmod u-r,g-r,o-r a
[root@centos7 tmp]# ls -l
d-wx------. 4 root root  24 10月 25 20:25 a
#rwx:能夠用數字來代替
r----------4
w----------2
x----------1
- -------- 0
#實例
-rw-r--r--. 1 root root 334 10月 25 21:34 a/1.txt
#---------(600)全部者有讀和寫的權限
#   ------(400)羣組(用戶組)有讀的權限
#      ---(400)其餘人只有讀的權限

#因此,能夠標記爲644 若是每位加1 即755 以下設置
[root@centos7 tmp]# chmod 755 a/1.txt
[root@centos7 tmp]# ls -l a/1.txt
-rwxr-xr-x. 1 root root 334 10月 25 21:34 a/1.txt
#這樣子,就把簡單的把執行權限都加上了

#chomd -R 的用法以下,更改當前目錄或子目錄的權限
[root@centos7 tmp]# chmod -R 777 a
[root@centos7 tmp]# ls -l /tmp/a
總用量 4
-rwxrwxrwx. 1 root root 334 10月 25 21:34 1.txt
drwxrwxrwx. 3 root root  15 10月 25 21:32 b

更改全部者和所屬組chown,chgrpide

#chown 即change owner的縮寫 改變文件全部者屬性

#chown 全部者:所屬組 1.txt 修改所屬組
[root@centos7 a]# chown user:user 1.txt
[root@centos7 a]# ls -l 1.txt
-rw-r--r--. 1 user user 339 10月 25 22:00 1.txt

#chown 能夠加R選項,用來修改目錄及如下的全部文件的權限
[root@centos7 tmp]# ls -l a/
總用量 4
-rw-r--r--. 1 user user 346 10月 25 22:01 1.txt
drwxrwxrwx. 3 user user  15 10月 25 21:32 b

#chgrp (change group)
#chgrp命令:chgrp命令用來改變文件或目錄所屬的用戶組。該命令用來改變指定文件所屬的用戶組。
格式:chgrp [選項] 組名 文件名
[root@centos7 tmp]# ls -l a
-rw-r--r--. 1 user user 346 10月 25 22:01 1.txt
[root@centos7 a]# chgrp root 1.txt
[root@centos7 a]# ls -l 1.txt
-rw-r--r--. 1 user root 346 10月 25 22:01 1.txt

umask測試


umask 每一個用戶都有一個默認的umask值,是用來確認用戶的默認權限。centos7

# 查看umask值
[root@centos7 a]# umask
0022

默認文件權限計算方法
1)假設umask值爲:022(全部位爲偶數)
6 6 6     ==>文件的起始權限值
0 2 2 -    ==>umask的值
---------
6 4 4
2)假設umask值爲:045(其餘用戶組位爲奇數)
6 6 6     ==>文件的起始權限值
0 4 5 -    ==>umask的值
---------
6 2 1   ==>計算出來的權限。因爲umask的最後一位數字是5,因此,在其餘用戶組位再加1。
0 0 1 +
---------
622 ==>真實文件權限

默認目錄權限計算方法
 7 7 7     ==>目錄的起始權限值
 0 2 2 -    ==>umask的值
---------
 7 5 5

 #實例一:umask全部位全爲偶數時,多數讀者對這個例子無疑問 
[root@oldboy oldboy]# umask
0022 #→umask當前數值
[root@oldboy oldboy]# umask 044 #→更改成044
[root@oldboy oldboy]# umask
0044
[root@oldboy oldboy]# mkdir umask_test #→建目錄測試
[root@oldboy oldboy]# ls -ld umask_test
drwx-wx-wx 2 root root 4096 Nov 12 19:21 umask_test #→對應數字權限爲733,是否是符合上面的計算方法?
[root@oldboy oldboy]# touch umask_test.txt
[root@oldboy oldboy]# ls -l umask_test.txt
-rw--w--w- 1 root root 0 Nov 12 19:21 umask_test.txt #→對應數字權限爲622,是否是符合上面的計算方法?
#實例二:umask值的部分或所有位爲奇數時,這個是讀者疑問最大的
#當umask值的其餘屬組位爲奇數時
[root@oldboy oldboy]# umask 0023
[root@oldboy oldboy]# mkdir dir
[root@oldboy oldboy]# touch file
[root@oldboy oldboy]# ls -l
總計 4
drwxr-xr-- 2 root root 4096 11-15 01:04 dir  #→對應數字權限爲754
-rw-r--r-- 1 root root    0 11-15 01:04 file #→對應數字權限爲644
#提示:根據前面的計算方法,當umask爲0023時,dir的權限應該是754,而file的權限應該爲643,可是因爲umask的其餘組位爲奇數,所以最終權限爲其餘組位加1,即643加001(對應實踐結果644)。注意:umask爲偶數的位不要加1。
#實例三:umask值的全部位爲奇數時
 [root@oldboy oldboy]# umask 0551
[root@oldboy oldboy]# umask
0551
umask 爲0551 根據掩碼方法計算:目錄權限爲226,文件權限115,而實際文件權限爲226(umask的三個權限位都是奇數,因此,每一個位分別加1就是正確的權限)
[root@oldboy oldboy]# mkdir dir5
[root@oldboy oldboy]# touch file5
[root@oldboy oldboy]# ls -l
總計 4
d-w--w-rw- 2 root root 4096 11-15 01:27 dir5  #→目錄對應數字權限爲226
--w--w-rw- 1 root root    0 11-15 01:27 file5 #→目錄對應數字權限爲226
再來一例驗證下:
[root@oldboy oldboy]# umask 0333
[root@oldboy oldboy]# umask
0333
umask 爲0333 根據掩碼方法計算:目錄權限爲444,文件權限333,而實際文件權限爲444(umask的三個位都是奇數,因此,每一個位分別加1就是正確的權限)
[root@oldboy oldboy]# mkdir dir3
[root@oldboy oldboy]# touch file3
[root@oldboy oldboy]# ls -l|grep 3
dr--r--r-- 2 root root 4096 11-15 01:30 dir3  #→目錄對應數字權限爲444
-r--r--r-- 1 root root    0 11-15 01:30 file3 #→目錄對應數字權限爲444

隱藏權限lsattr_chattrspa


除了設置文件或目錄的讀(r)、寫(w)、執行(x)權限外,對於某些有特殊要求的檔案(如服務器日誌)還能夠追加隱藏權限的設定。

chattr 設置隱藏權限 選項參數有

i:設定文件不能被刪除、更名、設定連接關係,同時不能寫入或新增內容。

a:即append,設定該參數後,只能向文件中添加數據,而不能刪除,多用於服務器日誌文件安全,只有root才能設定這個屬性。

+ :在原有參數設定基礎上,追加參數。
- :在原有參數設定基礎上,移除參數。


lsattr 查看隱藏權限 選項有

-a:顯示全部文件屬性,包括隱藏文件(.)、當時目錄(./)及上層目錄(../)。

-d:僅列示目錄屬性。

-R:遞歸列示目錄及文件屬性。

#實例:
#給目錄添加隱藏權限
[root@centos7 a]# chattr +i c #添加權限
[root@centos7 a]# lsattr -d c #查看權限
----i----------- c
#給文件添加隱藏權限
[root@centos7 a]# chattr +i 1.txt
[root@centos7 a]# lsattr -d 1.txt
----i----------- 1.txt

3a60216e627f55920a86d460d1c48b00.png-wh_

上圖顯示沒法修改

[root@centos7 a]# chattr -i 1.txt
[root@centos7 a]# lsattr -d 1.txt
---------------- 1.txt

關於其餘用法,詳情請參閱在線幫助man
相關文章
相關標籤/搜索