(零).文件的所有者和所屬組管理:?
1.查看文件的所有者和所屬組組:
準(zhǔn)備:#mkdir??/loring???&&??cd??/loring???
???#cp???/etc/passwd????/loring??
#ls???/loring/passwd???
-rw-r--r--.?1?root?root?1668?Mar?20?19:32?/loring/passwd
2.修改文件的所有者:chown????-->??change??owner??
?#chown用戶名????文件名 ?
#chown???loring????/loring/passwd修改所有者???
#ls??-l???/loring/passwd驗(yàn)證?
3.修改文件的所屬組:?chgrp???-->??change??group
#chgrp用戶組????文件名??
#chgrp????group1????/loring/passwd修改??????
#ls??-l??/loring/passwd驗(yàn)證?
4.使用chown命令酗电,修改文件的所屬組:?
#chown???.用戶組???文件名???
#chown???:用戶組???文件名???
#chown???.group2????/loring/passwd??
#ls???-l??/loring/passwd??
#chown???:group11????/loring/passwd??
#ls??-l??/loring/passwd??
5.同時(shí)修改文件的所有者和所屬組:?
#chown用戶名.組名?????文件名??
#chown用戶名:組名?????文件名??
#chown????tom.group2????/loring/passwd???
#ls??-l???/loring/passwd????
6.文件使用者分類:
三類:?
文件的所有者:owner??-->??u???
文件的所屬組:group??-->??g??
文件的其他人:other??-->??o???
代表三類用戶:all?-->??a??????
(一)基本權(quán)限
1.基本權(quán)限的分類:?
將基本權(quán)限分為了三類:r???w???x??
r:?讀權(quán)限??
w:寫權(quán)限
x:執(zhí)行權(quán)限??
2.權(quán)限的分配:?
基本權(quán)限使用ls?-l查看出的,前2-10位骗奖,一共9個(gè)位置:
又將這9個(gè)位置分為3段:?
第1段:?給文件的所有者的權(quán)限?
第2段:?給文件所屬組的權(quán)限??
第3段:?給文件其他人的權(quán)限??
注意:在每一段中谭期,權(quán)限的排列入偷,只能是rwx荆姆;每個(gè)位置只能出現(xiàn)對(duì)應(yīng)的權(quán)限肛走,或者不出現(xiàn)忱嘹,但不能出現(xiàn)其他權(quán)限???
3.修改文件的基本權(quán)限:??chmod???-->??change??mode??
基本權(quán)限在有些地方铆帽,也被描述成ugo權(quán)限:?u:所有者??g:所屬組??o:其他人???
3.1直接修改:?=??
#chmod???[ugoa]=權(quán)限??????文件名????
注意:[]中可以任選一個(gè),或者多個(gè)?
3.1.1修改某一類用戶的基本權(quán)限:
#chmod???u=rwx?????/loring/passwd??
代表修改所有者的權(quán)限為rwx???
#ls??-l???/loring/passwd驗(yàn)證??
3.1.2同時(shí)修改兩類用戶的權(quán)限:兩類用戶權(quán)限一樣?
#chmod???ug=w????/loring/passwd???
3.1.3同時(shí)修改兩類用戶的權(quán)限:?兩類用戶的權(quán)限不一樣?
#chmod???u=rx,g=rwx????/loring/passwd??
所有者的權(quán)限改為rx德谅;所屬組的權(quán)限改為rwx???
3.1.4同時(shí)修改所有人的權(quán)限:權(quán)限是一樣的?
#chmod???a=r????/loring/passwd??
三類用戶的權(quán)限,都會(huì)被修改成為只讀
3.2加減權(quán)限:?+?-??
3.2.1給某一類用戶增加或者減少權(quán)限:?
#chmod??u+x?????/loring/passwd??
#ls??-l??/loring/passwd??
#chmod??u-rw????/loring/passwd???
#ls??-l????
3.2.2同時(shí)給多個(gè)人增加萨螺、減少權(quán)限:?
#chmod??ug+rw?????/loring/passwd??
3.2.3同時(shí)修改多個(gè)人的權(quán)限窄做,修改的權(quán)限不一致:?
#chmod??u+x,g-rw????/loring/passwd??
3.2.4同時(shí)修改所有人的權(quán)限:
#chmod????a+x????/loring/passwd???
#chmod????+x?????/loring/passwd等同于上一條
注意:?增加權(quán)限,不管以前有沒有慰技,增加后一定是有的椭盏;減少一個(gè)權(quán)限,不管有沒有吻商,減少后一定是沒有的?
3.3數(shù)值的方式:*****????
例子:??所有者權(quán)限位來描述掏颊,占3位??r??w??x??
如果權(quán)限位出現(xiàn)了權(quán)限,用1表示艾帐;如果沒有出現(xiàn)權(quán)限乌叶,用0表示
r=4???w=2????x=1????
rw-r--rx?????
第1段:?4+2+0=6??
第2段:?4+0+0=4
第3段:?4+0+1=5????
用3個(gè)八進(jìn)制數(shù)表示:??645???
#chmod數(shù)值???文件名???
#chmod????631???/loring/passwd
rw--wx--x???
#ls???-l????
4.基本權(quán)限的作用:
4.1針對(duì)于普通文件?
權(quán)限的描述:
r:能夠查看文件里面的內(nèi)容,可以cat等命令查看??
w:可以修改和編輯文件中的內(nèi)容
x:能夠運(yùn)行文件中的代碼(內(nèi)容)
權(quán)限的作用:??用戶具備了某些權(quán)限柒爸,能做什么事情
r:能查看文件內(nèi)容准浴;不能修改;也不能執(zhí)行?
w:不能查看捎稚;只能強(qiáng)制寫入乐横,但是會(huì)覆蓋原文件內(nèi)容;不能執(zhí)行
x:毫無意義
rw:可以查看文件內(nèi)容今野;可以修改文件內(nèi)容葡公;不能執(zhí)行??
rx:可以查看文件內(nèi)容;不可以修改文件內(nèi)容条霜;可以執(zhí)行
wx:跟單獨(dú)具有w權(quán)限一樣催什;不能查看;能強(qiáng)制寫入蛔外;不能執(zhí)行
rwx:可以查看蛆楞;可以修改溯乒;可以執(zhí)行?
實(shí)驗(yàn):??
#?chmod??o=r??passwd?
每執(zhí)行一次修改權(quán)限,都切換到普通用戶進(jìn)行驗(yàn)證
第二個(gè)終端:用普通用戶登錄豹爹,進(jìn)行驗(yàn)證??
#?chmod??o=w??passwd?
#?chmod??o=x??passwd?
#?chmod??o=rw??passwd?
#?chmod??o=rx??passwd?
#?chmod??o=wx??passwd?
#?chmod??o=rwx??passwd?
#?
4.2針對(duì)于普通目錄?
權(quán)限的描述:??
r:可以查看目錄下有哪些文件裆悄,例如ls去查看
w:可以在目錄下創(chuàng)建和刪除文件
x:能夠進(jìn)入到目錄中,cd
權(quán)限的作用:?
r:只能查看一級(jí)子目錄臂聋,而且會(huì)報(bào)錯(cuò)光稼;不能創(chuàng)建或者刪除文件;不能進(jìn)入到目錄??
w:毫無意義??
x:不能查看目錄下文件孩等;不能創(chuàng)建和刪除艾君;能進(jìn)入,但是進(jìn)入后也不能查看肄方、創(chuàng)建冰垄、刪除
注意:如果對(duì)子目錄有權(quán)限,則對(duì)子目錄的操作不受影響??
rw:只能查看一級(jí)子目錄权她,也會(huì)報(bào)錯(cuò)虹茶;不能創(chuàng)建和刪除;也不能進(jìn)入隅要;同單獨(dú)具有r權(quán)限
rx:可以正常查看蝴罪;不能創(chuàng)建和刪除;可以進(jìn)入目錄
wx:不能查看步清;能創(chuàng)建文件要门,能刪除文件;能進(jìn)入到目錄
注意:?可以刪除文件廓啊,但是在文件名使用中欢搜,不再支持通配符(*??)??*代表了任意????任意單個(gè)字符
rwx:可以查看;可以修改和刪除崖瞭;也可以進(jìn)入目錄?
擴(kuò)展實(shí)驗(yàn):?
1.創(chuàng)建一個(gè)目錄:??/haha???
2.目錄/haha的權(quán)限位777???
3.在目錄下創(chuàng)建一個(gè)文件:?hello.txt???
4.設(shè)定hello.txt文件的權(quán)限為444??
5.用普通用戶loring去編輯hello.txt狂巢,看是否可以強(qiáng)制保存退出??
5.創(chuàng)建文件和目錄的默認(rèn)權(quán)限:
反向掩碼:決定了用戶創(chuàng)建文件的默認(rèn)權(quán)限
普通文件:666??-??反向掩碼?=??默認(rèn)權(quán)限??
注意:默認(rèn)創(chuàng)建普通文件,絕對(duì)不會(huì)給文件執(zhí)行權(quán)限
目錄:777??-??反向掩碼?=??默認(rèn)權(quán)限
查看:?
#umask???
022??
#su??-??loring??
$umask???
002????
修改:?臨時(shí)修改书聚,只對(duì)當(dāng)前終端有效
#umask反向掩碼??
#umask???025???
創(chuàng)建文件:?
#touch???a.txt?????
#ll???
-rw-r--r--.?1?root?root?0?Mar?24?22:54?a.txt
默認(rèn)root用戶創(chuàng)建文件的權(quán)限位644
#su??-?loring???
$touch??aa.txt??bb.txt??
$ll????
-rw-rw-r--.?1?loring?loring?0?Mar?24?22:56?aa.txt
默認(rèn)普通用戶創(chuàng)建文件的權(quán)限位664???
例:??
#umask??025???
666??-??025???=?641???-->??rw-r----x???
#touch??aaaa.txt??
#ls???-l???
rw-r---w-發(fā)現(xiàn)權(quán)限不是計(jì)算出的
注意:?一旦計(jì)算出某個(gè)用戶具有執(zhí)行權(quán)限唧领,會(huì)自動(dòng)進(jìn)位
創(chuàng)建目錄:
#mkdir???abc???bcd??
rwxr-xr-x
#umask??
022???
777???-?022??=??755??-->??rwxr-xr-x???
#su??-?loring??
$mkdir??aaa???bbb???
$ll????
rwxrwxr-x??????775????
注意:?反向掩碼是如果分配,每個(gè)用戶登錄到系統(tǒng)后雌续,都會(huì)有個(gè)默認(rèn)的反向掩碼??
由/etc/profile文件決定:??
#cat???/etc/profile????
if?[?$UID?-gt?199?]?&&?[?"`id?-gn`"?=?"`id?-un`"?];?then
umask?002
else
umask?022
fi
注釋:?一旦用戶的uid大于199,而且用戶名和主要組的名一樣斩个,那么用戶的umask就為002;否則用戶的umask就為022???
(二)特殊權(quán)限:
suid:一旦一個(gè)文件具有了該權(quán)限驯杜,那么在文件執(zhí)行的時(shí)候受啥,會(huì)以文件的所有者身份去運(yùn)行
例:passwd命令,普通用戶使用只能修改自己的密碼;修改完的密碼滚局,要保存在/etc/shadow中?
#ls??-l??/etc/shadow????
----------.?1?root?root?1566?Mar?24?22:03?/etc/shadow
#which??passwd查看命令的絕對(duì)路徑????
/usr/bin/passwd??
#su??-??loring?
$passwd???
別改完??
另打開一個(gè)標(biāo)簽:??
#ps??-eo???ruser,euser,comm???|??grep??passwd?
loring????root???passwd????
注釋:ruser-->?真實(shí)用戶??
euser-->有效用戶???
comm?-->執(zhí)行的命令?
#chmod??u-s???/usr/bin/passwd??
再使用普通用戶修改密碼就不可以了??
給文件增加或者減少suid權(quán)限:?
增加:?
#chmod??u+s文件名???
減少:??
#chmod??u-s文件名??
注意:suid會(huì)占用所有者基本權(quán)限位的x位置居暖;
如果所有者具有x權(quán)限,那么s就是小寫的藤肢;
如果所有者沒有x權(quán)限太闺,那么S就是大寫的
實(shí)驗(yàn):??
#echo??hello??loring??>?hello.txt??????
#chmod???000???hello.txt??
#su??-??loring??
$cat???hello.txt
$which???cat????
/bin/cat???
使用root用戶:?
#chmod???u+s????/bin/cat??
$cat???hello.txt???
通常suid都是給命令文件設(shè)定的
注意:在某種層次上,suid可以當(dāng)作臨時(shí)提權(quán)嘁圈;使用情況不多省骂,以后提權(quán)都用sudo
sgid:一旦一個(gè)目錄具有該權(quán)限,那么將來在目錄下創(chuàng)建的任何目錄和文件最住,都會(huì)繼承父母錄的所屬組
增加?钞澳、減少sgid權(quán)限:??
增加:
#chmod???g+s目錄名???
減少:
#chmod???g-s目錄名????
實(shí)驗(yàn):??
#mkdir????/haha?????
#chown????.loring???/haha????
#chmod???g+s???/haha???
#ll???-d???/haha???
#su??-??tom???
$touch???/haha/tom.txt???
$ll???/haha/tom.txt???
所屬組為loring??
#su??-??jerry???
$mkdir??-p??/haha/a/b/c
$ls??-R?-l????/haha???
發(fā)現(xiàn)a、b涨缚、c的所屬組都為loring???
sticky:一旦一個(gè)目錄具有了該權(quán)限轧粟,那么將來在目錄下創(chuàng)建的任何文件,都只有文件的所有者和root有權(quán)限刪除
增加?脓魏、減少sticky權(quán)限:??
增加:
#chmod???o+t目錄名???
減少:
#chmod???o-t目錄名?
#mkdir???/haha???
#chmod???777???/haha???
#chmod??o+t???/haha????
#su??-??loring????
$touch??/haha/loring.txt???
#su???-??tom??
$rm??-rf??/haha/loring.txt??
發(fā)現(xiàn)tom用戶逃延,再也沒有權(quán)限刪除loring創(chuàng)建的文件了
#su??-?loring??
$rm??-rf???/haha/loring.txt??
(三)acl訪問控制?決定用戶的身份和基本權(quán)限?
查看acl訪問控制:?
#getfacl文件名(目錄)
#getfacl??/etc/passwd???
#?file:?passwd文件名???
#?owner:?root文件的所有者??
#?group:?root文件的所屬組??
user::rw-所有者的權(quán)限?
group::r--所屬組的權(quán)限??
other::r--其他人的權(quán)限??
將來任何一個(gè)用戶,來訪問該文件轧拄,都要遵循訪問控制列表
例如用戶tom用戶訪問該文件,那么tom應(yīng)該有什么權(quán)限讽膏?檩电?
設(shè)定acl訪問控制:
#setfacl選項(xiàng)????權(quán)限列表????文件名???
#setfacl???-m??u:tom:rwx????/etc/passwd?
刪除:??
#setfacl???-x???u:用戶名?????/etc/passwd?
注意:這是單獨(dú)刪除某個(gè)用戶的列表??
#setfacl???-x???u:tom?????/etc/passwd???
清空acl設(shè)定:?
#setfacl??-b文件名???
#setfacl??-b???/etc/passwd????
設(shè)定默認(rèn)acl訪問控制:?
#setfacl??-m??d:u:用戶名:權(quán)限????目錄???
#setfacl??-m??d:u:tom:rw??????/loring/abc?????
注意:會(huì)讓子目錄和文件,繼承父目錄的acl訪問控制列表???
清除默認(rèn)acl:??
#setfacl?-x??d:u:tom???abc???
設(shè)定默認(rèn)acl:??
#setfacl??-d??-m??u::rwx????abc
注意:-m必須放在所有選項(xiàng)最后
清空默認(rèn)acl:??
#setfacl??-k???abc???
(四)attr系統(tǒng)權(quán)限
注意:attr的系統(tǒng)權(quán)限府树,對(duì)root用戶依然生效
查看attr權(quán)限:??
#lsattr文件名???
#lsattr????a.txt??
修改權(quán)限:??
#chattr???[+-]權(quán)限?????文件名???
#man??chattr????
常用選項(xiàng):a??i????A??
a:只能向文件中追加俐末,不能修改文件屬性,也不能刪除
i:只能查看奄侠,不能追加卓箫,不能修改文件屬性,也不能刪除
A:會(huì)鎖定文件的訪問時(shí)間
#chattr???+a???a.txt增加一個(gè)a權(quán)限???
驗(yàn)證:??
#vim???a.txt發(fā)現(xiàn)文件沒法寫入??
#rm??-rf??a.txt發(fā)現(xiàn)也不能刪除???
#echo???haha??>??a.txt不能覆蓋寫入??
#echo???haha???>>??a.txt只能追加寫入??
#chattr???+i???a.txt增加一個(gè)a權(quán)限???
驗(yàn)證:??
#vim???a.txt發(fā)現(xiàn)文件沒法寫入??
#rm??-rf??a.txt發(fā)現(xiàn)也不能刪除???
#echo???haha??>??a.txt不能覆蓋寫入??
#echo???haha???>>??a.txt不能追加寫入??
#chattr??+A????a.txt??
#cat????a.txt??
#head???a.txt???
發(fā)現(xiàn)訪問時(shí)間垄潮,始終沒有變化??
#vim??a.txt修改文件內(nèi)容???
#stat???a.txt發(fā)現(xiàn)時(shí)間變化??
注意:?通過編輯器烹卒,修改了文件中的內(nèi)容,訪問時(shí)間依然會(huì)變化