SUID的應(yīng)用場景和簡單見解

前言

在看到apue的進(jìn)程的時(shí)候,我發(fā)現(xiàn)一個(gè)叫suid的概念桌粉,也就是"設(shè)置用戶ID"蒸绩。一開始對這個(gè)概念十分陌生,單憑從字面來看確實(shí)不容易理解铃肯,后面通過查閱資料并且了解到它的一些應(yīng)用場景之后才逐步了解患亿,本文就是簡單記錄一下我對suid的個(gè)人見解。

其實(shí)要了解一個(gè)抽象東西最好的方法就是:找到它的應(yīng)用場景押逼,并且獲取一個(gè)應(yīng)用的例子步藕,通過例子來了解它。那么suid的應(yīng)用例子是什么呢挑格?最典型的就是passwd了咙冗。

passwd是如何運(yùn)用suid的

相信有過一定開發(fā)或者運(yùn)維經(jīng)驗(yàn)的都知道,passwd就是一個(gè)可以用于修改用戶密碼的linux工具漂彤,如果再深入了解一點(diǎn)雾消,就會知道這個(gè)工具其實(shí)是修改/etc/passwd這個(gè)文件的灾搏。讓我們先簡單看一看/etc/passwd這個(gè)文件:

-rw-r--r-- 1 root root 1537 Jan 12 16:18 /etc/passwd

這個(gè)文件存儲的就是linux所有用戶的一些密碼信息,出于安全的要求仪或,文件的所屬用戶和所屬組均是root确镊,并且只能讓root去修改文件。

然而范删,作為一個(gè)普通用戶蕾域,我就想改我自己的密碼,難道還得取得root權(quán)限或者說讓root管理員給我們?nèi)バ薷拿艽a到旦?這很明顯是不人性化的旨巷。

當(dāng)然,你可以想添忘,那既然這樣也可以把其他用戶設(shè)置成可寫嘛采呐。那么這就問題大了,如果這個(gè)用戶亂改怎么辦呢搁骑?因此最好的解決辦法就是我們開發(fā)一個(gè)程序斧吐,這個(gè)程序去驗(yàn)證執(zhí)行用戶的修改密碼操作是否合法,如果合法則把它的新密碼寫到/etc/passwd這個(gè)文件的對應(yīng)用戶中去仲器。

但是我們又忽略了這么一點(diǎn)煤率,作為一個(gè)普通用戶,我們確實(shí)可以執(zhí)行修改密碼程序乏冀,但是我們執(zhí)行時(shí)候得實(shí)際用戶id依然不是root蝶糯,因此即使我們的操作合法,也不能讓這個(gè)程序去修改/etc/passwd文件辆沦,因?yàn)檫@個(gè)文件僅僅運(yùn)行root管理員去修改昼捍。

passwd很好的告訴我們應(yīng)該怎么解決這個(gè)問題,且先看看passwd這個(gè)程序的信息:

-rwsr-xr-x 1 root root 47032 May 16  2017 /usr/bin/passwd*

我們知道第三個(gè)位置是執(zhí)行位肢扯,但很奇怪的是妒茬,這次執(zhí)行位不是常規(guī)的"x"而是"s"。其實(shí)這個(gè)"s"就是表示這個(gè)passwd程序具有suid的功能鹃彻。因此郊闯,當(dāng)普通用戶執(zhí)行這個(gè)passwd程序的時(shí)候,它就具備了root的權(quán)限蛛株,當(dāng)具備了root權(quán)限的時(shí)候团赁,當(dāng)然也能去修改/etc/passwd文件了,這么一來谨履,我們既讓普通用戶在非root權(quán)限下?lián)碛辛诵薷淖约好艽a的能力欢摄,也能最大限度的保證了整個(gè)系統(tǒng)的安全,可以說是一舉兩得的笋粟。

總結(jié)

最后簡單總結(jié)一句話:suid就是允許用戶在執(zhí)行程序的時(shí)候擁有這個(gè)程序?qū)僦鞯臋?quán)限的一個(gè)機(jī)制怀挠,也可以理解為執(zhí)行程序的時(shí)候被屬主"靈魂上身"析蝴,但執(zhí)行結(jié)束后又會"打回原形"了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绿淋,一起剝皮案震驚了整個(gè)濱河市闷畸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吞滞,老刑警劉巖佑菩,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異裁赠,居然都是意外死亡殿漠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門佩捞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绞幌,“玉大人,你說我怎么就攤上這事一忱×” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵帘营,是天一觀的道長菇夸。 經(jīng)常有香客問我,道長仪吧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任鞠眉,我火速辦了婚禮薯鼠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘械蹋。我一直安慰自己出皇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布哗戈。 她就那樣靜靜地躺著郊艘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪唯咬。 梳的紋絲不亂的頭發(fā)上纱注,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機(jī)與錄音胆胰,去河邊找鬼狞贱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蜀涨,可吹牛的內(nèi)容都是我干的瞎嬉。 我是一名探鬼主播蝎毡,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼氧枣!你這毒婦竟也來了沐兵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤便监,失蹤者是張志新(化名)和其女友劉穎扎谎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茬贵,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡簿透,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了解藻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片老充。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖螟左,靈堂內(nèi)的尸體忽然破棺而出啡浊,到底是詐尸還是另有隱情,我是刑警寧澤胶背,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布巷嚣,位于F島的核電站,受9級特大地震影響钳吟,放射性物質(zhì)發(fā)生泄漏廷粒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一红且、第九天 我趴在偏房一處隱蔽的房頂上張望坝茎。 院中可真熱鬧,春花似錦暇番、人聲如沸嗤放。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽次酌。三九已至,卻和暖如春舆乔,著一層夾襖步出監(jiān)牢的瞬間岳服,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工希俩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留派阱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓斜纪,卻偏偏與公主長得像贫母,于是被迫代替她去往敵國和親文兑。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351