設定使用者ID和設定組ID

2021-09-22 19:06:13 字數 853 閱讀 8893

與乙個程序關聯的id有6個或更多,如下圖所示:

與每個程序相關聯的使用者id和組id

實際使用者id

實際組id

我們實際是誰

有效使用者id

有效組id

附加組id

用於檔案訪問許可權檢索

儲存的設定使用者id

儲存的設定組id

由exec函式儲存

通常,有效使用者id等於實際使用者id,有效組id等於實際組id。

每個檔案都有乙個所有者和組所有者,所有者由stat結構中的st_uid成員表示,組所有者則由st_gid成員表示。

當執行乙個程式檔案時,程序的有效使用者id通常就是實際使用者id,有效組id通常是實際組id。但是可以在檔案模式字中設定乙個特殊標誌,其含義是「當執行此檔案時,將程序的有效使用者id設定為檔案所有者的使用者id(st_uid)」。與此類似,在檔案模式字中可以設定另一位,它使得將執行此檔案的程序的有效組id設定為檔案的組所有者(st_gid)。在檔案模式字中的這兩位被稱為設定使用者id(set_user-id)位和設定組id(set-group-id)位。

例如,若檔案所有者是超級使用者,而且設定了該檔案的設定使用者id位,然後當該程式由乙個程序執行時,則該程序具有超級使用者特權。不管執行此檔案的程序的實際使用者id是什麼,都進行這樣的處理。例如,unix程式password允許任一使用者改變其口令,該程式是乙個設定使用者id程式。因為該程式應能將使用者的新口令寫入口令檔案中,而只有超級使用者才具有對該檔案的寫許可權,所以需要使用設定使用者id特徵。因為執行設定使用者id程式的程序通常得到額外的許可權,所以編寫這樣程式時要特別謹慎。

再返回到stat函式,設定使用者id位及設定組id位都包含在st_mode值中。這兩位可用常量s_isuid和s_isgid測試。

設定使用者ID和設定組ID

與乙個程序關聯的id有6個或更多,如下圖所示 與每個程序相關聯的使用者id和組id 實際使用者id 實際組id 我們實際是誰 有效使用者id 有效組id 附加組id 用於檔案訪問許可權檢索 儲存的設定使用者id 儲存的設定組id 由exec函式儲存 通常,有效使用者id等於實際使用者id,有效組id...

設定使用者ID和設定組ID

1.實際使用者id 實際組id 2.有效使用者id 有效組id 附屬組id 3.儲存的使用者id 儲存的組id第一組標識我們實際的id,比如登入shell使用的id 第二組是程序執行時用於判斷檔案訪問許可權的id,這個是跟訪問許可權息息相關的 第三組是當我們的id發生變化時儲存的值,方便我們找回。正...

設定使用者ID與設定使用者組ID

當執行乙個程式檔案時,程序的有效使用者id通常就是實際使用者id,有效組id通常是實際組id。檔案的 設定使用者id 位的作用是 若為程式檔案設定了 設定使用者id 位,那麼當執行此檔案時,將程序的有效使用者id設定為檔案所有者的使用者id 檔案的 設定組id 位的作用是 若為程式檔案設定了 設定組...