Linux下的文件權(quán)限
r(read):可以讀取文件的內(nèi)容
w(write):可以編輯、修改文件的內(nèi)容
x(execute):該文件可以被執(zhí)行
需要特別注意的是,這些權(quán)限都是針對文件的內(nèi)容而言的,跟文件本身沒有任何關(guān)系。因此即便是對文件有rwx權(quán)限,也不一定可以改名或刪除文件。
Linux下的文件夾權(quán)限
r(read):可以讀取文件夾內(nèi)容列表,但如果沒有x權(quán)限,就只能看到文件名而無法查看其他內(nèi)容(大小、權(quán)限等)
w(write):由于文件夾記錄的是其中內(nèi)容的列表,因此具有w權(quán)限即可修改這個列表,前提是擁有x權(quán)限可以進入這個目錄內(nèi)。w具體擁有以下幾項權(quán)限:
- 建立新的文件或文件夾
- 刪除已存在的文件或文件夾(無視該文件或文件夾的權(quán)限)
- 對已存在的文件或文件夾改名
- 更改目錄內(nèi)文件或文件夾的位置
x(execute):可以進入該文件夾,沒有x權(quán)限便無法執(zhí)行該目錄下的任何命令
這里需要注意的是,由于目錄將其下的所有文件看作是它的內(nèi)容,因此文件的改名與刪除權(quán)限是被Linux歸入該文件父目錄的w權(quán)限中的。當用戶改名或刪除文件(夾)時,執(zhí)行的是對它上一級目錄的w操作,也因為這樣,刪除文件(夾)可以無視它自身的權(quán)限設(shè)置。
之后我想了一個問題把自己糾結(jié)住了:Linux下一切皆文件,有文件自然有文件夾,那么Linux的根目錄(/)是文件夾么?
有這個奇怪問題的起因是我發(fā)現(xiàn)在Linux的根目錄(/)下,貌似只有root用戶有權(quán)刪除文件。由上面的分析可以看出,刪除文件是執(zhí)行該文件上層目錄的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中文論壇問了下前輩,立刻就有人幫我解答了。 "/"是算一個文件夾的(當然其本質(zhì)還是一個文件)用下面這個命令就可以查看了,而且可以隨便改權(quán)限,問題解決!
root@ubuntu:/# ls -ld /
drwxr-xr-x 22 root root 4096 2009-08-09 17:28 /