溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux特殊權(quán)限

發(fā)布時(shí)間:2020-05-27 10:06:55 來(lái)源:網(wǎng)絡(luò) 閱讀:205 作者:tomshen 欄目:系統(tǒng)運(yùn)維

Linux權(quán)限管理之特殊權(quán)限

??

? ACL(訪問(wèn)控制列表)

? 用來(lái)解決用戶對(duì)權(quán)限的身份不足的問(wèn)題

? 使用ACL必須要有文件系統(tǒng)的支持才行


? Linux平臺(tái)上,常見(jiàn)的支持ACL的文件系統(tǒng)有 ext2\ext3\ext4,JFS,XFS等



? 查看分區(qū)ACL權(quán)限是否開(kāi)啟

? dumpe2fs -h 設(shè)備名 | grep "Default mount options"? ?#查看設(shè)備的默認(rèn)掛載權(quán)限 (dumpe2fs 只支持ext2/3/4文件系統(tǒng))



? XFS文件系統(tǒng)的超級(jí)快信息使用xfs_growfs命令查看


? 臨時(shí)開(kāi)啟分區(qū)ACL權(quán)限

? ? mount -o remount,acl /? ?#重新掛載根分區(qū)并加入acl權(quán)限?


? 永久開(kāi)啟ACL權(quán)限,修改/etc/fstab



? 查看ACL權(quán)限

? getfacl 文件名

?


范例:

[root@VM_0_8_centos home]# getfacl av

# file: av? ? ? ? ? ? ? #文件名

# owner: tony #屬主

# group: stu? ? ? ? ? ? #屬組

user::rwx? ? ? ? ? ? ? ?#屬主的權(quán)限

user:lw:r-x? ? ? ? ? ? ?#lw用戶的權(quán)限

group::rwx ? ? #屬組的權(quán)限( effective:r-x? #屬組的真正權(quán)限)

group:tgroup2:rwx #tgroup2組的權(quán)限(effective:r-x #tgroup2組的真實(shí)權(quán)限)

mask::r-x

other::---

?


ACL最大有效權(quán)限mask

? mask是用來(lái)指定最大有效權(quán)限的。給某用戶賦予的ACL權(quán)限需要和mask權(quán)限"相與"才能得到用戶的真正權(quán)限

? ? ? ?配置mask方法:

? ? ? ? ? ? setfacl -m m:權(quán)限 文件名? #設(shè)定文件的mask權(quán)限


? 設(shè)定ACL權(quán)限

? setfacl [option] acl參數(shù) 文件名


? -m :設(shè)定ACL權(quán)限

? -x :刪除指定ACL權(quán)限

? -b :刪除所有ACL權(quán)限

? -d :設(shè)定默認(rèn)ACL權(quán)限

? -k :刪除默認(rèn)ACL權(quán)限

? -R :遞歸設(shè)定ACL權(quán)限



? ACL參數(shù)主要由三部分組成:

? 三種身份:對(duì)應(yīng)身份名:三種權(quán)限

? [u|g|o] : [用戶名|組名]:[rwx]

?

?

? 給用戶設(shè)定ACL權(quán)限:

? setfacl -m u:用戶名:相應(yīng)權(quán)限 文件名


? 給用戶組設(shè)定ACL權(quán)限:

? setfacl -m g:組名:相應(yīng)權(quán)限 文件名



? 范例:

? setfacl -m u:tom:rw- test.txt

? setfacl -m g:stu:rw- hello.txt


??



? ? 刪除ACL權(quán)限:

? ? setfacl -x u:用戶名 文件名? #刪除指定用戶ACL權(quán)限


? ? setfacl -x g:組名 文件名 #刪除指定用戶組ACL權(quán)限


? ? ? ? setfacl -b 文件名? ? ? ? #刪除文件的所有ACL權(quán)限



? ACL默認(rèn)權(quán)限與遞歸權(quán)限


? 遞歸ACL權(quán)限

? 遞歸是父目錄在設(shè)定ACL權(quán)限時(shí),所有的子文件和子目錄也會(huì)擁有相同的ACL權(quán)限,易導(dǎo)致權(quán)限溢出

設(shè)定ACL權(quán)限時(shí) 使用-R權(quán)限

遞歸權(quán)限僅能賦予目錄,不能賦予文件

遞歸權(quán)限設(shè)置時(shí),只會(huì)對(duì)目錄下已經(jīng)創(chuàng)建的文件和子目錄授予相同的ACL權(quán)限,此后新建的文件和子目錄

不會(huì)被授予相同的ACL權(quán)限


范例;

setfacl -m u:lw:rw -R /hello.txt



? ? 默認(rèn)ACL權(quán)限

? ? 默認(rèn)ACL權(quán)限的作用是如果給父目錄設(shè)定了默認(rèn)的ACL權(quán)限,那么父目錄中所有新建的子文件都會(huì)繼承父目錄的ACL權(quán)限



? ? setfacl -m d:u:用戶名:權(quán)限? 文件名



-----------------------------------------------------------------------------------------------------------------------



Linux sudo 權(quán)限

root把本來(lái)只能超級(jí)用戶執(zhí)行的命令賦予普通用戶執(zhí)行

sudo的操作對(duì)象是系統(tǒng)命令


給普通用戶賦予超級(jí)用戶的權(quán)限

visudo命令


visudo命令打開(kāi)的文件中給普通用戶/用戶組賦予權(quán)限的格式:


用戶名 被管理主機(jī)的地址=(可使用的身份) 授權(quán)的命令(必須是絕對(duì)路徑)


%組名? 被管理主機(jī)的地址=(可使用的身份) 授權(quán)的命令(必須是絕對(duì)路徑)


? ?普通用戶執(zhí)行root用戶賦予的命令:

? ? sudo 命令的絕對(duì)路徑




Linux 文件特殊權(quán)限 (特殊權(quán)限精量少修改)


SetUID

只有可以執(zhí)行的二進(jìn)制程序才能設(shè)定SUID權(quán)限

命令執(zhí)行者要對(duì)該程序擁有x(執(zhí)行)權(quán)限

命令執(zhí)行者在執(zhí)行該程序時(shí)獲得該程序文件屬主的身份(在執(zhí)行程序的過(guò)程中靈魂附體為文件的屬主)

SetUID權(quán)限只在該程序執(zhí)行過(guò)程中有效,也就是說(shuō)身份改變只在程序執(zhí)行過(guò)程中有效



設(shè)定SetUID的方法

4代表SUID

? ? ? chmod 4755 文件名

? ? ? chmod u+s? 文件名


? ? 取消SetUID的方法

? ? ? ? ? chmod 0755 文件名

? ? ? ? ? chmod u-s? 文件名



危險(xiǎn)的SetUID

關(guān)鍵目錄應(yīng)嚴(yán)格控制寫(xiě)權(quán)限。

用戶的密碼設(shè)置要嚴(yán)格遵守密碼三原則

對(duì)系統(tǒng)中默認(rèn)應(yīng)該具有SetUID權(quán)限的文件作一列表,定時(shí)檢查有沒(méi)有這之外的文件被設(shè)置了SetUID權(quán)限


SetGID

SetGID針對(duì)文件的作用

? ? 只有可以執(zhí)行的二進(jìn)制程序才能設(shè)定SGID權(quán)限

命令執(zhí)行者要對(duì)該程序擁有x(執(zhí)行)權(quán)限

命令執(zhí)行在執(zhí)行程序的時(shí)候,組身份升級(jí)為該程序文件的屬組

SetGID權(quán)限同樣只在該程序執(zhí)行過(guò)程中有效,也就是說(shuō)組身份改變只在程序執(zhí)行過(guò)程中有效。


SetGID針對(duì)目錄的作用

普通用戶必須對(duì)此目錄擁有r和x權(quán)限,才能進(jìn)入此目錄

普通用戶在此目錄中的有效組會(huì)變成此目錄的屬組

如普通用戶對(duì)此目錄擁有w權(quán)限時(shí),新建的文件的默認(rèn)屬組是這個(gè)目錄的屬組


設(shè)定SetGID

2代表SGID

chmod 2755 文件名

chmod g+s? 文件名



Sticky BIT權(quán)限(粘著位權(quán)限)

粘著位目前只對(duì)目錄有效

普通用戶對(duì)該目錄擁有w和x權(quán)限,既普通用戶可以在此目錄擁有寫(xiě)入權(quán)限

如果沒(méi)有粘著位,因?yàn)槠胀ㄓ脩魮碛衱權(quán)限,所以可以刪除此目錄下所有文件,包括其他用戶建立的文件

一擔(dān)賦予了粘著位,除了root可以刪除所有文件,普通用戶就算擁有w權(quán)限,也只能刪除自己建立的文件

但是不能刪除其他用戶建立的文件。



設(shè)置粘著位

chmod 1755 目錄名

chnod o+t? 目錄名


取消粘著位


chmod 0777 目錄名

chmod o-t? 目錄名



Linux 不可改變位權(quán)限(chattr權(quán)限)

chattr命令格式


chattr [+ - =] [option] 文件或目錄名

+:增加權(quán)限

-: 刪除權(quán)限

=: 等于某權(quán)限


選項(xiàng):

i:如果對(duì)文件設(shè)置i屬性,那么不允許對(duì)文件進(jìn)行刪除、改名、也不能添加修改數(shù)據(jù);如果對(duì)目錄設(shè)置i屬性,那么只能修改目錄下文件的數(shù)據(jù),但不允許建立和刪除文件

a:如果對(duì)文件設(shè)置a屬性,那么只能在文件中增加數(shù)據(jù),但是不能刪除也不能修改數(shù)據(jù);如果對(duì)目錄設(shè)置a屬性,那么只允許在目錄中建立和修改文件,但是不允許刪除。




查看文件系統(tǒng)屬性:

lsattr

? -a :顯示所有文件和目錄

? -d :如目標(biāo)是目錄,僅列出目錄本身的屬性,而不是子文件的







?


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI