Linux檔案許可權知識

2021-06-21 01:03:21 字數 3117 閱讀 4167

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內!圖...