與伺服器鬥智鬥勇之命令系列3
首先大致有個概念,檔案所有者,也就是定義私人的空間,而使用者組是可以設定大家共享的許可權,可以檢視,還是大家都可以修改,類比私人房間和客廳的差別,當然還有一個其他人,也就是來家裡的客人
不過還有個萬能的神,root,他可以無視所有限制,為所欲為
在Linux中,預設所有賬戶包括root都記錄在etc/passwd這個檔案內,而密碼則記錄在/etc/shadow這個檔案下,不得不說這個檔名有點誤導,此外Linux所有的組名都記錄在/etc/group這個檔案裡,所以注意,不要隨意刪除,修改,不要rm -rf /*
這三個檔案的格式以後再說
不同的使用者能否檢視檔案,修改和執行檔案取決於這個許可權的設定,接下來好好看一下
登入進系統以後,首先看一下ls -al 有什麼效果,當然,ls(也就是list)這個命令有很多引數,可以自己多查查
從左到右,分別是,許可權明細,連線,所有者,使用者組,檔案容量,修改日期,檔名
其中有的許可權明細上有個與眾不同的d,意思是個目錄,若是-,意思是一個檔案,l表示連線檔案,b是個可儲存的介面是被,c表示裝置檔案裡的串列埠裝置,類似鍵鼠
可以看到緊隨其後是九個空位填了rwx這三個字母,時有時無,r意為可讀,w代表可寫,x代表可執行
以下為例
- rwx r-x r--
1234567890
1:-表示這個檔名是個檔案
234:表示擁有者有可以讀寫執行的許可權
567:表示同用戶組的許可權,本例中為可讀,可執行
890:其他使用者的許可權,本例中為可讀
rwx所在的位置是不變的,,有這個許可權就會顯示字元,沒有就會變成-號
同樣在rwx認為是4+2+1=7,
要修改檔案屬性為這個例子的樣子,可以用
chmod 754 檔名或者chmod u=rwx,g=rx,o=r 檔名
如果不知道別的許可權,只是新增一個讀寫許可權,就是
chmod a+w 檔名(ugoa分別以為所有者,使用者組,其他使用者和所有),同理去除使用-號
修改使用者組:chgrp 使用者組 檔名
修改所有者:chown 賬號名稱:組名 檔案或者目錄
兩個都可以使用-R表示遞迴,不過不常用
許可權一定要慎重,原因在於rwx這個三個符號的含義
對檔案:
r:可以讀取實際內容,例如閱讀文字檔案
w:編輯,新增或修改檔案內容
x:執行,但是並不具備刪除該檔案的許可權,原因看了下面的就曉得了
對目錄:
r:可以查詢該目錄下的檔案,比如可以ls一把
w:可以更改該木立下的結構列表,如建立新的檔案或目錄,刪除已存在的檔案和目錄(不論該檔案的許可權是什麼),重新命名已有檔案和目錄,轉移檔案或目錄的位置等
x:可以進入該目錄成為工作目錄
複製行為會複製執行者的屬性和許可權
如果你在一個目錄下不具有x的許可權,那麼就無法切換到這個目錄下,也就無法執行該目錄下的任何命令,及時具有該目錄的r許可權,也就是說,要開放目錄給任何人瀏覽時,應該至少也要給r和x許可權,w是不可以隨便給的,因為w是可以修改的,注意是修改這個目錄下的所有資訊