Linux -- 文件許可權 瞭解文件許可權前需要先知道用戶和用戶組的概念 用戶:https://www.cnblogs.com/holmes-cat/p/10345553.html用戶組:https://www.cnblogs.com/holmes-cat/p/10346842.html 1.使用 l ...
Linux -- 文件許可權
瞭解文件許可權前需要先知道用戶和用戶組的概念
用戶:https://www.cnblogs.com/holmes-cat/p/10345553.html
用戶組:https://www.cnblogs.com/holmes-cat/p/10346842.html
1.使用 ll -a 命令可以查看到該目錄下所有文件的屬性,顯示的內容分別為 [許可權] [連接數] [所有者] [用戶組] [文件容量] [修改日期] [文件名]
[tom@localhost ~]$ ll -a 總用量 64 drwx------ 5 tom home 4096 2月 11 10:50 . drwxr-xr-x. 8 root root 4096 2月 1 19:42 .. -rw------- 1 tom home 235 2月 1 20:24 .bash_history -rw-r--r-- 1 tom home 18 3月 23 2017 .bash_logout -rw-r--r-- 1 tom home 176 3月 23 2017 .bash_profile -rw-r--r-- 1 tom home 124 3月 23 2017 .bashrc -rw-r--r-- 1 tom home 4164 2月 11 10:50 Beauty drwxr-xr-x 2 tom home 4096 2月 11 10:32 demo drwxr-xr-x 2 tom home 4096 11月 12 2010 .gnome2 -rw-r--r-- 1 tom home 632 2月 11 10:47 Hare -rw-r--r-- 1 tom home 118 2月 11 10:37 html -rw-r--r-- 1 tom home 136 2月 11 10:39 lesson drwxr-xr-x 4 tom home 4096 3月 20 2018 .mozilla -rw-r--r-- 1 tom home 27 2月 1 19:55 .plan -rw------- 1 tom home 1405 2月 11 10:50 .viminfo
- 許可權中,第一個字元代表文件是目錄,文件還是鏈接文件:
[d]:目錄,如 demo 前面顯示的drwxr-xr-x,d表示 demo 是一個文件夾
[-]:文件
[l]:鏈接文件
[b]:設備文件里可供存儲的介面設備
[c]:設備文件里的串列埠設備,如滑鼠,鍵盤
- 第一個字元後面以三個字元為一組,代表許可權,如rwxr-xr-x,第一組rwx為所有者的許可權,第二組r-x為同用戶組的許可權,第三組r-x為其他人的許可權
[r]可讀許可權(4),[w]可寫許可權(2),[x]可執行許可權(1),[-]無許可權
r:讀取許可權,可讀取此文件的實際內容,可讀取目錄結構列表
w:可寫許可權,可以編輯,新增或者是修改該文件的內容,可以更改目錄結構列表,包括新增文件與目錄,刪除,重命名或者轉移等
x:文件是否可執行,用戶是否可以進入該目錄
- 第五列為文件的大小,預設單位為B
- 第七列為文件名,如果文件名前有 . 則為隱藏文件,使用ls -al 可以看到隱藏文件
改變文件屬性和許可權
1.chgrp 改變文件所屬用戶組
chgrp [-R] 用戶組名 文件或目錄,當要修改一個目錄下的所有文件的用戶組時,可以加 -R 進行遞歸處理
[root@localhost tom]# chgrp root Beauty [root@localhost tom]# ll 總用量 24 -rw-r--r-- 1 tom root 4164 2月 11 10:50 Beauty drwxr-xr-x 2 tom home 4096 2月 11 10:32 demo -rw-r--r-- 1 tom home 632 2月 11 10:47 Hare -rw-r--r-- 1 tom home 118 2月 11 10:37 html -rw-r--r-- 1 tom home 136 2月 11 10:39 lesson
2.chown 改變文件所有者
chown [-R] 用戶名 文件或目錄,當要修改一個目錄下的所有文件的所有者時,可以加 -R 進行遞歸處理, 也可以使用chown 所有者.用戶組(或者所有者:用戶組)文件或者目錄進行修改
[root@localhost tom]# chown root.root demo/ [root@localhost tom]# ll 總用量 24 -rw-r--r-- 1 tom root 4164 2月 11 10:50 Beauty drwxr-xr-x 2 root root 4096 2月 11 10:32 demo -rw-r--r-- 1 tom home 632 2月 11 10:47 Hare -rw-r--r-- 1 tom home 118 2月 11 10:37 html -rw-r--r-- 1 tom home 136 2月 11 10:39 lesson
3.chmod 改變許可權
- 按照許可權數字賦權,許可權對應的數字為:r - 4,w - 2,x - 1
如,將文件設置為所有者擁有讀寫和執行許可權,r+w+x=4+2+1=7,同用戶組下擁有讀寫許可權,r+w=4+2=6,其他人擁有執行和讀許可權,r+x=4+1=5,那麼命令寫為:chmod 765 文件名
[root@localhost tom]# ll 總用量 24 -rw-r--r-- 1 tom root 4164 2月 11 10:50 Beauty [root@localhost tom]# chmod 765 Beauty [root@localhost tom]# ll 總用量 24 -rwxrw-r-x 1 tom root 4164 2月 11 10:50 Beauty
- 按照具體某一許可權賦權u代表用戶,g代表用戶組,o代表其他人,a代表所有身份,+代表加入某個許可權,-代表除去某個許可權,=代表設置許可權
如,將文件設置為所有者擁有讀寫和執行許可權,同用戶組下擁有讀寫許可權,其他人擁有執行和讀許可權,那麼命令寫為:chmod u=rwx,g=rw,o=rx 文件名
[root@localhost tom]# ll 總用量 24 -rw-r--r-- 1 tom home 632 2月 11 10:47 Hare [root@localhost tom]# chmod u=rwx,g=rw,o=rx Hare [root@localhost tom]# ll 總用量 24 -rwxrw-r-x 1 tom home 632 2月 11 10:47 Hare
- 去除或者加上某個許可權
如去除所有角色的讀許可權:chmod a-r 文件名
[root@localhost tom]# ll 總用量 24 -rwxrw-r-x 1 tom root 4164 2月 11 10:50 Beauty [root@localhost tom]# chmod a-r Beauty [root@localhost tom]# ll 總用量 24 --wx-w---x 1 tom root 4164 2月 11 10:50 Beauty
文件預設許可權 umask
新建一個文件時預設的許可權,顯示的為應該除去的許可權,如umask為0022,後面三個數字022代表一般許可權,對於所有者不去除任何許可權,對於同用戶組去除2(可寫許可權),對於其他人去除2(可寫許可權)。
新建文件 原:-rw-rw-rw- 按照022去除後為:-rw-r--r--
新建文件夾 原:drwxrwxrwx 按照022去除後為:drwxr-xr-x
[root@localhost tom]# umask 0022
設置文件預設許可權 [root@localhost tom]# umask 002 [root@localhost tom]# umask 0002 [root@localhost tom]# mkdir a1 [root@localhost tom]# touch atext01 [root@localhost tom]# ll 總用量 28 drwxrwxr-x 2 root root 4096 2月 11 16:45 a1 -rw-rw-r-- 1 root root 0 2月 11 16:45 atext01
文件隱藏屬性 chattr 和 lsattr
文件的隱藏屬性大致有:
1.chattr 設置文件的隱藏屬性,詳細內容可 man chattr 進行查看
+ 添加某個隱藏許可權
- 除去某個隱藏許可權
= 賦予某個隱藏許可權
#賦予 Beauty 文件 i 許可權,不能被刪除 [root@localhost tom]# chattr +i Beauty [root@hs-192-168-33-206 tom]# rm Beauty rm:是否刪除普通文件 "Beauty"?y rm: 無法刪除"Beauty": 不允許的操作
2.lsattr 查看文件的隱藏屬性
-a 查看全部(包括隱藏文件)的隱藏許可權 -d 只查看目錄的隱藏許可權 -R 列出子目錄的隱藏許可權
查看剛剛設置的 i 許可權
[root@localhost tom]# lsattr Beauty ----i--------e- Beauty
去掉 i 許可權
[root@localhost tom]# chattr -i Beauty [root@localhost tom]# lsattr Beauty -------------e- Beauty