UNIX/LINUX文件安全與權(quán)限
在終端輸入: ls -l xxx.xxx (xxx.xxx是文件名),那么就會出現(xiàn)相類似的信息,主要都是這些:
-rw-rw-r——
一共有10位數(shù),其中:
最前面那個-代表的是類型
中間那三個rw-代表的是所有者(user)
然后那三個rw-代表的是組群(group)
最后那三個r——代表的是其他人(other)
然后再解釋一下后面那9位數(shù):
r表示文件可以被讀(read)
w表示文件可以被寫(write)
x表示文件可以被執(zhí)行(如果它是程序的話)
-表示相應(yīng)的權(quán)限還沒有被授予
現(xiàn)在該說說修改文件權(quán)限了
在終端輸入:chmod o+w xxx.xxx
表示給其他人授予寫xxx.xxx這個文件的權(quán)限
chmod go-rw xxx.xxx
表示刪除xxx.xxx中組群和其他人的讀和寫的權(quán)限
其中:
u代表所有者(user)
g代表所有者所在的組群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r表示文件可以被讀(read)
w表示文件可以被寫(write)
x表示文件可以被執(zhí)行(如果它是程序的話)
其中:rwx也可以用數(shù)字來代替
r——4
w——2
x——1
-——0
當大家都明白了上面的東西之后,那么我們常見的以下的一些權(quán)限就很容易都明白了:
-rw——(600)只有所有者才有讀和寫的權(quán)限
-rw-r——r—— (644) 只有所有者才有讀和寫的權(quán)限,組群和其他人只有讀的權(quán)限-rwx—— (700) 只有所有者才有讀,寫,執(zhí)行的權(quán)限-rwxr-xr-x (755) 只有所有者才有讀,寫,執(zhí)行的權(quán)限,組群和其他人只有讀和執(zhí)行的權(quán)限-rwx——x——x (711) 只有所有者才有讀,寫,執(zhí)行的權(quán)限,組群和其他人只有執(zhí)行的權(quán)限
-rw-rw-rw-(666)每個人都有讀寫的權(quán)限
-rwxrwxrwx(777)每個人都有讀寫和執(zhí)行的權(quán)限
來源:Magicbreaker的專欄
使用ls -l命令,如下列:
total 74434
-rwxrwxr-x 2 user dba 39921 1月16 12:50 file1
drwxrwxr-x 2 user dba 4096 1月16 15:29 folder
total 74434表示該目錄中所有文件所占的空間
2表示該文件硬鏈接的數(shù)目
39921 表示該文件的長度,用字節(jié)表示,不是K字節(jié)-rwxrwxr-x 代表該文件或目錄的讀寫執(zhí)行權(quán)限,第一位表示該文件類型(7種)
d目錄l符號鏈接(指向另一個文件)s套接字文件b塊設(shè)備文件
c字符設(shè)備文件p命名管道文件-普通文件
第一段 rwx 表示文件屬主權(quán)限: r,w,x(執(zhí)行)
第二段 rwx 表示文件屬主缺省組權(quán)限: r,w,x第三段 r-x 系統(tǒng)中其他用的權(quán)限: r,x
注意:如果一文件的屬性為-r——,文件屬主仍可以通過重定向的方式向該文件寫入
chmod命令:分為符號模式和絕對模式兩種:
#p#符號模式格式:
chmod [who] operator [permission] filename
who含義:
u文件屬主權(quán)限g同組用戶權(quán)限o其他用戶權(quán)限a所有用戶
operarot含義:
+增加權(quán)限-取消權(quán)限=設(shè)定權(quán)限
permission含義:
r讀權(quán)限w寫權(quán)限x執(zhí)行權(quán)限s文件屬主和組set-ID
t 粘性位 l 給文件加鎖,使其他用戶無法訪問
如果在一個目錄上出現(xiàn)"t"位,就表示該目錄中的文件只有其屬主才可以刪除,即使同組用戶或賦予和屬主同等權(quán)限;如果在文件上出現(xiàn)"t"位,就表示該腳本或程序在執(zhí)行時會被放在交換區(qū)(虛存)
例:chmod u+x filename表示屬主增加寫權(quán)限
chmod u+x o-w filename 如果原來的權(quán)限是 -rw-r——rw- ,改變后為 -rwxr——r——
絕對模式:
chmod [mode] filename mode有3個8進制數(shù)字組成,比如chmod 777 filename
參數(shù)R:比如chmod -R 644 /usr/*表示一次將/usr目錄下的文件連同子目錄的文件改變成644
目錄權(quán)限覆蓋文件權(quán)限,意思如果文件可寫,但是其目錄不能寫,那么仍然不能寫此文件
suid/guid命令:
suid意味著如果某個用戶對屬于自己的shell腳本設(shè)置了這種權(quán)限,那么其他用戶在執(zhí)行這一腳本時也會具有其屬主的相應(yīng)權(quán)限。同樣的原則也適用于guid,執(zhí)行相應(yīng)腳本的用戶將具有該文件所屬用戶組中用戶的權(quán)限。
設(shè)置方法:(使用ls -l |grep '^……s'查看suid權(quán)限的文件)
chmod 4711結(jié)果rws——x——x使用4來設(shè)置suid
chmod 6711結(jié)果rws——s——x使用4+2來設(shè)置suid和guid
chmod 2711結(jié)果rwx——s——x使用2來設(shè)置guid
也可以使用 chmod u+s filename 來設(shè)置,如果看到是S,則表示該權(quán)限位未被設(shè)置,沒有實際意義
chown/chgrp命令:
chown -R -h owner[:group] filename
改變文件屬主,-R表示所有目錄,-h表示改變符號鏈接文件不影響其目標文件
chgrp -R -h group filename用于改變文件屬組
id [user] , group [user] 顯示user所屬組,如不加則是查看自己
umask命令:
用于確定創(chuàng)建文件的缺省模式??梢詫懭胱约旱?。profile或。bash_profile中umask是從權(quán)限中取消權(quán)限,計算的時候目錄以777來計算,文件以666計算,也即umask 002 之后,目錄權(quán)限為 rwxrwxr-x(775), 文件權(quán)限為 rw-rw-r——(664)
符號鏈接-軟鏈接:
命令格式:ln [-s] source_path target_path可以是目錄也可以是文件
鏈接一旦創(chuàng)建成功,鏈接目錄將具有777權(quán)限,但實際目錄的權(quán)限未改變
【編輯推薦】