-
11111
查看全部 -
11111
查看全部 -
getfacl 文件名????#查看ACL權(quán)限;
setfacl 選項(xiàng) 文件名????#設(shè)定ACL的權(quán)限;
例:setfacl -m u/g:用戶名或組名:權(quán)限 ?目錄或文件名
setfacl -m u:lw:rx /av
????-m????設(shè)定ACL權(quán)限;
????-x????刪除指定的ACL權(quán)限;
????-b????刪除所有的ACL權(quán)限;
查看全部 -
11111
查看全部 -
11111
查看全部 -
11111
查看全部 -
dumpe2s -h? /dev/sda5
查看全部 -
ACL權(quán)限
查看全部 -
文件就三個(gè)權(quán)限
所有者權(quán)限 組權(quán)限 其他權(quán)限 有時(shí)候不夠用 這時(shí)候就需要ACL權(quán)限 用來解決用戶身份不夠的問題
查看分區(qū)ACL權(quán)限是否開啟
dumpe2fs -h /dev/sda5
查看全部 -
chattr命令格式(對(duì)root生效)
????chattr [+-=] [選項(xiàng)] 文件或目錄
????+????????#增加權(quán)限?
????-???????? #刪除權(quán)限?
????=????????#等于某權(quán)限
????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屬性,那么只允許在目錄中建立和修改文件,但不允許刪除
????chattr +i abc ????#給abc文件賦予i權(quán)限,不能修改和刪除
????lsattr abc????????????#查看abc文件權(quán)限? ?
????chattr -i abc??????#給abc文件取消i權(quán)限
????chattr +i 123???? #給目錄賦予i權(quán)限
????lsattr -d 123查看目錄123本身的具有attr權(quán)限的文件
????lsattr 123查看目錄123下的具有attr權(quán)限的文件
文件a權(quán)限舉例
????mkdir lw
????cd lw?
????vi dt
????chattr dt
????lsattr dt
????vi dt????????#不能修改數(shù)據(jù)
????echo asdasda >> dt
????cat dt
目錄a權(quán)限舉例
????cd ..
????chatttr +a lw
????lsattr -d lw/
????cd lw
????touch asd
????rm -rf dt????????#不能刪除
查看文件系統(tǒng)屬性
????lsattr 選項(xiàng) 文件名? ?查看文件系統(tǒng)屬性
? ? 選項(xiàng):-a 顯示所有文件和目錄?
????-d 僅列出目錄本身的屬性,僅列出目錄本身的屬性,而不是子文件的
查看全部 -
SBIT粘著位作用
????粘著位目前只對(duì)目錄有效
????普通用戶對(duì)該目錄擁有w和x權(quán)限,即普通用戶可以再次目錄擁有寫入權(quán)限
????如果沒有粘著位,因?yàn)槠胀ㄓ脩魮碛衱權(quán)限,所以可以刪除此目錄下所有文件,包括其他用戶建立的文件。一旦賦予了粘著位,除了root可以刪除所有文件,普通用戶就算擁有w權(quán)限,也只能刪除自己建立的文件,但是不能刪除其他用戶建立的文件
舉例:
root用戶
????cd /home/usr1/
????mkdir 123
????chmod 777 123
????cd 123
????touch av
????chmod o+t /home/user1/123/
????touch cangls
user1用戶
????rm -rf cangls?
設(shè)置與取消粘著位
設(shè)置粘著位
????chmod 1755 目錄名
????chmod o+t 目錄名
取消粘著位
????chmod 0755 目錄名
????chmod o-t 目錄名
補(bǔ)充:
????ll -d /tmp/ ????????#目錄默認(rèn)有SBIT權(quán)限
1.SUID只能對(duì)執(zhí)行文件生效,SGID能對(duì)目錄和執(zhí)行文件生效,SBIT只能對(duì)目錄生效
2.要賦予SBIT 權(quán)限必須給目錄普通用戶賦予7權(quán)限,因此也比較危險(xiǎn)。
3.超級(jí)用戶賦予SBIT權(quán)限: chmod o+t 或者 chmod 1***
4.目錄有SBIT權(quán)限后,任何普通用戶都可以在目錄下新建文件,但是只能刪除自己創(chuàng)建的文件,不允許刪除其它用戶的文件。
5. /tmp/ 目錄默認(rèn)有SBIT權(quán)限
查看全部 -
SetGID針對(duì)文件的作用
????只有可執(zhí)行二進(jìn)制程序才能設(shè)定SGID權(quán)限
????命令執(zhí)行者要對(duì)該程序擁有x(執(zhí)行)權(quán)限
????命令執(zhí)行執(zhí)行程序時(shí),組身份升級(jí)為該程序文件的屬組
????SetGID權(quán)限只在程序執(zhí)行過程中有效
????例子 、usr/bin/locate具有SetGID身份
解釋
? ? /usr/bin/locate是可執(zhí)行二進(jìn)制程序,可以賦予SGID
????執(zhí)行用戶user1對(duì)/usr/bin/locate命令擁有執(zhí)行權(quán)限
????執(zhí)行/usr/bin/locate命令時(shí),組身份會(huì)升級(jí)為slocate組而slocate組對(duì)/var/lib/mlocate/mlocate數(shù)據(jù)庫擁有r權(quán)限,所以普通用戶可以使用locate命令查詢mlocate.db數(shù)據(jù)庫
????命令結(jié)束,user1用戶的組身份返回為user1組
SetGID針對(duì)目錄的作用
????普通用戶必須對(duì)此目錄必須擁有r和x權(quán)限,才能進(jìn)入此目錄
????普通用戶在此目錄中的有效組會(huì)變成此目錄的屬組
????若普通用戶對(duì)此目錄擁有w權(quán)限,新建的文件的默認(rèn)屬組是這個(gè)目錄的屬組
舉例:
root用戶
????cd /tmp/
????mkdir test
????chmod 777 test?
user1用戶
????cd /tmp/test
????touch cangls
????ll
????chmod 2777 test????????#切換到root用戶
????touch bols
????ll
設(shè)定SetGID
????chmod g+s 文件名?
????chmod 2755 文件名
取消SetGID
????chmod g-s 文件名 chmod 0755 文件名
測(cè)試:
????touch abc
????chmod g+s abc
舉例:
????ll /usr/bin/locate
????ll /var/lib/mlocate/mlocate
查看全部 -
設(shè)定SetUID的方法
4代表SUID
????chmod 4755 文件名
?????chmod u+s 文件名
????chmod u-s 文件名? ? 取消某文件的SetUID? ?(chmod g-s 文件名 //組)
?????chmod u+s 文件名? ? 增加某文件的SetUID? (chmod g+s 文件名 //組)
取消SetUID的方法
????chmod 0755 文件名
????chmod u-s 文件名
危險(xiǎn)的SetUID(盡量少操作SetUID)
????關(guān)鍵目錄應(yīng)嚴(yán)格控制寫權(quán)限。比如“/”、“/usr”等
????用戶的密碼設(shè)置要嚴(yán)格遵守密碼三原則:復(fù)雜性、易記性、時(shí)效性
????實(shí)際工作當(dāng)中應(yīng)該將默認(rèn)具有SetUID權(quán)限的文件作一列表,定時(shí)檢查有沒有這之外的文件被設(shè)置了SetUID權(quán)限。
????絕不允許給系統(tǒng)文件賦SUID權(quán)限,如chmod 4755 /bin/vi
定期檢查suid和sgid
#!/bin/bash?
find / -perm -4000 -o -perm -2000> /tmp/setuid.check????#搜索系統(tǒng)中所有擁有SUID和SGID的文件,并保存到臨時(shí)目錄中?
for i in $(cat /tmp/setuid.check)?????#for循環(huán),每次循環(huán)取出臨時(shí)文件中的文件名賦予變量i
腳本
do
????grep $i /home/suid.log> /dev/null????#對(duì)比這個(gè)文件名是否在模板文件中????臨時(shí)掃描出的文件名是否在這個(gè)模板文件中? ?把所有輸出丟到/dev/null
? ? ?????if [ "$?" != "0" ]????#檢測(cè)上一個(gè)命令的返回值,如果不為0,證明上一個(gè)命令報(bào)錯(cuò)
? ? ? ? ?then
????????????????echo "$i isn't in listfile!">>/home/suid_log_$(date +%F)?
????????#如果文件名不在模板文件中,則輸出錯(cuò)誤信息,并把報(bào)錯(cuò)報(bào)錯(cuò)到日志當(dāng)前日期中
? ? ? ? ?fi
done
rm -rf /tmp/setuid.check
操作步驟
vi suid_check.sh
chmod 755 suid_check.sh
chmod u+s abc
./suid_check.sh
cat suid_log_........
查看全部 -
文件特殊權(quán)限
????SetUID??????????
????SetGID????????#UID與GID極不安全????盡量不去修改
????Sticky BIT
SetUID功能
????1.只有可執(zhí)行二進(jìn)制程序才能設(shè)定SUID權(quán)限?
????2.命令執(zhí)行者要對(duì)該程序擁有x(執(zhí)行)權(quán)限(如果當(dāng)前文件沒有執(zhí)行權(quán)限,著會(huì)出現(xiàn)大S權(quán)限,大S權(quán)限是無效的,s=S+x,s才是超級(jí)權(quán)限。)
????3.命令執(zhí)行者在執(zhí)行該程序時(shí)獲得該程序文件屬主身份
????4.SetUID權(quán)限只在程序執(zhí)行過程中有效,也就是說身份改變只在程序執(zhí)行過程中有效
設(shè)定SetUID方法?
????chmod 4755 文件名
????chmod u+s 文件名
? ? 舉例:
????touch abc
????chmod 755 abc????????
????ll????????????????????????????#執(zhí)行這三條命令后可以看到abc為綠色
? ?umask????????????#0022????????0第一位是特殊權(quán)限?
? ? chmod 4775 abc????#給abc賦予UID權(quán)限? 必須是執(zhí)行文件
????ll????????????????????#該文件變?yōu)榧t色? ?提示這個(gè)文件要小心
????touch bcd
????chmod 4644 bcd????#與abc相比無執(zhí)行權(quán)限? ?s=S+x
????ll
????? ?
passwd擁有SetUID權(quán)限,所以普通用戶可以修改自己密碼?
????ll /usr/bin/passwd????? ? #可查看passwd詳細(xì)權(quán)限????????-rwsr-xr-x.??
????cat命令沒有SetUID權(quán)限,所以普通用戶不能查看/etc/shadow文件內(nèi)容
????ll /bin/cat????#-rwxr-xr-x????無s
查看全部 -
授權(quán)普通用戶可以添加其他用戶
????wheris useradd?
????visudo? ? #sudo賦予普通用戶user1添加用戶的命令 ????在最后加上user1 ALL=/usr/sbin/useradd
????sudo?/usr/sbin/useradd cangls????#切換到user1用戶執(zhí)行該命令
????cat /etc/passwd????#查看cangls是否添加完成
授權(quán)普通用戶可以添加用戶密碼
????wheris passwd
????visudo????#在最后加上user1 ALL= /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
????sudo -l
?? ?sudo?/usr/sbin/passwd cangls
????#授權(quán)user1用戶設(shè)定密碼的權(quán)限
????#注意:這樣設(shè)置極不安全,因?yàn)閡ser1可以設(shè)置root用戶密碼了,這是不合理的,應(yīng)該按下面這樣寫
????user1 ALL= /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
????#說明1:[A-Za-z]* ,這是個(gè)正則表達(dá)式,passwd后面的跟的用戶名包括任何字母,*代表字母可以重復(fù)0-N次
????#說明2:!/usr/bin/passwd "",!代表取反,這意味著passwd 后面跟的用戶名不能為空,因?yàn)闉榭沾碓O(shè)置自身密碼,而user1執(zhí)行設(shè)置密碼命令時(shí)使用的是root身份
????#說明3:!/usr/bin/passwd root,!代表取反,這意味著passwd后面不能跟root
????#說明4:,后面一定要有空格,沒有空格不生效
????#說明5:三段代碼順序不能顛倒
????#原則:sudo賦予的命令越詳細(xì),普通用戶的權(quán)限越小,賦予的越簡(jiǎn)單,權(quán)限越大
????user1 ALL=/bin/vi #不能在visudo里添加該命令。該賦予user1使用vi更改任意文件的權(quán)限(甚至包括/etc/shadow 保存用戶名密碼文件)
查看全部
舉報(bào)