Linux下的文件權限
r(read):可以讀取文件的內容
w(write):可以編輯、修改文件的內容
x(execute):該文件可以被執行
需要特別注意的是,這些權限都是針對文件的內容而言的,跟文件本身沒有任何關系。因此即便是對文件有rwx權限,也不一定可以改名或刪除文件。
Linux下的文件夾權限
r(read):可以讀取文件夾內容列表,但如果沒有x權限,就只能看到文件名而無法查看其他內容(大小、權限等)
w(write):由於文件夾記錄的是其中內容的列表,因此具有w權限即可修改這個列表,前提是擁有x權限可以進入這個目錄內。w具體擁有以下幾項權限:
x(execute):可以進入該文件夾,沒有x權限便無法執行該目錄下的任何命令
這裡需要注意的是,由於目錄將其下的所有文件看作是它的內容,因此文件的改名與刪除權限是被Linux歸入該文件父目錄的w權限中的。當用戶改名或刪除文件(夾)時,執行的是對它上一級目錄的w操作,也因為這樣,刪除文件(夾)可以無視它自身的權限設置。
之後我想了一個問題把自己糾結住了:Linux下一切皆文件,有文件自然有文件夾,那麼Linux的根目錄(/)是文件夾麼?
有這個奇怪問題的起因是我發現在Linux的根目錄(/)下,貌似只有root用戶有權刪除文件。由上面的分析可以看出,刪除文件是執行該文件上層目錄的w操作,那根目錄下文件的上層自然就是根目錄了...唔,也許 / 不一定算文件夾,只能算一個掛載點?不知道,這個問題保留,以後再考慮...
root@ubuntu:/# touch file
root@ubuntu:/# chmod 777 file
root@ubuntu:/# chown slyar file
root@ubuntu:/# ls -l | grep file
-rwxrwxrwx 1 slyar slyar 0 2009-08-09 17:11 file
root@ubuntu:/# su slyar
slyar@ubuntu:/$ rm -f file
rm: cannot remove `file': Permission denied
PS.啊哈,剛上Ubuntu中文論壇問了下前輩,立刻就有人幫我解答了。 "/"是算一個文件夾的(當然其本質還是一個文件)用下面這個命令就可以查看了,而且可以隨便改權限,問題解決!
root@ubuntu:/# ls -ld /
drwxr-xr-x 22 root root 4096 2009-08-09 17:28 /