iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
0

前言

還記得 r/w/x 這三個權限以及他們各自對應的分數嗎?

接下來要介紹三大特殊檔案屬性 SUID/SGID/SBIT,先來看一張表吧。

權限 SUID SGID SBIT
分數 4 2 1

咦,怎麽感覺似曽相似呢?這個分數留到下一篇說明XD

我們再來看一個檔案 /usr/bin/passwd 的權限:

-rwsr-xr-x 1 root root 59K Mar 22  2019 /usr/bin/passwd

其中的 rws可能會讓你產生疑惑,因爲之前從來沒有提到 s 這個屬性的存在。

我們先來分析一下這個檔案:

  • 是由 root 建立的
  • 對一般使用者來說具有執行的權限

SUID(Set UID)

具有 suid 的程式(權限屬性標記爲 s)能讓你在執行期間暫時獲得 root (檔案建立者)的權限,然後去改掉原本對使用者來說不具r/w權限的檔案。

前提是必須擁有執行這個程式的權限

就有點像是遊戲裏吃到無敵星星(具有suid 的二進位程式)才能越級打怪(越權更改),然後怪打掉(程式執行完)之後又變成正常的一般角色(一般使用者),你很想知道無敵星星怎麽做的,但是無法理解(沒有可讀權限)。

因此執行 /etc/passwd 能讓你暫時獲得 root 權限,並更改原本不具權限的 /etc/shadow

這也就是一般使用者更改密碼的原理:

  1. 執行 passwd,暫時獲得 root 權限
  2. 輸入密碼
  3. 更改 /etc/shadow
  4. 成功更改密碼

特性

  • 僅限二進位程式(binary program)
  • 需要對此程式有執行權限
  • 只在執行期間有效
  • 執行者將擁有程式擁有者的權限。

下一篇繼續探討 SGID 和 SBIT~


上一篇
[Day 4] Linux 檔案、目錄屬性權限(2)
下一篇
[Day 6] Linux 檔案、目錄屬性權限(4)
系列文
30 天不間斷-資工隨筆大雜燴30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言