chmod
是change mode 的縮寫。同理chown
是change owner的縮寫,1個是改變文件的訪問權限,1個是改變文件的所有者。
對Linux
文件來說,訪問權限和文件的所有者是比較重要的兩個屬性。文件的訪問權限大概是這樣1個概念。例如文件的訪問權限又3中,1個是讀,用read 表示,標志位為4,1個是寫,用w表示,標志位是2, 另外一個是x,標志位是1,表示可履行的意思(對1個文件,x表示這個文件可以履行,對1個目錄,x表示這個目錄可以訪問,便可以cd進去)。對1個指定用戶,如果對1個文件的mode值是7,那末表示這個用戶對這個文件又 rwx 的權限。這個是位運算的,希望能仔細理解1下。其中的 755 表示 owner 對這個文件的權限是rwx(讀寫履行或訪問),group_user 對這個文件的權限是rx,others 對這個文件的權限是rx(讀寫履行和訪問)。
chmod -R 755 *
我們通過 ll 命令 或 ls -al 列出來的通常都是1個3位的數字,這個怎樣理解呢。原來是這樣的,這個3位數分別表示owner group_user others
對這個文件的權限,這樣表示的本源是 Linux
是1個多用戶的操作系統,1個文件可以被不同的用戶看見。有必要解釋1下group_user
這個概念,在Linux
中,用戶是可以又group的,1個group中可以又多個用戶,所以1個文件需要說明這3類用戶對文件訪問權限才算是完全的,不然,當1個文件暴露給不同類型的用戶的時候,操作系統怎樣會處理這個case呢?上面的基本都是文件權限的問題,知道這些知識,就能夠給1個文件設置適合的權限了,如果是1個目錄的話,如果想要遞歸設置目錄里面的每個文件的權限,可使用-R參數。
下面是chown
的相干內容。
每一個文件都有1個owner,這個owner是通過1個group 和 1個user 來共同決定的。如果不知道你的身份,可以用 whoami 來查看。如果不知道你當前的group,可以用groups來查看所有的group。這兩個工具的通常實用處景是這樣的,你不想在編輯1個文件的時候總是利用sudo,這個文件沒有必要被保護,1種方式是把這個文件的訪問權限設置成777,這樣所有人都可以隨便修改而不受任何保護。但是另外一中方式是將這個文件的owner設置成你自己確當前用戶,或說你想讓他隨便編輯這個文件而不受任何限制的用戶。例如這樣
chown -R work:work .*
這樣可以將當前目錄下的所有文件都設置成work work,第1個work是用戶名,第2個是用戶組。1般情況下是1樣的。如果是在不知道的話,可以touch 1個文件,然后ls -al
,這樣看以下出的新文件的user 和 group,設置成1樣的,你就能夠取消掉總是輸密碼的麻煩了。