Linux系統文件目錄權限詳解 - rwx

Linux系統對文件的權限分爲讀(Read), 寫(Write), 可執行(Exeute),對於操做者又分爲三種不一樣的身份:文件全部者,用戶組,其餘人。 shell

gilbert@gilbert-xp:~/test$ ls -l
total 0
-rw-r--r-- 1 gilbert gilbert 0 2013-03-16 14:50 readme

1、文件權限

1. 讀(r):能夠讀取文件的內容。

2. 寫(w):能夠編輯,修改文件內容。(但不能刪除文件)
3. 執行(x):文件能夠被系統執行。
bash

對於文件的權限,主要都是針對「文件內容」而言的。 編輯器

gilbert@gilbert-xp:~/test$ ls -l
total 0
-rw-r----- 1 gilbert gilbert 0 2013-03-16 14:50 readme #全部者對文件不具備執行權限(x)
gilbert@gilbert-xp:~/test$ ./readme #文件全部者執行文件
bash: ./readme: Permission denied   #無權限
gilbert@gilbert-xp:~/test$ vi readme  #有寫權限(w), 編輯文件,寫入hello
gilbert@gilbert-xp:~/test$ cat readme #有讀權限(r), 讀取文件內容
hello
gilbert@gilbert-xp:~/test$ chmod u-r readme #移除全部者對該文件的讀權限
gilbert@gilbert-xp:~/test$ ls -l readme 
--w-r----- 1 gilbert gilbert 6 2013-03-16 15:41 readme #已移除全部者的讀權限
gilbert@gilbert-xp:~/test$ cat readme  #嘗試讀取文件
cat: readme: Permission denied  #讀取失敗, 無權限
gilbert@gilbert-xp:~/test$ chmod u-w readme  #移除全部者對該文件的寫權限
gilbert@gilbert-xp:~/test$ ls -l
total 4
----r----- 1 gilbert gilbert 6 2013-03-16 15:41 readme #已移除全部者的寫權限
gilbert@gilbert-xp:~/test$ vi readme #嘗試編輯文件,會打開編輯器,但內容爲空,提示無權限

2、目錄權限

目錄主要的內容是記錄文件名列表。 學習

1. 讀(r):表示具備讀取目錄結構列表的權限,表示你能夠查詢該目錄下的文件名數據,能夠利用ls命令將該目錄的內容列表顯示出來。
2. 寫(w):表示你具備更改目錄結構列表的權限,包括如下權限:
spa

  • 新建文件和目錄
  • 刪除已存在的文件和目錄
  • 重命名已存在的文件和目錄
  • 轉移該目錄下的文件和目錄
3. 執行(x):表示用戶能夠進入該目錄做爲工做目錄。

gilbert@gilbert-xp:~/test$ ls -l
total 8
drwxr-xr-x 2 gilbert gilbert 4096 2013-03-16 15:51 dir  #全部者對該目錄具備rwx全部權限
----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
gilbert@gilbert-xp:~/test$ cd dir #具備x權限, 能夠進入做爲工做目錄
gilbert@gilbert-xp:~/test/dir$ ls #具備r權限, 能夠查看文件夾內文件列表
gilbert@gilbert-xp:~/test/dir$ touch file #具備w權限, 能夠建立文件
gilbert@gilbert-xp:~/test/dir$ ls
file  #文件建立成功
gilbert@gilbert-xp:~/test/dir$ touch file1 #建立文件file1
gilbert@gilbert-xp:~/test/dir$ ls
file  file1
gilbert@gilbert-xp:~/test/dir$ rm file1 #具備w權限, 能夠刪除文件
gilbert@gilbert-xp:~/test/dir$ ls
file  #文件file1已刪除
gilbert@gilbert-xp:~/test/dir$ cd ..
gilbert@gilbert-xp:~/test$ chmod u-w dir/  #移除w權限
gilbert@gilbert-xp:~/test$ ls -l
total 8
dr-xr-xr-x 2 gilbert gilbert 4096 2013-03-16 15:53 dir  #已移除w權限
----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
gilbert@gilbert-xp:~/test$ cd dir/
gilbert@gilbert-xp:~/test/dir$ ls
file
gilbert@gilbert-xp:~/test/dir$ touch file1  #嘗試建立文件
touch: cannot touch `file1': Permission denied  #建立失敗, 無權限
gilbert@gilbert-xp:~/test/dir$ rm file  #嘗試刪除文件
rm: cannot remove `file': Permission denied  #刪除失敗, 無權限
gilbert@gilbert-xp:~/test/dir$ cd ..
gilbert@gilbert-xp:~/test$ chmod u-r dir  #移除r權限
gilbert@gilbert-xp:~/test$ ls -l
total 8
d--xr-xr-x 2 gilbert gilbert 4096 2013-03-16 15:53 dir #已移除r權限
----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
gilbert@gilbert-xp:~/test$ ls -l dir/ #嘗試讀取文件夾內容
ls: cannot open directory dir/: Permission denied #讀取失敗, 無權限
gilbert@gilbert-xp:~/test$ cd dir/
gilbert@gilbert-xp:~/test/dir$ ls
ls: cannot open directory .: Permission denied  #讀取失敗, 無權限
gilbert@gilbert-xp:~/test/dir$ cd ..
gilbert@gilbert-xp:~/test$ chmod u-x dir/  #移除x權限
gilbert@gilbert-xp:~/test$ ls -l
total 8
d---r-xr-x 2 gilbert gilbert 4096 2013-03-16 15:53 dir #已移除x權限
----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
gilbert@gilbert-xp:~/test$ cd dir/  #切換到dir目錄
bash: cd: dir/: Permission denied  #切換失敗, 不具備x權限, 不能用該目錄做爲工做目錄


參考:《鳥哥的Linux私房菜-基礎學習篇》 code

相關文章
相關標籤/搜索