Linux中的權限

 

1.         文件與目錄權限
1)         UID與GID
Ø UID
UID是一個數值,是Linux系統中唯一的用戶標識,用於區別不同的用戶。在系統內部管理進程和文件保護時使用UID字段。在Linux系統中,註冊名和UID都可以用於標識用戶,只不過對於系統來說UID更爲重要;而對於用戶來說註冊名使用起來更方便。在某些特定目的下,系統中可以存在多個擁有不同註冊名、但UID相同的用戶,事實上,這些使用不同註冊名的用戶實際上是同一個用戶。
/etc/passwd放賬號,/etc/shadow放密碼
passwd中每行以冒號隔開,分成7段,分別表示爲:用戶名:密碼:UID號碼:GID號碼:GECOS字段:主目錄:用戶登錄時要運行的SHELL,考慮到安全問題,現在的密碼已經不存放在passwd文件中,而是單獨存放在/etc/shadow裏,GECOS字段包含用戶的真實姓名
Ø GID
GID是當前用戶的缺省工作組標識。具有相似屬性的多個用戶可以被分配到同一個組內,每個組都有自己的組名,且以自己的組標識號相區分。像UID一樣,用戶的組標誌號也存放在passwd文件中。在現代的Unix/Linux中,每個用戶可以同時屬於多個組。除了在passwd文件中指定其歸屬的基本組之外,還在/etc/group文件中指明一個組所包含用戶。
/etc/group放賬號,/etc/gshadow放密碼
group中每行以冒號隔開,分成4段,分別表示爲:組羣名:組羣口令:GID號碼:組羣成員列表,考慮到安全問題,現在的密碼已經不存放在group文件中,而是單獨存放在/etc/gshadow裏
2)         文件所有者及匹配順序
Ø 文件所屬用戶(user)
如果UID匹配,就應用用戶權限
Ø 所屬用戶組(group)
否則,如果GID匹配,就應用組羣權限
Ø 其他用戶(other)
如果都不匹配,就應用其他權限
3)         權限
Ø 讀(read)
數字表示爲4,對於文件而言,可讀權限爲可以查看其文件內容,對於目錄而言,表示具有讀取目錄結構清單的權限,即(ls、ll等命令)
Ø 寫(write)
數字表示爲2,對於文件而言,可寫權限爲可以修改與刪除文件的內容或文件本身,對於目錄而言,表示在該目錄下是否可以建立新的文件與目錄,刪除已經存在的文件與目錄,將已存在的文件或目錄進行更名,移動該目錄內的文件、目錄的位置
Ø 執行(execute)
數字表示爲1,在Windows中一個文檔是否具有執行的能力是由後綴名來判斷的,例如.exe、.bat、.com等,但在Linux下,則是由是否具有x這個權限來決定的,跟文件名是沒有關係的
Ø 詳細列表

十進制
二進制
含義
0
0
無權限
1
1
可執行
2
10
可寫
3
11
可寫可執行
4
100
可讀
5
101
可讀可執行
6
110
可讀可寫
7
111
可讀可寫可執行
4)         權限位

Ø T:
文件類型,Linux系統對於設備、目錄、文件都當作是文件來處理,也就是說Linux下一切皆爲文件

文件標誌
文件類型
舉例
-
普通文件
數據文件、ASCII存文本文件、程序
d
目錄
/bin、/etc、/usr等
b
塊設備
/dev/hda(第一個IDE硬盤)或/dev/sda(第一個STAT硬盤)
c
字符設備
/dev/ttyS1(與DOS中的串口2等同)
p
命名管道
/dev/initctl(與”|”等同)
s
套接字
/dev/log
l
符號鏈接
/dev/cdrom->hdc
Ø U
用戶權限,從左到右3個U分別表示用戶的可讀,可寫,可執行
Ø G
組權限,從左到右3個G分別表示用戶組可讀,可寫,可執行
Ø O
其他用戶權限,從左到右3個O分別表示其他用戶可讀,可寫,可執行
5)         查看
顯示的信息從左到右分別權限、連接數、所有者、所屬組、文件大小、最後被修改的日期、文件名,其中權限裏-表示該文件爲普通文件,rw-表示該文件的用戶權限爲可讀可寫,第一個r--表示該文件的組權限爲可讀,第二個r--表示該文件的其他用戶權限爲可讀
2.         特殊權限位
1)         創建測試用戶

創建測試用戶zwb與zzj並設置好密碼
2)         u+s位
當其他用戶(other)擁有執行權限,而user擁有s位時,other會成爲user,擁有它的最高權限,僅僅只對命令而言,如passwd、mount

文件/usr/bin/passwd爲用戶rws,其他用戶rx權限,切換到zwb用戶後,使用passwd可以修改密碼,回到root用戶,使用chmod u-s /usr/bin/passwd將用戶的s權限位減掉,再次切換到zwb用戶,使用passwd修改密碼時提示passwd:Authentication token manipulation error,驗證口令操作錯誤
3)         g+s位
當g+s位時,不論誰在這個文件夾中創建,都屬於這個組

使用root用戶在/tmp目錄下創建zwbzzj目錄,並且給該目錄的組用戶加上s的權限,並且給其他用戶加上寫的權限,使用zwb用戶登錄後,在zwbzzj目錄下創建一個名爲zwb的文件,使用zzj用戶登錄後,在zwbzzj目錄下創建一個名爲zzj的文件,使用ll查看,看到使用不同的2個用戶所創建的2個文件都爲root組的
4)         o+t位
誰創建誰刪除

tmp目錄本身就有o+t的權限,所以在tmp目錄下創建的文件,誰創建的文件,只有自己能刪除,使用zwb用戶在tmp目錄下創建一個zwb的文件,切換到zzj用戶後使用刪除命令刪除提示rm:cannot remove ‘zwb’:Operation not permitted,無法刪除’zwb’:不允許操作
5)         大小寫
有執行權限特殊權限爲小寫,無執行權限特殊權限爲大寫

ll查看到文件A的其他用戶權限爲rwt,t爲特殊權限,小寫代表其有執行權限,chmod o-x A將文件A的其他用戶的執行權限減去後,ll查看原先的小寫t變成了大寫T

6)         數字表示

數字
4
2
1
權限
u+s
g+s
o+t
3.         權限的修改
1)         默認權限
Ø umask值查看
第一個0表示特殊權限(不能修改),第二個0表示用戶,第三個0表示組,第四個0表示其他用戶
Ø 創建

目錄默認權限爲777-umask值,也就是0755,文件默認權限爲目錄默認權限減執行權限
Ø 修改

將umask值修改成0011後,創建文件夾zzj,zzj權限爲0766,第一個表示特殊權限的0不能修改,修改將會提示:

2)         修改文件與目錄權限
Ø 命令介紹

chmod
參數
a、u、g、o
+、-、=
r、w、x
文件名
數字
參數-R進行遞歸,就是目錄下的所有文件、目錄都更新成現在的設置
Ø 直接給權限

創建文件A與目錄zwb,使用chmod命令來改變其權限,其中u=rwx,g=rwx,o=rwx與u=rwx,g=rx,o=rx分別表示給A文件指定用戶權限爲rwx,組權限爲rwx,其他用戶權限爲rwx,給zwb目錄指定用戶權限爲rwx,組權限爲rx,其他用戶權限爲rx
Ø 加減權限

使用rm -fr *命令將上面創建的文件與目錄刪除,再次創建文件A與目錄zwb,使用chmod命令來改變其權限,其中g+x與o+x分別表示A文件的組權限在原有的基礎上加上可執行權限,zwb目錄的其他用戶權限在原有的基礎上加上可執行權限
Ø 數字表示權限

使用rm -fr *命令將上面創建的文件與目錄刪除,再次創建文件A與目錄zwb,使用chmod命令來改變其權限,其中4775表示用戶權限爲rwx,組權限爲rwx,其他用戶權限爲rx(1+4=5),前面的4爲特殊權限u+s,由於用戶有可執行權限所以s爲小寫,0700表示,無特殊權限,且用戶權限爲rwx
4.         改變文件與目錄的所有權
1)         命令介紹

chown
參數
新用戶
新組
文件名
參數-R進行遞歸,就是目錄下的所有文件、目錄都更新成現在的設置
2)         創建組

創建組名爲zwbgroup的組
3)         改變所有者

創建文件A與目錄zwb,使用chown zwb A與zwb/來更新新用戶
4)         改變用戶組

創建文件A與目錄zwb,使用chown :zwbgroup A與zwb/來更新新組
5)         同時改變

創建文件A與目錄zwb,使用chown zwb:zwbgroup A與zwb/來更新新用戶與新組
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章