9 高階許可權

2021-10-04 16:26:20 字數 3931 閱讀 9507

高階許可權 suid,sgid,sticky

suid 針對二進位制檔案(可執行檔案) 提權 讓普通使用者對檔案有超級使用者的許可權

sgid

sticky

問題1: 為什麼會失敗!

[root@fanhua ~]

# ll /root/file1.txt -rw-r--r-- 1 root root 4 7月 27 14:14 /root/file1.txt

[alice@fanhua ~]$ cat /root/file1.txt

cat: /root/file1.txt: 許可權不夠

分析: root /usr/bin/cat (root) /root/file1.txt ok

​ alice /usr/bin/cat (alice) /root/file1.txt no

普通使用者修改密碼: alice /usr/bin/passwd (root) /etc/shadow

1.1.高階許可權的型別

suid 4

sgid 2

sticky 1 粘滯位

1.2.設定特殊許可權

a、字元

chmod u+s file

chmod g+s dir

chmod o+t dir

b、數字
chmod 4777 file

chmod 7777 file

chmod 2770 dir

chmod 3770 dir

示例1:suid 普通使用者通過suid提權 《針對檔案》

在程序檔案(二進位制,可執行)上增加suid許可權

[root@fanhua ~]

# chmod u+s /usr/bin/cat

[root@fanhua ~]

# chmod u+s /usr/bin/rm

[alice@fanhua ~]$ cat /root/file1.txt

首先建立乙個使用者組,兩個使用者進行這三個案例操作

set uid

當s這個標誌出現在檔案所有者的x許可權上時,如/usr/bin/passwd這個檔案的許可權狀態:「-rwsr-xr-x.」,此時就被稱為set uid,簡稱為suid。那麼這個特殊許可權的特殊性的作用是什麼呢?

1、suid許可權僅對二進位制程式(binary program)有效;

2、啟動為程序之後,其程序的屬主為原程式檔案的屬主;

3、執行者將具有該程式擁有者(owner)的許可權。

案例:

[root@fanhua home]

# ll /usr/bin/rm

-rwxr-xr-x. 1 root root 62864 nov 6 2016 /usr/bin/rm

[root@fanhua home]

# chmod u+s /usr/bin/rm

此時普通使用者只能刪除許可權之內的檔案

一旦給rm加上suid許可權之後,普通使用者相當於root使用者。(即提權)

set gid

把s放到檔案的所屬使用者組x位置上的話,就是sgid。

那麼sgid的功能是什麼呢?和suid一樣,只是sgid是獲得該程式所屬使用者組的許可權。

這相sgid有幾點需要我們注意:

*:sgid主要用在目錄上

如果使用者在此目錄下具有w許可權的話,若使用者在此目錄下建立新檔案,則新檔案的群組與此目錄的群組相同。

案例:

[root@localhost ~]

# mkdir /opt/dir1

[root@localhost ~]

# groupadd hr

[root@localhost ~]

# chmod 775 /opt/dir1/

[root@localhost ~]

# ll -d /opt/dir1/

drwxrwxr-x. 2 root root 6 jul 19 15:20 /opt/dir1/

[root@localhost ~]

# chown .hr /opt/dir1/

[root@localhost ~]

# chmod g+s /opt/dir1/

[root@localhost ~]

# ll -d /opt/dir1/

drwxrwsr-x. 2 root hr 6 jul 19 15:20 /opt/dir1/

[root@localhost ~]

# touch /opt/dir1/a.txt

-rw-rw-r--. 1 root hr 0 jul 19 15:23 /opt/dir1/a.txt

注:sgid 只能把資料夾下新建檔案的屬組與資料夾的屬組相同 不複製屬組許可權

sticky bit

這個就是針對others來設定的了,和上面兩個一樣,只是功能不同而已。

sbit(sticky bit)目前只針對目錄有效,對於目錄的作用是:當使用者在該目錄下建立檔案或目錄時,僅有自己與 root才有權力刪除。

[root@fanhua home]

# cd /home/

[root@fanhua home]

# mkdir dir2

[root@fanhua home]

# chmod 777 dir2/ //確保其他人能操作目錄

[root@fanhua home]

# chmod o+t dir2/ //給予dir1目錄sticky

[root@fanhua home]

# ll -d dir2/

drwxrwxrwt 2 root root 4096 jul 13 16:09 dir1/

[alice@fanhua dir2]$ touch alice.txt //使用者alice在/home/dir2建立乙個檔案

[jack@fanhua dir2]$ touch jack.txt //使用者jack在/home/dir2建立乙個檔案

測試alice刪除jack建立的檔案,無法刪除

1.3.普通使用者可以修改密碼:

alice /usr/bin/passwd /etc/shadow

[alice@fanhua ~]$ ll /etc/shadow

---------- 1 root root 1487 6月 4 13:43 /etc/shadow

[alice@fanhua ~]$ ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd

[alice@fanhua ~]$ passwd

更改使用者 alice 的密碼 。

為 alice 更改 stress 密碼。

(當前)unix 密碼:

[root@fanhua ~]# ps aux |grep passwd root 3674 0.0 0.0 165764 1884 pts/1 s+ 14:34 0:00 passwd

1.4.目前兩種給普通使用者提權手段:

sudo: 了解,有針對性,例如針對某個使用者以能夠以root的身份執行某些命令。

vim /etc/sudoers

92 行

suid: 基本針對所有使用者,任何使用者在執行有suid許可權的程式時(例如/usr/bin/rm),都是以root身份在執行。

小知識:注意以下目錄的正確許可權,否則會導致程式不能正常執行

[root@wangcy ~]# ll -d /tmp /var/tmp/

drwxrwxrwt 14 root root 4096 07-26 10:15 /tmp

drwxrwxrwt 2 root root 4096 07-24 19:02 /var/tmp/html>

許可權管理 高階許可權

一.高階許可權管理acl 使用setfacl命令可以對每乙個檔案或者目錄設定更精確的檔案許可權,比如 讓某乙個使用者對某一檔案具有某種許可權.這種獨立於u,g,o的rwx許可權之外的具體許可權設定叫acl,它可以對單一使用者,單一檔案或者目錄進行r,w,x的許可權控制.1.getfacl opt a...

9 變數高階

引用的概念 在python中 注意 如果變數已經被定義,當各乙個變數賦值的時候,本質上是修改了資料的引用 in 1 a 1 in 2 id a out 2 140525001340832 in 3 b a in 4 id b out 4 140525001340832 in 5 a 2 in 6 i...

oracle高階 許可權

在oracle中建立的新使用者是沒有任何許可權的,甚至連登入到資料庫的許可權都沒有,需要dba為其賦予相應的許可權。許可權是指執行特定型別sql命令或是訪問其它方案物件的權利,包括系統許可權和物件許可權兩種。系統許可權是指執行特定型別sql命令的權利 使用者對資料庫的相關許可權 它用於控制使用者可以...