當(dāng)我們?cè)谀夸浿惺褂?nbsp; ll 或 ls -l 指令時(shí) 第一列會(huì)顯示出目錄下文件的權(quán)限 權(quán)限的格式是這個(gè)樣子的 -rwxrwxrwx
我們分開來解釋:
第一個(gè) - 表示文件的類型:-普通文件 d目錄文件 l符號(hào)鏈接文件(軟連接文件) c符設(shè)備文件 b塊設(shè)備文件 p管道文件 s socket文件
rwx代表的意思分別是:read可讀 write可寫 executive可執(zhí)行;
把rwx用二進(jìn)制來表 示,有權(quán)限就用1表示,沒權(quán)限用0表示 例如 rw- =110 r--=100 r-w =101 依次類推,之后再轉(zhuǎn)化為十進(jìn)制:rw-=110=4+2+0=6 r-x=101=4+0+1=5 所以我們可以直接理解為r=4,w=2,x=1,用十進(jìn)制便是文件權(quán)限:rwx=4+2+1=7 , r-x=4+1=5
舉些例子:
644 = rw-r--r-- 755=rwx-r-xr-x 631=rw--wx--x
從前往后三組rwx代表的意思:user屬主 group屬組 other其它
設(shè)置權(quán)限的方法:以文件 file 原權(quán)限為644(rw-r--r--)為例
chmod +x file 默認(rèn)為添加屬主的執(zhí)行權(quán)限
chmod 755 file rwxr-xr-x
chmod u+x file rwxr--r-- 數(shù)組添加執(zhí)行權(quán)限
chmod g=rwx file chmod g=674 file rw-rwxr-- 屬組改為rwx權(quán)限
chmod o-r file rw-r----- 減去其它用戶的可讀權(quán)限
這樣子大家就明白了吧
我們創(chuàng)建的新文件權(quán)限為644 新目錄權(quán)限為755 這是為什么呢?
大家看一下各權(quán)限可做的事情就明白了:
files directory
r: cat,more,less ls
w: vim creat files
x: script cd
那我們又是怎么限定創(chuàng)建文件的權(quán)限的呢?
linux里面,用一種umask的掩碼似的東西限定新創(chuàng)建文件的權(quán)限,默認(rèn)umask為0022(普通用戶的umask通常為0002)
例子:我們創(chuàng)建一個(gè)文件:它的權(quán)限就是666-022=644
我們創(chuàng)建一個(gè)目錄:它的權(quán)限就是777-022=755
暫時(shí)性更改umask:例子 :umask=027
umask文件保存與/etc/bashrc中 想要永久生效可以更改/etc/bashrc/umask文件
想要只對(duì)自己生效可以更改家目錄下的.bash文件 添加一行umask=nnn即可
下面我們重點(diǎn)介紹的是文件的特殊屬性:
安全上下文:任何時(shí)刻用戶靠進(jìn)程操作計(jì)算機(jī),進(jìn)程能否訪問一個(gè)文件取決于發(fā)起這個(gè)進(jìn)程的用戶對(duì)該文件所擁有的權(quán)限:若發(fā)起進(jìn)程的用戶與文件屬主匹配,以該用 戶權(quán)限訪問;否則,若發(fā)起進(jìn)程的組與該文件數(shù)組匹配,以該組的權(quán)限進(jìn)行訪問;否則以發(fā)起者權(quán)限訪問。這就叫做安全上下文
開始介紹3個(gè)特殊權(quán)限:suid sgid sticky
suid:通常用于可執(zhí)行文件 任何用戶操作此權(quán)限文件使用該文件屬主權(quán)限
sgid:通常用于目錄 任何用戶操作此權(quán)限文件夾使用該文件夾屬組權(quán)限
sticky:通常用于公共類型的目錄 對(duì)于此權(quán)限目錄,任何用戶可在里面創(chuàng)建文件,但是只允許更改或刪除屬于自己的文件
舉例說明下他們的作用
suid:/etc/passwd文件擁有suid權(quán)限。普通用戶更改密碼 時(shí),要運(yùn)行passwd文件,passwd對(duì)/etc/shadow(存放密碼的文件)文件進(jìn)行操作更改密碼。要知道普通用戶對(duì)shadow文件沒有任何 權(quán)限,所以普通用戶執(zhí)行的passwd程序不能更改shadow。這時(shí)候就用到了suid權(quán)限,這個(gè)權(quán)限使用戶運(yùn)行的passwd命令使用的是 passwd文件屬主root的權(quán)限,擁有root權(quán)限的passwd命令有權(quán)限更改/etc/shadow文件,于是普通用戶可以成功更改自己密碼。
sticky:/tmp /var/tmp 目錄對(duì)于任何人有任何權(quán)限,因?yàn)樗谴娣排R時(shí)文件的地方,這種公共目錄下,一個(gè)用戶文件有被其他用戶隨意破壞的危險(xiǎn),sticky權(quán)限正好避免了這一危險(xiǎn)
更改特殊權(quán)限方法:
chmod u+s filename 屬主添加suid權(quán)限
chmod g+s filename 屬組添加sgid權(quán)限
chmod o+t filename 目錄添加scitky權(quán)限
suid sgid sticky 同樣可用 4 2 1 表示
例:chmod 4644 filename 表示 u+s
rwS 表示權(quán)限有r w s
rws 表示的權(quán)限為 r w x s
t權(quán)限同理
下面大家可以自己動(dòng)手演示一下,我們最好用復(fù)雜一點(diǎn)的方法實(shí)現(xiàn),練習(xí)一下權(quán)限操作。
提示:
mkdir -pv /test/share -p提示創(chuàng)建信心 -v遞歸創(chuàng)建
chmod o+rx /test
groupadd penguin 創(chuàng)建組penguin
chgrp penguin /test/share 更改/test/share屬組為penguin
chmod g=rwx /test/share
useradd -G penguin gentoo
useradd -G penguin ubuntu 創(chuàng)建用戶并添加到組penguin
chmod g+s /test/share
登陸兩個(gè)用戶分別在/test/share目錄中創(chuàng)建幾個(gè)文件看是否能給刪除
chmod o+t /test/share
再登陸兩個(gè)用戶分別在/test/share目錄中創(chuàng)建幾個(gè)文件看是否能給刪除
(如果以上操作不成功可能是selinux的作用 ,我們可以在前面執(zhí)行setenforce0命令暫時(shí)關(guān)閉selinux再執(zhí)行以下操作)
億恩科技地址(ADD):鄭州市黃河路129號(hào)天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【prubsntakaful.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|