溫馨提示×

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

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

linux文件的特殊權(quán)限總結(jié)與實(shí)驗(yàn)

發(fā)布時(shí)間:2020-08-11 16:08:21 來(lái)源:網(wǎng)絡(luò) 閱讀:219 作者:liu008qing 欄目:系統(tǒng)運(yùn)維

在linux中,有一個(gè)安全上下文的概念,一個(gè)進(jìn)程(運(yùn)行的程序)能否訪(fǎng)問(wèn)某個(gè)文件,取決于發(fā)起進(jìn)程的用戶(hù)對(duì)被操作文件存在什么權(quán)限。

A. 如果進(jìn)程的發(fā)起者是該被訪(fǎng)問(wèn)文件的屬主,則以文件屬主的權(quán)限來(lái)訪(fǎng)問(wèn)

B. 否則,如果進(jìn)程的發(fā)起者是屬于該被訪(fǎng)問(wèn)文件的屬組中的用戶(hù),則以文件屬組的權(quán)限來(lái)訪(fǎng)問(wèn)

C. 否則,以其他用戶(hù)來(lái)訪(fǎng)問(wèn)此文件

而在這個(gè)權(quán)限之外,還存在著三種特殊權(quán)限

SUID:當(dāng)對(duì)某一個(gè)程序文件設(shè)置了SUID置位,則該進(jìn)程(程序)訪(fǎng)問(wèn)系統(tǒng)上的文件時(shí),以程序的屬主的身份來(lái)訪(fǎng)問(wèn)該文件,而不是執(zhí)行程序的用戶(hù)的權(quán)限來(lái)訪(fǎng)問(wèn)文件。

SGID:當(dāng)某目錄的屬組對(duì)目錄有寫(xiě)權(quán)限,并且設(shè)置了SGID置位時(shí),屬于屬組的這些用戶(hù)在這個(gè)目錄下創(chuàng)建文件時(shí),被創(chuàng)建的文件的屬組默認(rèn)會(huì)變成該目錄的屬組,而不是創(chuàng)建文件的用戶(hù)的基本組。

SBIT:當(dāng)對(duì)某目錄設(shè)置了SBIT置位時(shí),用戶(hù)只能刪除自己在該目錄下創(chuàng)建的文件,而不能刪除其他用戶(hù)創(chuàng)建的文件,哪怕用戶(hù)對(duì)目錄存在寫(xiě)權(quán)限。

操作:

1. SUID: ? chmod u+s

2. SGID: ?chmod g+s

3. SBIT: chmod o+t

實(shí)驗(yàn):

一、 SUID實(shí)驗(yàn)

將/bin/cat復(fù)制到/test目錄,將/test/bin程序進(jìn)行SUID置位。讓一個(gè)普通使用該程序來(lái)查看/etc/shadow文件。然后再用系統(tǒng)自帶的/bin/cat來(lái)查看該文件。

# ?將/bin/cat復(fù)制到/test目錄

[root@liuqing test]# cp /bin/cat /test/

[root@liuqing test]# ll /test

總用量 60

-rwxr-xr-x. 1 root root 54080 11月 21 17:04 cat

#對(duì)/test/cat文件進(jìn)行SUID置位,該文件的屬主屬組都是root

[root@liuqing test]# chmod u+s /test/cat

[root@liuqing test]# ll

總用量 60

-rwsr-xr-x. 1 root root 54080 11月 21 17:04 cat

-rw-r-----. 1 lyf ?lyf ? ? 14 11月 21 16:15 file1.txt

#切換到普通用戶(hù)liuqing

[root@liuqing test]# su - liuqing

上一次登錄:四 11月 21 16:05:54 CST 2019pts/1 上

[liuqing@liuqing ~]$

#普通用戶(hù)liuqing,使用/test/cat可以查看/etc/shadow

[liuqing@liuqing ~]$ /test/cat /etc/shadow

root:$6$gdIxmcOy$JSDVjR0tSdQfVTDrukonWIfRLdDIut63ZYiucsTmj8TPJ0Sq/wZduJhWgSUidlHeW6pmISq.B7Vx4OlGX1P1p1:18185:0:99999:7:::

#普通用戶(hù)使用系統(tǒng)自帶的/bin/cat,不能查看/etc/shadow

[liuqing@liuqing ~]$ ll /bin/cat

-rwxr-xr-x. 1 root root 54080 8月 ?20 14:25 /bin/cat

[liuqing@liuqing ~]$ cat /etc/shadow

cat: /etc/shadow: 權(quán)限不夠

二、 SGID實(shí)驗(yàn)

系統(tǒng)上有兩個(gè)用戶(hù),gentoo和fedora,它們的附加組為mygrp,現(xiàn)在對(duì)/test目錄進(jìn)行SGID置位,當(dāng)我們使用這兩個(gè)用戶(hù)在/test目錄下創(chuàng)建文件時(shí),文件的屬組會(huì)自動(dòng)變成mygrp。

#查看gentoo和fedora是否存在

[root@liuqing test]# id gentoo

uid=4007(gentoo) gid=4007(gentoo) 組=4007(gentoo),5000(magedu)

[root@liuqing test]# id fedora

uid=4008(fedora) gid=4008(fedora) 組=4008(fedora),5000(magedu)

# 創(chuàng)建組mygrp

[root@liuqing test]# groupadd mygrp

# 將用戶(hù)gentoo和fedora添加附加組mygrp

[root@liuqing test]# usermod -a -G mygrp gentoo

[root@liuqing test]# usermod -a -G mygrp fedora

[root@liuqing test]# id gentoo

uid=4007(gentoo) gid=4007(gentoo) 組=4007(gentoo),5000(magedu),5003(mygrp)

[root@liuqing test]# id fedora

uid=4008(fedora) gid=4008(fedora) 組=4008(fedora),5000(magedu),5003(mygrp)

# 修改/test的屬組為mygrp,修改屬組權(quán)限為rwx,對(duì)/test進(jìn)行SGID置位

[root@liuqing /]# chown :mygrp /test

[root@liuqing /]# chmod g+w /test

[root@liuqing /]# chmod g+s /test

[root@liuqing /]# ls -ld ?/test

drwxrwsr-x. 2 root mygrp 34 11月 21 17:23 /test

# 切換用戶(hù)到gentoo

[root@liuqing /]# su - gentoo

上一次登錄:四 11月 21 17:22:21 CST 2019pts/0 上

[gentoo@liuqing ~]$

# gentoo用戶(hù)在/test目錄下創(chuàng)建了gentoo.txt文件,查看文件屬性,該文件屬組為mygrp

[gentoo@liuqing ~]$ touch /test/gentoo.txt

[gentoo@liuqing ~]$ ll /test

總用量 60

-rw-rw-r--. 1 gentoo mygrp ? ? 0 11月 21 17:25 gentoo.txt

三、 SBIT實(shí)驗(yàn)

/test目錄的屬組是mygrp,對(duì)這個(gè)目錄,進(jìn)行了SGID置位,mygrp組對(duì)目錄有rwx權(quán)限。那么這個(gè)目錄下,附加組是mygrp的用戶(hù)在目錄中創(chuàng)建的文件的屬組是mygrp,這時(shí),附加組是mygrp的這些用戶(hù)可以在目錄中創(chuàng)建、修改刪除文件,而這樣的話(huà),這些用戶(hù)也可以刪除別的用戶(hù)創(chuàng)建的文件,為了不讓別人刪除某用戶(hù)創(chuàng)建的文件,則可以對(duì)目錄進(jìn)行stick,stick之后,只有用戶(hù)自己和管理員可以刪除該目錄下該用戶(hù)自己創(chuàng)建的文件。

# 對(duì)目錄進(jìn)行stick置位,查看權(quán)限,發(fā)現(xiàn)在o的權(quán)限位,有一個(gè)t

[root@liuqing test]# chmod o+t /test

[root@liuqing test]# ls -ld /test

drwxrwsr-t. 2 root mygrp 52 11月 21 17:25 /test

#切換到fedora用戶(hù),創(chuàng)建一個(gè)fedora.txt

[root@liuqing test]# su ?- fedora

[fedora@liuqing ~]$ touch /test/fedora.txt

[fedora@liuqing ~]$ echo "How are you?" ?>> /test/fedora.txt

#查看目錄下的文件,對(duì)于gentoo.txt ,它的權(quán)限是屬組有rw。

[fedora@liuqing ~]$ ll /test

-rwsr-xr-x. 1 root ? root ?54080 11月 21 17:04 cat

-rw-rw-r--. 1 fedora mygrp ? ?13 11月 22 08:45 fedora.txt

-rw-rw-r--. 1 gentoo mygrp ? ? 0 11月 21 17:25 gentoo.txt

#fedora用戶(hù)可以編輯gentoo.txt這個(gè)文件

[fedora@liuqing ~]$ echo ?"New line" ?>> /test/gentoo.txt

[fedora@liuqing ~]$

[fedora@liuqing ~]$

[fedora@liuqing ~]$ cat /test/gentoo.txt

New line

#由于進(jìn)行了SBIT置位,fedora用戶(hù)不能刪除gentoo.txt這個(gè)文件,因?yàn)檫@個(gè)文件不是fedora創(chuàng)建的。

[fedora@liuqing ~]$ rm /test/gentoo.txt

rm: 無(wú)法刪除"/test/gentoo.txt": 不允許的操作


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

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guā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