linux中su與sudo與su-的理解

對于 su , su - , sudo的理解

su 與 su - 的相同點(diǎn)與區(qū)別

su全稱是switch user藕咏,意思就是切換用戶的功能.
當(dāng)我們需要使用更高的權(quán)限去執(zhí)行命令時(shí)笋熬,則需要先獲取root權(quán)限凡橱。因此su 思币、su - 這樣的命令也就誕生了。

  1. 相同點(diǎn): 默認(rèn)情況下 su 與 su - 都是切換成root用戶 (有一個(gè)關(guān)于root密碼的知識點(diǎn) 下面將講解)
nieyh@nieyh-QTJ5:~$ su
密碼:
root@nieyh-QTJ5:/home/nieyh#
nieyh@nieyh-QTJ5:~$ su -
密碼:
root@nieyh-QTJ5:/home/nieyh#
  1. 不同點(diǎn):su 切換用戶卻不切換工作環(huán)境 , su - 同是切換用戶與工作環(huán)境, 如果Shell環(huán)境不一樣將會出現(xiàn)下面的無法找到對應(yīng)命令的問題。
nieyh@nieyh-QTJ5:~$ su
密碼:
root@nieyh-QTJ5:/home/nieyh# pwd
/home/nieyh
root@nieyh-QTJ5:/home/nieyh# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
root@nieyh-QTJ5:/home/nieyh# adb
程序 'adb' 已包含在下列軟件包中:
 * adb
 * android-tools-adb
請嘗試:apt install <選定的軟件包>
nieyh@nieyh-QTJ5:~$ su - root
密碼:
root@nieyh-QTJ5:~# pwd
/root
root@nieyh-QTJ5:~# echo $PATH
/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/nieyh/Android/Sdk/platform-tools/:/home/nieyh/Android/Sdk/tools/
root@nieyh-QTJ5:~# adb
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
Installed as /home/nieyh/Android/Sdk/platform-tools/adb
global options:
 -a         listen on all network interfaces, not just localhost
 -d         use USB device (error if multiple devices connected)
 -e         use TCP/IP device (error if multiple TCP/IP devices available)
 -s SERIAL
     use device with given serial number (overrides $ANDROID_SERIAL)
 -p PRODUCT
     name or path ('angler'/'out/target/product/angler');
     default $ANDROID_PRODUCT_OUT
 -H         name of adb server host [default=localhost]
 -P         port of adb server [default=5037]
 -L SOCKET  listen on given socket for adb server [default=tcp:localhost:5037]

su的缺點(diǎn)造就了sudo的誕生

由于用戶通過 su root 命令直接獲取root權(quán)限,從而造成用戶的權(quán)限太大静汤,也就可能給系統(tǒng)造成危險(xiǎn)。
為了既保證系統(tǒng)的安全又可以執(zhí)行相應(yīng)命令居凶,sudo 也就以此誕生虫给。

sudo 通過配置文件來限制用戶的權(quán)限 (以下就是 /etc/sudoers 文件)

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

可以看到上面的配置 %sudo ALL=(ALL:ALL) ALL, sudo 可以執(zhí)行任何命令,所以下面的命令也沒有報(bào)錯(cuò)侠碧。

nieyh@nieyh-QTJ5:~$ sudo apt-get clean
[sudo] nieyh 的密碼:
nieyh@nieyh-QTJ5:~$

當(dāng)我將配置改成這樣子,

# Allow members of group sudo to execute any command
%sudo   ALL=/sbin/mount
#ALL=(ALL:ALL) ALL

就會出現(xiàn)下面的錯(cuò)誤提示

nieyh@nieyh-QTJ5:~$ sudo apt-get
[sudo] nieyh 的密碼:
對不起抹估,用戶 nieyh 無權(quán)以 root 的身份在 nieyh-QTJ5 上執(zhí)行 /usr/bin/apt-get。

所以通過 /etc/sudoers 配置文件來限制用戶的權(quán)限使用弄兜,可以達(dá)到安全可控的目的棋蚌。(更多的文件配置方法請自行百度或者等待作者更新)

總結(jié)

一般的使用情況下,最好使用sudo來執(zhí)行命令挨队,避免自己誤操作破壞了系統(tǒng)。
如果是存在多用戶使用同一個(gè)系統(tǒng)的話蒿往,主用戶可以使用root權(quán)限來配置 /etc/sudoers 文件來指派不同用戶不同的權(quán)限盛垦,從而保證系統(tǒng)的安全。

額外的補(bǔ)充下root密碼的問題

如果用戶忘記了root密碼, 并且sudo能獲取到最高權(quán)限瓤漏,則可以通過一下命令來修改密碼 (如果沒有root權(quán)限的話, 只能通過操作系統(tǒng)來清空密碼)

root@nieyh-QTJ5:~# sudo passwd
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼

此為作者的理解腾夯,如有不對的地方請指正颊埃。
如果覺得喜歡本片篇文章的話,↓↓↓↓↓↓↓請點(diǎn)擊下面的喜歡蝶俱,或者給予打賞(這樣的話我會更加努力去寫更好的文章的)↓↓↓↓↓↓↓

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末班利,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子榨呆,更是在濱河造成了極大的恐慌罗标,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件积蜻,死亡現(xiàn)場離奇詭異闯割,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)竿拆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門宙拉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丙笋,你說我怎么就攤上這事谢澈。” “怎么了御板?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵锥忿,是天一觀的道長。 經(jīng)常有香客問我稳吮,道長缎谷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任灶似,我火速辦了婚禮列林,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘酪惭。我一直安慰自己希痴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布春感。 她就那樣靜靜地躺著砌创,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鲫懒。 梳的紋絲不亂的頭發(fā)上嫩实,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機(jī)與錄音窥岩,去河邊找鬼甲献。 笑死,一個(gè)胖子當(dāng)著我的面吹牛颂翼,可吹牛的內(nèi)容都是我干的晃洒。 我是一名探鬼主播慨灭,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼球及!你這毒婦竟也來了氧骤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤吃引,失蹤者是張志新(化名)和其女友劉穎筹陵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體际歼,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惶翻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹅心。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吕粗。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖旭愧,靈堂內(nèi)的尸體忽然破棺而出颅筋,到底是詐尸還是另有隱情,我是刑警寧澤输枯,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布议泵,位于F島的核電站,受9級特大地震影響桃熄,放射性物質(zhì)發(fā)生泄漏先口。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一瞳收、第九天 我趴在偏房一處隱蔽的房頂上張望碉京。 院中可真熱鬧,春花似錦螟深、人聲如沸谐宙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凡蜻。三九已至,卻和暖如春垢箕,著一層夾襖步出監(jiān)牢的瞬間划栓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工条获, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忠荞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像钻洒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子锄开,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容