好程式設計師雲端計算學習路線之高階許可權

好程式設計師IT發表於2019-08-05

好程式設計師雲端計算學習路線之 高階許可權 ,suid,sgid,sticky
檔案許可權管理之:高階許可權

問題 1 : 為什麼會失敗!
[root@tianyun ~]# ll /root/file1.txt 
-rw-r--r-- 1 root root 4 7 月  27 14:14 /root/file1.txt
[alice@tianyun ~]$ cat /root/file1.txt  分層驗證看, ll-d / ll-d /root  root 禁地進不去)
cat: /root/file1.txt:  許可權不夠

分析:
root /usr/bin/cat (root)  (程式所有者)  /root/file1.txt OK
alice /usr/bin/cat (alice) /root/file1.txt 

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

高階許可權的型別
suid 4
sgid 2
sticky 1  粘滯位

設定特殊許可權
a 、字元
chmod u+s file
chmod g+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@tianyun ~]# chmod u+s /usr/bin/cat
[root@tianyun ~]# chmod u+s /usr/bin/rm
[alice@tianyun ~]$ cat /root/file1.txt
=================================================================
普通使用者可以修改密碼:
alice /usr/bin/passwd /etc/shadow

[alice@tianyun ~]$ ll /etc/shadow
---------- 1 root root 1487 6 月  4 13:43 /etc/shadow

[alice@tianyun ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2 月  17 2012 /usr/bin/passwd

[alice@tianyun ~]$ passwd 
更改使用者  alice  的密碼 。
 alice  更改  STRESS  密碼。
(當前) UNIX  密碼: 

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

-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
無論任何人都已 ROOT 使用者執行 這 就是 SUID

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


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

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


示例 2 sticky  使用者只能刪除自己的檔案  < 針對目錄 >
[root@tianyun ~]# mkdir /home/dir1
[root@tianyun ~]# chmod 777 /home/dir1
測試: user1 /home/dir1 建立檔案 , user2 嘗試刪除!

[root@tianyun ~]# chmod o+t /home/dir1
[root@tianyun ~]# ll -d /home/dir1
rwxrwxrwt 2 root root 4096 09-02 02:26 /home/dir1
誰可以刪除:
root
檔案的所有者
目錄的所有者

示例 3 sgid  新建檔案繼承目錄屬組  < 針對目錄 >
[root@tianyun ~]# mkdir /home/hr
[root@tianyun ~]# chgrp hr /home/hr/
[root@tianyun ~]# chmod g+s /home/hr
[root@tianyun ~]# ll -d /home/hr/
drwxr-sr-x. 2 root hr 4096 Dec 5 16:03 /home/hr/

[root@tianyun ~]# touch /home/hr/file9
[root@tianyun ~]# ll /home/hr/
-rw-r--r--. 1 root hr 0 Dec 5 16:03 file9

=================================================================
小知識:注意以下目錄的正確許可權,否則會導致程式不能正常執行
[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/
=================================================================


擴充

網路卡配置檔案
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none|static|dhcp ------ 設定 ip 獲取方式
HWADDR=00:0c:29:5e:13:12
NM_CONTROLLED=no ---- 是否開啟 NetworkManager
ONBOOT=yes|no ---------- 網路卡是否啟用
IPADDR=172.16.110.1
NETMASK=255.255.255.0
GATEWAY=172.16.110.254


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2652733/,如需轉載,請註明出處,否則將追究法律責任。

相關文章