ACL權(quán)限
查看分區(qū)ACL權(quán)限是否開啟
# 查詢指定分區(qū)詳細(xì)文件系統(tǒng)信息
dump2fs -h /dev/sda5
選項(xiàng):
-h 僅顯示超級(jí)塊中信息翁锡,而不顯示磁盤快組的詳細(xì)信息
結(jié)果中的Default mount options中有acl表示開啟了ACL
注意dumpe2fs只能查看ext的文件系統(tǒng)
臨時(shí)開啟分區(qū)ACL權(quán)限
mount -o remount,acl /dev/sda5
永久開啟分區(qū)ACL權(quán)限
# 修改配置文件
vi /etc/fstab
在文件中的defaults后面加入",acl"如下(一般默認(rèn)開啟般渡,無需添加):
UUID=11471313-e029-4391-b991-1df1d461cc81 / xfs defaultsm,acl 0 0
# 重新掛在文件系統(tǒng)或重啟系統(tǒng),使修改生效
mount -o remount /
查看ACL權(quán)限
# 查看ACL權(quán)限
getfacl 文件名
設(shè)定ACL權(quán)限
# 設(shè)定ACL權(quán)限
setfacl 選項(xiàng) 文件名
選項(xiàng):
-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)限
遞歸權(quán)限
setfacl -m u:用戶名:權(quán)限 -R 目錄(賦予文件會(huì)報(bào)錯(cuò))
遞歸是父目錄在設(shè)定ACL權(quán)限時(shí),所有的子文件和子目錄也會(huì)擁有相同的ACL權(quán)限毛嫉。
遞歸權(quán)限只能賦予目錄鸭轮,不能賦予文件
容易帶來權(quán)限溢出蟋字,比如對(duì)目錄賦予權(quán)限r(nóng)x沉御,文件則會(huì)擁有執(zhí)行權(quán)限,所以慎用
默認(rèn)ACL權(quán)限
setfacl -m d:u:用戶名:權(quán)限 目錄文件(賦予文件不會(huì)報(bào)錯(cuò)屿储,但是沒意義)
默認(rèn)ACL權(quán)限的作用是如果給父目錄設(shè)定了默認(rèn)的ACL權(quán)限贿讹,那么父目錄中所有新建的子文件都會(huì)繼承父目錄的ACL權(quán)限。
設(shè)定權(quán)限
# 給用戶賦予權(quán)限
setfacl -m u:用戶名:權(quán)限 目錄文件
例如:setfacl -m u:zdy:rw /zdy
# 給組賦予權(quán)限
setfacl -m g:組名:權(quán)限 目錄文件
刪除權(quán)限
# 刪除指定用戶的ACL權(quán)限
setfacl -x u:用戶名 目錄文件
# 刪除指定用戶組的ACL權(quán)限
setfacl -x g:組名 目錄文件
# 刪除所有ACL權(quán)限
setfacl -b 文件名
最大有效權(quán)限mask
mask是用來指定最大有效權(quán)限的够掠。如果給用戶賦予了ACL權(quán)限果漾,和mask的權(quán)限“相與”才能得到真正的用戶權(quán)限宝磨。
# 設(shè)定mask權(quán)限為rx舶胀,使用m:權(quán)限 格式
setfacl -m m:rx 文件名
sudo權(quán)限
root把本來只能超級(jí)用戶執(zhí)行的命令賦予普通用戶執(zhí)行
sudo的操作對(duì)象是系統(tǒng)命令
sudo使用
visudo # 實(shí)際修改的是 /etc/sudoers文件
在文件中添加行
root ALL=(ALL) ALL
# 用戶名 被管理主機(jī)的地址=(可以使用的身份) 授權(quán)命令(絕對(duì)路徑)
例如:zdy ALL=(ALL) /sbin/shutdown -r now
# 只賦予現(xiàn)在重啟的權(quán)限
# 切換成某個(gè)用戶
su - 用戶名
# 查看可用的sudo命令
sudo -l
# 普通用戶執(zhí)行sudo 賦予的命令(最好寫絕對(duì)路徑祝旷,centos6之后可以不寫)
sudo /sbin/shutdown -r now
查看命令位置whereis vi
# 給用戶添加新建用戶與修改密碼的權(quán)限,但是不能修改root本身的密碼
zdy ALL=/usr/sbin/useradd
zdy ALL=/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd "",!/usr/bin/passwd root
# 不要賦予下面的權(quán)利竖哩,這樣的話用戶得到的是root下的vi
zdy ALL=/bin/vi
文件特殊權(quán)限
盡量少修改哭廉!
SetUID
SetUID針對(duì)文件的作用
只有可執(zhí)行的二進(jìn)制程序才能設(shè)定SUID權(quán)限
命令執(zhí)行者對(duì)該程序擁有執(zhí)行權(quán)限
命令執(zhí)行者在執(zhí)行該程序時(shí)獲得改程序文件屬主的身份(在執(zhí)行程序的過程中靈魂附體為文件的屬主)
SetUID權(quán)限只在該程序執(zhí)行過程中有效,也就是說身份改變只能在程序執(zhí)行過程中有效相叁。
設(shè)定SetUID
# 設(shè)定SetUID的方法
chmod 4755 文件名 #4代表SUID
chmod u+s 文件名
# 取消
chmod 0755 文件名
chmod u-s 文件名
危險(xiǎn)的SetUID
關(guān)鍵目錄應(yīng)嚴(yán)格控制寫權(quán)限遵绰。比如"/","/usr"等
用戶的密碼設(shè)置要嚴(yán)格遵守密碼三原則(復(fù)雜性,易記憶性增淹,時(shí)效性)
對(duì)系統(tǒng)中默認(rèn)應(yīng)該具有SetUID權(quán)限的文件作一列表街立,定時(shí)檢查有沒有這之外的文件被設(shè)置了SetUID權(quán)限
定期檢查是否有新的程序獲得了SUID或者SGID,腳本以及使用方法查看http://www.imooc.com/video/9664
SetGID
SetGID針對(duì)文件的作用
只有可執(zhí)行的二進(jìn)制程序才能設(shè)定SGID權(quán)限
命令執(zhí)行者對(duì)該程序擁有執(zhí)行權(quán)限
命令執(zhí)行在執(zhí)行該程序時(shí)埠通,組身份升級(jí)為該程序文件的屬組
SetGID權(quán)限只在該程序執(zhí)行過程中有效赎离,也就是說組身份改變只能在程序執(zhí)行過程中有效。
SetGID針對(duì)目錄的作用
普通用戶必須對(duì)此目錄擁有r和x權(quán)限端辱,才能進(jìn)入此目錄
普通用戶在此目錄中的有效組會(huì)變成此目錄的屬組
若普通用戶對(duì)此目錄擁有w權(quán)限時(shí)梁剔,新建的文件的默認(rèn)屬組是這個(gè)目錄的屬組
設(shè)定SetGID
# 設(shè)定SetUID的方法
chmod 2755 文件名 #2代表SGID
chmod g+s 文件名
# 取消
chmod 0755 文件名
chmod g-s 文件名
Sticky BIT
SBIT粘著位作用
粘著位只對(duì)目錄有效
普通用戶對(duì)該目錄擁有wx權(quán)限,即普通用戶可以對(duì)此目錄擁有寫入權(quán)限
如果沒有粘著位舞蔽,因?yàn)槠胀ㄓ脩魮碛衱權(quán)限荣病,所以可以刪除此目錄下所有文件,包括其他用戶建立的文件渗柿。一旦賦予了粘著位个盆,除了root可以刪除所有文件,普通用戶就算擁有w權(quán)限朵栖,也只能刪除自己建立的文件颊亮,但是不能刪除其他用戶建立的文件。
設(shè)定粘著位
# 設(shè)置粘著位
chmod 1777 目錄名
chmod o+t 目錄名
# 取消粘著位
chmod 0777 目錄名
chmod o-t 目錄名
不可改變位權(quán)限chattr權(quán)限
chattr
chattr [+-=] [選項(xiàng)] 文件或目錄名
+增加權(quán)限 -刪除權(quán)限 =等于某權(quán)限
選項(xiàng):
i(insert):如果對(duì)文件設(shè)置i屬性陨溅,那么不允許對(duì)文件進(jìn)行刪除终惑、改名,也不能添加和修改數(shù)據(jù)门扇;
如果對(duì)目錄設(shè)置i屬性雹有,那么只能修改目錄下文件的數(shù)據(jù)偿渡,但不允許建立和刪除文件。
a(append):如果對(duì)文件設(shè)置a屬性霸奕,那么只能在文件中增加數(shù)據(jù)溜宽,但是不能刪除也不能修改數(shù)據(jù);(禁用vi质帅,但是可以用 echo 內(nèi)容>>文件名)
如果對(duì)目錄設(shè)置a屬性适揉,那么只允許在目錄中建立和修改文件,但是不允許刪除临梗。
lsattr查看文件系統(tǒng)屬性
lsattr 選項(xiàng) 文件名
選項(xiàng):
-a 顯示所有文件和目錄
-d 如目標(biāo)是目錄涡扼,僅列出目錄本身的屬性稼跳,而不是子文件的