SUID 這賬怎麼算?

2022-06-23 08:36:12 字數 1133 閱讀 7152

我們都知道linux裡面一切都是檔案。檔案擁有普通許可權rwx,特殊許可權suid,sgid,sbit等。本文分享一下suid幾個的小實驗,通過實驗我們可以更加深入的理解suid許可權,希望對於我們理解有幫助。

首先,咱們都知道linux使用者(不論是超級使用者還是普通使用者)都可以更改自己的密碼。密碼這個檔案是在/etc/shadow檔案裡面。我們檢視這個檔案的許可權就可以發現:這個檔案許可權全為空,見下圖:

換一種說法:普通使用者對/etc/shadow檔案沒有任何許可權的。那我們就有有疑問了,普通使用者都可以更改自己的密碼,但是現在看來又沒有任何許可權。那我們就要想到檔案的特殊許可權suid了。

普通使用者更改密碼是使用passwd命令完成的,我們可以通過whereis passwd檢視passwd的絕對路徑。見下圖:

仔細看就會發現/usr/bin/passwd許可權是:-rwsr-xr-x. root root 。其中s代表的意思就是suid許可權。suid可以讓執行者臨時擁有屬主的許可權。這樣我們就不難理解了,普通使用者使用psaawd命令更改密碼,由於passwd擁有suid許可權,所以linux系統臨時把passwd命令的所有者(root)身份賦給了普通使用者,從而普通使用者就擁有了root身份,所以就可以使用passwd來修改密碼(/etc/shadow檔案)。

那麼普通使用者可不可以讀取/etc/shadow檔案呢?我們看到cat檔案沒有suid許可權。見下圖:

那麼如果我們給cat命令加上suid許可權,是不是就可以看/etc/shadow檔案了呢?

果然,我們看到了加上suid許可權的cat成功看到了/etc/shadow檔案。

現在,我相信我們對於suid許可權有了進一步的認識。但是出於安全考慮,我們還是不要讓普通使用者擁有這麼大的權利。以免發生不可預知的危險。

這能否算Hibernate的Bug

遇到乙個非常奇怪的問題,感覺象hibernate的bug,即使不是bug,也是設計的有失偏頗。乙個簡單的pojo對映如下 oid為自增long型別,id為guid,表中為string型別.簡單查詢的hql為 from member as t where t.id ok,這看起來是沒有問題的,一切都很...

手機流量怎麼算

用手機登陸 qq手機流量查詢方法 以及手機流量提醒關閉方法。手機流量怎麼算 流量查詢和關閉提示方法 手機流量怎麼算?手機上網一般以流量計費而不是以時間計算費用,手機流量計算單位一次是 kb 位元組 mb 兆 和gb。1gb 1024mb 1mb 1024kb 1kb 512 漢字。一般情 格式的歌曲...

為電子版微積分算一算經濟賬

10月31日,我們向全國普通高校第四輪郵件 打包 投放行動已經勝利結束。實際情況是,美國j.keisler教授精心撰寫的紙質版微積分教材 elementary calculus 992頁,重量約為4公斤,定價100美元,其數學內容不低於同濟大學編寫的高等數學,或者相當於復旦大學編寫的數學分析教材 上...