Linux命令 chmod
1.簡介
在Linux中,一個文件或目錄擁有很多權限,而最基本的權限就有九個,分別是擁有者,用戶組,其他人的三個對象的讀,寫,執行的權限。
而chmod命令就是用來改變文件/目錄的權限。改變文件的權限有兩種方法:1.使用數字 2.使用符號
2. 具體方法
所有的方法都遵循此模式: chmod [options] [ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+ filename
options:
(1) -c ,--changes 在改變文件的權限的時候成功的時候,會打印一行內容報告改變權限的內容
[email protected]:~/c# chmod-c u+x a.c mode of ‘a.c‘ changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)
註意:上面的0644的0代表的是‘-’ ,表示文件,數字代號是"0";
還有 符號連接的權限
(2) -f, --silent, --quit 保持沈默
(3) -v , --verbose 總是會提醒你和 -c 很相似 所以是冗雜的,繁多的
(4) -R 最常用的一個選項,遞歸改變文件和目錄的權限
數字類型:
對於一個文件的每個對象都有三種權限,讀,寫和執行的權限,每個權限都對應這一個分數。
r : 4 w:2 x:1
每個身份的權限的值都是累加的,比如 :
[email protected]:~/c# chmod 764 a.c [email protected]:~/c# ls -l a.c -rwxrw-r-- 1 root root 58 Aug 30 07:45 a.c
在這個實例中,擁有者的權限是7,就是 r+w+x =4+2+1=7,用戶組的權限就是6 r+w=4+2=6 ,而其他人就是4了 r=4.
字符類型:
用字符改變文件權限 chmod [augo] [+-=] [rwx] filename/dirname;
a: all 包括所有的對象 u:user,只改變擁有者的權限 g:group,只改變用戶組的權限 o:others,只改變其他人的權限
+:添加權限 -:刪除權限 =:設置權限
比如:
[email protected]:~# ls -l .bash_history -rw------- 1 root root 26291 Aug 27 09:54 .bash_history [email protected]:~# chmod u=rwx,go+w .bash .bash_history .bashrc [email protected]:~# chmod u=rwx,go+w .bash_history [email protected]:~# ls -l .bash_history -rwx-w--w- 1 root root 26291 Aug 27 09:54 .bash_history
剛開始只有擁有者可以讀和寫, u=rwx 給擁有者設置為所有權限, go+w 給 用戶組和其他人加上了 w的權限。
Linux命令 chmod