-
永久開啟分區ACL權限,謹慎修改此文件,一旦錯誤將影響系統無法啟動查看全部
-
臨時開啟分區ACL權限
查看全部 -
查看分區是否支持ACL權限
查看全部 -
用sudo賦予權限的時候注意:
權限控制到最小
賦予passwd和vi操作的時候要慎重。
查看全部 -
sudo權限分配
1.用戶切換:????su - user1
2.賦予普通用戶重啟命令權限:
????修改/etc/sudoers文件。或直接用命令 visudo
????user1 ALL=(ALL)????/sbin/shutdown -r now
查看全部 -
默認ACL權限 d
注意:1.默認權限定義之后,之后創建的文件都會被賦予權限。
????????? ?2.setfacl -m d:u:用戶名:權限 文件名
查看全部 -
權限的遞歸傳遞
注意:1.要寫絕對路徑
????????? ?2.通過遞歸賦予的權限會因為,目錄和文件的操作權限不同,導致“權限溢出”。
????????? ? 3.setfacl命令之后創建的子文件,不會被賦予ACL權限。
setfacl -m u:zhang:rx -R /home/av?
查看全部 -
mask:ACL 權限控制。所有的ACl用戶權限設置,都要與mask進行“與”操作。
setfacl -x u:用戶名 文件名????#刪除指定“用戶”的ACL權限。
setfacl -x g:組名 文件名。????#刪除指定“用戶組”的ACL權限。
setfacl -b 文件名????#刪除所有的ACL權限。
查看全部 -
setfacl -m u:user1:rw /av????#設置acl用戶權限。
getfacl????#獲取用戶權限。
查看全部 -
chattr命令格式(對root生效)
chattr[+-=][選項]文件或目錄
+:增加權限?
-:刪除權限?
=:等于某權限
i:如果對文件設置i屬性,那么不允許對文件進行刪除,改名也不能添加和 修改數據;如果對目錄設置i屬性,那么只能修改目錄下文件的數據,但不能 建立和刪除文件
a:如果對文件設置a屬性,那么只能在文件中增加數據,但不能刪除也不能修改數據 如果對目錄設置a屬性,那么只允許在目錄中建立和修改文件,但不允許刪除
chattr +i abc 給abc賦予i權限
chattr -i abc??給abc取消i權限
lsattr 123查看目錄123下的具有attr權限的文件
lsattr -d 123查看目錄123本身的具有attr權限的文件
文件用echo >>輸出重定向添加數據? ?echo bbb >>abc
lsattr 選項 文件名? ?查看文件系統屬性
-a 顯示所有文件和目錄?
-d 僅列出目錄本身的屬性
查看全部 -
1.SUID只能對執行文件生效,SGID能對目錄和執行文件生效,SBIT只能對目錄生效
2.要賦予SBIT 權限必須給目錄普通用戶賦予7權限,因此也比較危險。
3.超級用戶賦予SBIT權限: chmod o+t 或者 chmod 1***
4.目錄有SBIT權限后,任何普通用戶都可以在目錄下新建文件,但是只能刪除自己創建的文件,不允許刪除其它用戶的文件。
5. /tmp/ 目錄默認有SBIT權限
查看全部 -
SetGID針對文件的作用
只有可執行二進制程序才能設定SGID權限
命令執行者要對該程序擁有x(執行)權限
命令執行執行程序時,組身份升級為該程序文件的屬組
SetGID權限只在程序執行過程中有效
例子 、usr/bin/locate具有SetGID身份
SetGID針對目錄的作用
普通用戶必須對此目錄必須擁有r和x權限,才能進入此目錄
普通用戶在此目錄中的有效組會變成此目錄的屬組
若普通用戶對此目錄擁有w權限,新建的文件的默認屬組是這個目錄的屬組
設定SetGID
chmod g+s 文件名 chmod 2755 文件名
取消SetGID
chmod g-s 文件名 chmod 0755 文件名
查看全部 -
?chmod u-s 文件名? ? 取消某文件的SetUID? ?(chmod g-s 文件名 //組)
?chmod u+s 文件名? ? 增加某文件的SetUID? (chmod g+s 文件名 //組)
定期檢查suid和sgid
#!/bin/bash?
find / -perm -4000 -o -perm -2000> /tmp/setuid.check?
for i in $(cat /tmp/setuid.check)?
????do
????grep $i /home/suid.log> /dev/null
????????if [ "$?" != "0" ]
????????then
????????echo "$i isn't in listfile!">>/home/suid_log_$(date +%F)?
????????fi
????done
rm -rf /tmp/setuid.check
查看全部 -
(1)設定SetUID方法?
chmod 4755 文件名
chmod u+s 文件名?
(2)SetUID功能
1.只有可執行二進制程序才能設定SUID權限?
2.命令執行者要對該程序擁有x(執行)權限(如果當前文件沒有執行權限,著會出現大S權限,大S權限是無效的,s=S+x,s才是超級權限。)
3.命令執行者在執行該程序時獲得該程序文件屬主身份
4.SetUID權限只在程序執行過程中有效
passwd擁有SetUID權限,所以普通用戶可以修改自己密碼 cat命令沒有SetUID權限,所以普通用戶不能查看/etc/shadow文件內容
查看全部 -
#授權普通用戶可以添加其他用戶?
visudo?
#編輯/etc/sudoers文件?
user1 ALL= /usr/sbin/useradd
#sudo賦予普通用戶user1添加用戶的命令
user1 ALL= /usr/bin/passwd
#授權user1用戶設定密碼的權限
#注意:這樣設置極不安全,因為user1可以設置root用戶密碼了,這是不合理的,應該按下面這樣寫
user1 ALL= /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
#說明1:[A-Za-z]* ,這是個正則表達式,passwd后面的跟的用戶名包括任何字母,*代表字母可以重復0-N次
#說明2:!/usr/bin/passwd "",!代表取反,這意味著passwd 后面跟的用戶名不能為空,因為為空代表設置自身密碼,而user1執行設置密碼命令時使用的是root身份
#說明3:!/usr/bin/passwd root,!代表取反,這意味著passwd后面不能跟root
#說明4:,后面一定要有空格,沒有空格不生效
#說明5:三段代碼順序不能顛倒
#原則:sudo賦予的命令越詳細,普通用戶的權限越小,賦予的越簡單,權限越大
user1 ALL=/bin/vi #賦予user1使用vi更改任意文件的權限(甚至包括/etc/shadow 保存用戶名密碼文件).
查看全部
舉報