關於Linux中的許可權
阿新 • • 發佈:2020-12-15
關於Linux中的許可權
簡單介紹
- 一般包括 讀 寫 執行,對應字母為 r,w,x;分別對應了數字 4 2 1
- Linux下檔案的顆粒度分為 擁有者,群組,其它組。每個檔案可以針對這三個顆粒度設定不同的許可權,一般來說,一個檔案只屬於一個使用者和一個組,其他使用者想有這個檔案的許可權,可以加入相應的群組。
- 用chmod對許可權進行修改
具體分析
檔案屬性
在目錄下執行命令ls -al
可以得到以下結果
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ]
[許可權] [連結] [擁有者] [群組] [檔案容量] [修改日期] [檔名]
第一欄第一個字母代表的是這個檔案的型別和許可權
- [d] 目錄
- [-]檔案
- [l]連結檔
- [b]可隨即存取裝置
- [c]串列埠裝置
我也搞不清最後三個什麼意思
接下來的字元三個一組,每組都是rwx的組合,三組分別 **檔案擁有者 群組 其它群組 **的許可權
注意 rwx 這三個字母的順序不會改變,如果沒有許可權,那麼就是減號[-]
修改檔案許可權和屬性
- chgrp: 改變檔案所屬群組 被修改的組名要在 /etc/group 存在
- chown:改變檔案擁有者 擁有者要在 /etc/passwd 檔案中存在
- chmod: 改變檔案的許可權,SUID,SGID,SBIT等等
範例:
[root@www ~]# chgrp [-R] dirname/filename ... 選項與引數: -R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案、目錄 都更新成為這個群組之意。常常用在變更某一目錄內所有的檔案之情況。 範例: [root@www ~]# chgrp users install.log [root@www ~]# ls -l -rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log [root@www ~]# chgrp testing install.log chgrp: invalid group name `testing' <== 發生錯誤訊息囉~找不到這個群組名~ [root@www ~]# chown [-R] 賬號名稱 檔案或目錄 [root@www ~]# chown [-R] 賬號名稱:組名 檔案或目錄 選項與引數: -R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都變更 範例:將install.log的擁有者改為bin這個賬號: [root@www ~]# chown bin install.log [root@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log 範例:將install.log的擁有者與群組改回為root: [root@www ~]# chown root:root install.log [root@www ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
改變許可權chmod
可以通過數字或者符號來改變許可權
-
數字:
r :4
w:2
x:1
每種身份的許可權要累加起來如:rwx = 4+2+1 = 7
那麼如果要開啟所有許可權,則要
chmod 777 xxxx
有時後vim編輯一個shell檔案後其許可權通常是 -rw-rw-r-- 也就是664, 如果要將該檔案變成可執行檔案,並且不要讓其他人修改此一檔案的話, 那麼就需要-rwxr-xr-x這樣的許可權,此時就得要下達:chmod 755 test.sh
的指令 -
符號:
用 u g o 來表示 三種身份(user group others)此外 a表示all
可以用下面的方法
例如:
[root@www ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod a+w .bashrc [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod u=rwx,go=rx .bashrc # 注意喔!那個 u=rwx,go=rx 是連在一起的,中間並沒有任何空格! [root@www ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
關於許可權的更多介紹可以參考《鳥哥的Linux私房菜》