-
文件就三個權限
所有者權限 組權限 其他權限 有時候不夠用 這時候就需要ACL權限 用來解決用戶身份不夠的問題
查看分區ACL權限是否開啟
dumpe2fs -h /dev/sda5
#dumpe2fs命令查詢指定分區詳細文件系統信息的命令
-h ?僅顯示超級塊中信息,而不顯示磁盤塊的詳細信息
文件信息: Default mount options: user_xattr acl 那就說明分區是支持acl的
臨時開啟分區ACL權限 mount -o remount,acl /
#重新掛載根分區,并掛載加入acl權限
永久開啟分區ACL權限
vi /etc/fstab UUID=c2ca6f57-b15c-43ea=bca0-f239083d8bd2 / ext4 defaults,acl 1(#啟動是否需要檢測) 1(#啟動是否需要備份) #加入acl
mount -o remount / #重新掛載文件系統或重啟系統,使修改生效
查看全部 -
1、UUID分區唯一標志
2、/ 掛載點
4、defaults 掛載的時候使用默認權限,若默認沒有acl權限只需要這樣寫 defaults,acl即可
5、分區啟動時是否需要檢測
6、分區啟動時是否需要備份
序號為參數順序
查看全部 -
永久開啟分區ACL權限
寫入配置文件
/etc/fstab
查看全部 -
臨時開啟分區ACL權限
mount 命令
重新掛載根分區,并掛載加入acl權限
mount -o remount ,acl/
-o是特殊掛載
remount是重新掛載
/根分區
查看全部 -
df:查看分區
dumpe2fs /dev/sda5查詢根分區的權限(顯示的塊太多)
dumpe2fs -h /dev/sda5 顯示超級塊
查看全部 -
ACL權限是否開啟
ACL權限作用在分區上,是一個掛載權限
查看全部 -
Windows分配權限:不管所有者、所屬組,想讓哪個用戶擁有權限,直接將文件操作權限給了就可以,對windows來說,不用考慮文件的所有者、所屬組,只要考慮打算給誰權限
所有者、所屬組、其他人三個身份過于簡單,導致復雜身份不能夠使用
Linux參考Windows下的權限,賦權限
查看全部 -
ACL權限:解決用戶對文件身份不足的問題
查看全部 -
sticky BIT 粘著位作用????(與setUID、setGID一起)
查看全部 -
chattr ?[+-=] [選項] 文件名或目錄:
-- +:增加權限
-- ?-:刪除權限
-- ?=:等于某權限
chattr 常用選項包括:i和a (等價于insert和append)
????i 不能增加,不能刪除?
?????文件:不能刪除文件(當然不能改名),不能修改文件內容?
?????目錄:不能刪除目錄(當然不能改名),不能修改目錄里面的內容(新增文件、刪除文件),只能修改目錄下文件的數據(即改文件名)。
????a :只能在文件中追加內容,不能刪除和修改內容,文件被賦予a屬性后,linux進制vi/vim操作,只能echo ... >> 文件名 方式追加;只能在目錄中建立和修改文件,但不允許刪除
lsattr 文件名 ?查看chattr權限
-a 顯示所有文件和目錄
lsattr -d 目錄名? ?#查看目錄
查看全部 -
1.SBIT權限:僅能針對目錄生效 ,有粘著位作用
2.要賦予SBIT 權限必須給目錄普通用戶賦予7權限,因此也比較危險。
3.賦予SBIT權限: chmod o+t 或者 chmod 1***
4.目錄有SBIT權限后,任何普通用戶都可以在目錄下新建文件,但是只能刪除自己創建的文件,不允許刪除其它用戶的文件。
5. 目錄默認有SBIT權限
注:不建議手工建立擁有粘著位的目錄
SBIT權限,針對其他人,在其他人的x權限位置顯示t;
chmod 1755 目錄名 或 chmod o+t 目錄名 為目錄設定SBIT權限; chmod 0777 目錄名 或 chmod o-t 目錄名 取消目錄的SBIT權限
查看全部 -
SetUID 只能對文件設置;
SetGID,即能對文件,又能對目錄設置;
設置SetGID權限2;SetUID權限4;
SetGID針對文件的作用:
例如:
/usr/bin/locate有SGID權限,執行locate命令時用戶user1的組身份會升級為slocate組,
而slocate組對/var/lib/mlocate/mlocate.db有r權限,
所以普通用戶可以使用locate命令查詢mlocate.db數據庫,
命令結束后user1用戶的組身份從slocate組返回原來組
SetGID 針對目錄的作用!
1.用戶必須附有對目錄的rx權限
2.用戶在目錄中創建文件的所屬組均為該目錄所有組,而非用戶的所屬組
3.目錄有SGID權限后,在目錄中建立的新文件的組和目錄文件的組默認相同
查看全部 -
危險的SetUID(盡量少操作SetUID)
????關鍵目錄應嚴格控制寫權限。比如“/”、“/usr”等
????用戶的密碼設置要嚴格遵守密碼三原則:復雜性、易記性、時效性
????實際工作當中應該將默認具有SetUID權限的文件作一列表,定時檢查有沒有這之外的文件被設置了SetUID權限。
絕不允許給系統文件賦SUID權限,如chmod 4755 /bin/vi
SUID和SGID檢測腳本
?find / -perm -4000 -o -perm -2000 > suid.log
定期檢查suid 的腳本:
#!/bin/bash?
find / -perm -4000 -o -perm -2000> /tmp/setuid.check?
#搜索系統中所有擁有SUID和SGID的文件,并保持到臨時目錄中
for i in $(cat /tmp/setuid.check)? ? ??
#做循環,每次循環取出臨時文件中的文件名? ?
do ? ? ? ?
????grep $i /root/suid.log> /dev/null??
????#比對這個文件名是否在模板文件中
????????if [ "$?" != "0" ]?
????????#檢測上一個命令的返回值,如果不是0,證明上一個命令報錯
????????then??
????????????echo "$i isn't in listfile! ">>/root/suid_log$(date +%F)
????? ? ? ? #如果文件名不在模板文件中,則輸出錯誤信息,并把報錯到日志中
????????fi
done
rm -rf /tmp/setuid.check #刪除臨時文件
查看全部 -
特殊權限盡量少修改;尤其是SUID & SGID
SetUID的功能??
只能對文件進行設置,
必須是可執行的二進制程序,才能賦予SUID權限
執行文件的用戶必須有該文件的x權限
用戶在執行程序過程中,是以文件所有者的身份執行該文件的。
SetUID權限只在該程序執行過程在有效,也就是說身份改變只在程序執行過程中有效
#0022首位的0是特殊權限
#suid只能針對可執行文件,如果對沒有執行權限的文件執行suid,則會變成大寫S,s=S+x
4代表SUID
chmod 4755 文件名 或 chmod u+s 文件名 為文件設定SetUID權限; chmod 0755 文件名 或 chmod u-s 文件名 為文件取消SetUID權限(注:s指 SUID)
passwd命令擁有SetUID權限,所以普通用戶可以修改自己的密碼
cat 命令沒有SetUID權限,所以普通用戶不能查看/etc/shadow文件內容
查看全部 -
授權普通用戶可以添加其他用戶
visudo? ?#編輯/etc/sudoers文件,即編輯sudo配置?
sudo -l --查看sudo權限
user1 ALL= /usr/sbin/useradd?
user1 ALL= /usr/bin/passwd? 授予用戶設定密碼的權限
user1 ALL=/bin/vi ? ? ? ? ? #賦予user1使用vi更改任意文件的權限(包括/etc/shadow闊怕!) (會造成嚴重后果, 在運行該權限時,是root身份,甚至能更改root密碼)
禁止普通用戶使用sudo給設置root賬號的密碼user ALL=/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
sudo命令,所有字母多次使用,(后跟空格)不許passwd后加空更改密碼, 不許passwd后跟root !注意中間必須有空格,順序不能顛倒
注意事項:不能設定root用戶密碼
在centos7上 不加空格也可以 zdy ALL=/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd "",!/usr/bin/passwd root
不給普通用戶設置root密碼 ?不要給他vi權限 ?一定切記
查看全部
舉報