通俗易懂理解Linux文件權限修改chmod命令

chmod g+w filename 給同組用戶增長filename文件的寫權限
chmod go+rw filename 給同組和組外用戶增長寫和讀的權限
chmod g-w filename 給同組用戶去除寫權限遞歸

命令中間分爲三部分:file

第一部分
g、o 這些表明給誰修改權限,一共有4個字母能夠放進去,可一個一個放,也可多個寫一塊兒,表示一塊兒修改
u:文件擁有者
g:跟擁有者同組的用戶
o:其餘用戶
a:全部用戶,等同於ugo權限

第二部分
這部分裏的+ 、- 這些表示增長和去除的意思di

第三部分
w、rw 這些表明具體的權限,能夠一個一個放,也能夠多個寫一塊兒,表示一次給多種權限
r:讀權限
w:寫權限
x:執行權限文件

另外一種寫法

chmod 755 filename
chmod 777 filename字符

這種寫法簡潔一些,效果和前面寫字母的方式是同樣的,那這三個數字表明啥呢?
第一個數字表明文件擁有者的權限(至關於給u的權限), 第二個數字表明擁有者同組用戶的權限(至關於給g的權限),第三個數字表明其餘用戶的權限(至關於給o的權限)。習慣

那麼,具體每個數字又是怎麼跟具體的權限掛鉤的呢?
咱們先把三種權限對應到三個數字:
r:4
w:2
x:1
空權限:0
而後須要哪一個權限,就用哪一個數字,若是須要一塊兒用多個權限,就把對應的數字加起來。
好比前面例子中的7,就表明4+2+1,表示同時修改讀、寫、執行的權限;5表明4+1,表示同時修改讀、執行的權限。
同理,若是我想同時修改讀和寫的權限,那就把讀和寫的數字加一塊兒,4+2=6這樣。
好比,chmod 756 filename,表示給文件擁有者讀、寫、執行三個權限,給擁有者同組用戶讀、執行權限,給其餘用戶讀、寫權限。
上面這個例子等同於:
chmod u+rwx filename
chmod g+rx filename
chmod o+rw filename
固然這三個命令能夠合爲一個 chmod u+rwx,g+rx,o+rw filename,這樣寫起來多麻煩啊,因此你們都習慣用數字來寫,方便,固然若是隻作很小的改動,用字母的方式也很簡單明瞭。數字

順便說一下,上面看到多種權限修改能夠經過逗號分隔,放在一個命令裏,那多個文件也能夠經過空格分隔,放在一個命令裏。
好比 chmod 777 filename1 filename2,就是同時對兩個文件進行權限修改成777的操做。參數

其餘參數
chmod -R 755 /dir,使用-R有遞歸的做用,可使指定目錄以及全部子目錄都同時進行權限修改。

查看文件權限

咱們經常使用的 ll 命令,就能夠看到文件的權限,在每一個文件最前面有一串符號就是,好比 -rw-r--r-- -rw-r--rwx drwx------ 這串符號分爲兩部分: 第一部分,就是第一個字符,要麼是 - 要麼是 d,表明文件類型,- 表示是文件,d 表示是目錄。 第二部分,一共有3*3=9個字符,按順序,最前面三個字符表明文件擁有者的權限,接下來三個字符表明擁有者同組用戶的權限,最後三個字符表明其餘用戶的權限。 而後表明權限的三個字母,你們應該都熟悉了,都是些r、w、x這些,前面都講到過了,三個字符是嚴格按照讀、寫、執行的順序擺好位置的,若是是 - ,就表示沒有權限。 好比第一個例子,-rw-r--r--,若是咱們給這個文件執行如下 chmod o+wx filename,再用 ll 看一下,會發現這個文件的權限信息變成了 -rw-r--rwx。

相關文章
相關標籤/搜索