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