linux系統以安全性高著稱,它有完善的檔案和目錄許可權控制機制。
使用ls -l或者ll命令可檢視系統中檔案和目錄的許可權。 如:
[root@user ~]# ll
-rw-r--r-- 1 root
root
50883 may 12 13:16 install.log
-rw-r--r-- 1 root
root
3065 may 12 13:16 install.log.syslog
drwxr-xr-x 2 root
root
4096 may 15 14:55 tests
drwxr-xr-x
3 root
root
4096 2005-05-05 02:01 sapgui
-rwxr-xr-x
1 root
root
268 2005-03-13 15:44 test
最左邊的一串字元是檔案和目錄的許可權控制字串,許可權字串的第乙個字母代表檔案型別,不同字元代表不同的意思:
-,一般檔案
d,目錄
l,符號連線
b,塊特殊檔案
c,字元特殊檔案
s,socket套接字
p,命名管道
後面9個字元分成三組,分別代表user(使用者),group(組)和other(其它)的許可許可權。每組有三個許可權位,代表具體的許可權:
r,表示檔案可讀或目錄可讀,位於三位許可權組的第一位置。
w,表示檔案可修改或目錄可修改,位於三位許可權組的第二位置。
x,表示檔案可執行或目錄中的檔案可執行,位於三位許可權組的第三位置。
s,表示set uid或set gid。位於user或group許可權組的第三位置。如果在user許可權組中設定了s位,則當檔案被執行時,該檔案是以檔案所有者uid而不是使用者uid執行程式。如果在group許可權組中設定了s位,當檔案被執行時,該檔案是以檔案所有者gid而不是使用者gid執行程式。s許可權位是乙個敏感的許可權位,容易造成系統的安全問題。請在設定時小心,並注意系統中已有的suid或sgid檔案和目錄。
t,表示粘著位(sticky)。具有該位的檔案和目錄只有建立者才能刪除。
-,表示沒有許可權。該字元可出現在任何位置,表示沒有許可許可權。
許可權位後面的數字3,1,1,1表示硬鏈結的鏈結數,3表示有三個硬鏈結,1表示有乙個硬鏈結。
常用目錄許可權設定
0755,所有人都可以檢視目錄的內容,但只有root或所有者才能修改。
1777,所有人都可在該目錄下建立檔案,但不能刪除其它使用者建立的檔案。乙個典型目錄就是/tmp。
0700,只能由所有者訪問的目錄。如home目錄。
當我們在linux中建立乙個檔案或目錄時,系統通過umask環境變數來控制預設的許可權位設定。umask的值多為022,在profile檔案裡設定。設定格式如下:
...umask 022
...在umask值的2表示遮蔽寫許可權,7表示遮蔽讀寫許可權。最常用的值是022,027和077。
使用chmod,chown和chgrp改變檔案的訪問許可權,使用setuid和setgid來改變特殊位。
使用ls -i filename命令可以列出檔案的inode資訊。如:
localhost:~# ls -i ******.png
32563 ******.png
32563就是******.png的inode節點的值。
inode值相同的鏈結是硬鏈結,inode值不同的是軟鏈結。
硬鏈結示例:
localhost:~# ls -li ******.png
32563 -rw-r--r-- 1 root root 1574 2005-12-15 14:59 ******.png
localhost:~# ln ******.png ******1.png
#建立硬鏈結
localhost:~# ls -il ******1.png
32563 -rw-r--r-- 2 root root 1574 2005-12-15 14:59 ******1.png
localhost:~# ls -li ******1.png
32563 -rw-r--r-- 2 root root 1574 2005-12-15 14:59 ******1.png
#inode值與******.png一樣。鏈結值變成2
#改變互為硬鏈結的檔案內容時,另乙個檔案的內容也相應被改變。但刪除乙個檔案不會影響另乙個檔案。
軟鏈結示例:
localhost:~# ls -il ******.png
32563 -rw-r--r-- 1 root root 1574 2005-12-15 14:59 ******.png
localhost:~# ln -s ******.png ******1.png
#建立軟鏈結
localhost:~# ls -il ******.png
32563 -rw-r--r-- 1 root root 1574 2005-12-15 14:59 ******.png
localhost:~# ls -il ******1.png
32836 lrwxrwxrwx 1 root root 10 2006-04-27 13:16 ******1.png -> ******.png
#inode值與******.png不一樣了。
#軟鏈結相當於重新建立乙個鏈結檔案,inode值不同了。原始檔的鏈結值也不會增加。刪除原始檔,軟鏈結檔案也失效。
1.3. 檔案屬性
使用lsattr和chattr命令可以顯示和改變檔案屬性。
s(secure deletion),當檔案被刪除時,分配在該檔案中的所有塊都會清零,並寫入磁碟,保證檔案的資料被徹底清除,不能被訪問。
u(undelete),該屬性可儲存被刪除的檔案內容。
c(compress),當檔案儲存在磁碟時,核心會自動壓縮該檔案。
s(synchronous),當修改具有該屬性的檔案時,所有更改將同步寫入磁碟。
i(immutable),設定了該屬性的檔案不允許更改。
d(no dump),具有該屬性的檔案不能被dump工具備份。
a(no atime),不更新atime值,atime是檔案檔案的訪問時間戳
Linux檔案許可權知識
如何檢視linux中的檔案許可權 root localhost test ll d test drwxr xr x.2 root root 52 8月 7 20 18 test 上面的rwxr xr x即為檔案的許可權位共九位。下面分別對其進行介紹。rwx r x r x 屬主屬組 其他人前三個為屬...
linux許可權相關知識
問題 希望普通使用者能夠刪除本來無權刪除的檔案 1.sudo給普通使用者授權rm 2.給rm命令設定suid c.設定上級目錄的許可權 suid的了解?僅對二進位制檔案有效,二進位制命令程式需要可執行x配合,可以讓普通使用者可以以root的使用者角色執行root賬號才能執行的程式和命令,或者程式命令...
Linux檔案許可權
linux使用者分為 擁有者 組群 group 其他 other linux系統中,預設的情況下,系統中所有的帳號與一般身份使用者,以及root的相關資訊,都是記錄在 etc passwd檔案中。每個人的密碼則是記錄在 etc shadow檔案下。此外,所有的組群名稱記錄在 etc group內!圖...