Linux目錄與文件的權限
阿新 • • 發佈:2017-05-07
linu 包含 其他 結構 寫入 gin 位置 write 目錄結構
零、Linux中的權限為什麽重要?
權限直接關系數據安全!
一、用戶基礎概念:
- 所有者(owner):擁有這個文件的用戶。一般擁有目錄或文件的所有權限。
- 用戶組(group):幾個用戶組成一個用戶組,一般來說組內用戶同時具有某些權限。
- 其他人(others):相對於owner和group的其他人。一般比前兩者少某些權限。
二、目錄與文件的權限的意義:
- 文件是實際包含數據的,一般文本文件、數據庫文件、二進制可執行文件等,因此權限對於文件來說,意義如下:
- r(read):可讀取此文件的實際內容,例如讀取文本文件hello.txt裏的hello,world!
- w(write):可以編輯、新增或是修改文件的內容(註:不包含刪除該文件本身的權限
- x(eXecute):該文件具有被系統執行的權限(註:Linux下,文件能否被執行,不像windows下看文件擴展名,而是由文件是否具有x權限來決定的)
- 目錄主要的內容是記錄文件名列表。權限對於目錄來說,意義如下:
- r(read contents in directory):表示具有讀取目錄結構列表的權限,當具有一個目錄的r權限時,就可以使用ls將其打印出來
- w(modify contents of directory):這個可寫入權限對於目錄來說很強大,它代表者你可以:
- 新建新的文件與目錄
- 刪除已經存在的文件與目錄(且不論該文件的權限如何)
- 將已存在的文件或目錄重命名
- 轉移該目錄內的文件、目錄位置。
- 總之、目錄的w權限與該目錄下的文件名變動有直接關系。
- x(access directory):目錄x代表用戶是否能進入該目錄成為工作目錄,例如我具有/data的x權限,那麽我可以cd /data,反之則不行。
例如:查看/data下的test.txt文件的詳細信息可以看到:
[[email protected] /]# ls -l /data/test.txt -rw-r--r--. 1 oldboy users 296 Apr 29 11:15 /data/test.txt
打印的結果中:
- 第一個字符 [-] :表示此文件為普通文件
-
- 若是[d]則是目錄
- 若是[-]則是文件
- 若是[l]則是連接文件(linkfile)
- 若是[b]則表示設備文件裏面可供儲存的接口設備
- 若是[c]則表示設備文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取設備)
-
2、後面的[rw-r--r--]字符:表示此文件的權限信息,三個一組。
- 第一組[rw-]:表示所有者的權限為r、w,可讀可寫。
- 第二組[r--]:表示同用戶組的權限為r,只能讀。
- 第三組[r--]:表示其他非本用戶組的權限為r,只能讀。
三、Linux存放用戶身份和用戶組記錄的文件。
/etc/passwd #默認情況下,所有系統上的賬號與一般身份用戶以及root的信息都記錄在這個文件裏 /etc/shadow #記錄個人的密碼 /etc/group #記錄所有的用戶組名稱 #這三個文件是Linux裏賬號、密碼和用戶組信息的集中地。不可隨意刪除。
四、更改文件用戶組、所有者、權限的命令。(註:以下操作都在root下進行)
- 改變文件用戶組chgrp(change group)
chgrp users /root/install.log #要改變的組名必須在/etc/group下存在 #將install.log文件用戶組改為users
- 改變文件所有者chown(change owner)
chown xiaoming /data/test.txt #目標用戶必須在/etc/passwd下存在 #將test.txt文件的所有者為xiaoming
- 改變文件權限chmon
- 方法一,Linux中每種權限對應著一個分數,對應表如下
r(read) == 4 w(write) == 2 x(executable) == 1
- 方法一,Linux中每種權限對應著一個分數,對應表如下
更改文件的權限就把需要的權限分數相加後放在對應的owner、group、others位置上。如下
chmod 640 /data/test.txt #將/test.txt權限更改為-rw-r-----
#6==4+2 對應rw-;4對應r--;0對應---。只有owner可讀寫,group可讀,others無任何權限)
2.方法二,前面說過user(也就是owner)、group、others三種身份,在Linux中用u,g,o代表這三種身份的權限。如下:
u +(加入某個權限) r
g -(去除某個權限) w
o =(設置某個權限) x
a(all)
實踐:例如要設置一個文件的權限為-rwxr-xr-x,也就是user具有可讀、可寫和可執行權限,group與others(g/o)具有可讀與可執行的權限。代碼如下:
[[email protected] /]# chmod u=rwx,go=rx /data/test.txt [[email protected] /]# ls -l /data/test.txt #查看權限 -rwxr-xr-x. 1 oldboy users 296 Apr 29 11:15 /data/test.txt
參考:1、鳥哥的Linux私房菜
2、https://linux.cn/
Linux目錄與文件的權限