|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 1637|回復: 3
打印 上一主題 下一主題

sudo 和 su 分別有什麼不同

[複製鏈接]

1萬

主題

3748

好友

7萬

積分

管理員

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    開心
    昨天 02:10
  • 簽到天數: 3559 天

    [LV.Master]伴壇終老

    推廣值
    355
    貢獻值
    65195
    金錢
    12088
    威望
    72259
    主題
    11788

    文章勇士 回文勇士 文明人 附件高人 推廣 文章達人 中學生 高中生 大學生 教授 實習版主 簽到勳章 簽到達人 男生勳章 管理員 附件達人 伴壇終老

    樓主
    發表於 2011-6-10 13:44:34
    簡介

    有時會需要特殊的權限來完成特殊的事,通常的對應是,用自己的帳號登入,但需要切換root的權限來執行某些指令,如dpkg,apt-get等。這時候,要考量的是:可不可以切,怎麼切,如何切。

    兩個方式: sudo和su。ubuntu常用sudo,因其預設root是無法登入,而debian,fedora則較常用su。

    su
    su: switch user。切換成其他使用者,預設是root,不同的option有不同的結果,見下述。因其切換到其他使用者,所以需其密碼。好像還蠻合理,但若是切換到root,那不就要root的密碼! 這顯然不太妙。因此多人使用的系統,就會難以管理,建議使用sudo來解決這個問題。這是其一,有些user是屬於nologin的,也就無法切換,此其二。

    su的用法如下:
    su -: 這是指登入到root,需打root的密碼,屬於login shell,因此是有login的重作,有沒有login會有些影響,如環境變數。
    su -l: 也是有login,但是登入到另一個使用者

    user@user-ubuntu:~$ su -l smbguest
    Password:
    smbguest@user-ubuntu:~$ exit
    logout
    user@user-ubuntu:~$ su smbguest
    Password:
    smbguest@user-ubuntu:/home/user$ exit
    exit
    一個是logout,一個是exit,可看出其登入與否,有興趣的話,可以比較一下環境變數的差異。

    sudo
    sudo的用途有些不同,是用其他身份來執行命令,而非切換,而且是使用自己的密碼,這也是su與sudo的主要差異。
    sudo用法如下:
    sudo -u: 使用某使用者的身份來做事
    user@user-ubuntu:~$ sudo -u smbguest mkdir /tmp/guest-dir
    user@user-ubuntu:~$ ls -al /tmp/ | grep guest-dir
    drwxr-xr-x  2 smbguest smbguest    4096 2009-06-24 16:20 guest-dir

    系統預設是只有root能執行sudo,但也可以透過修改設定檔 (/etc/soduers)來做些改變。
    這個檔有專用工具visudo,會檢查語法是否有誤,但硬要用vi編輯也是可以,用wq!。

    該檔案內容為:
    # User privilege specification
    帳號                來源主機        可切換為            可執行
    root                ALL           =     (ALL)                 ALL
    這個意思是root這個帳號,不管是從哪裡連進來,都可以切換成系統上所有的使用者,且可執行所有命令。因此也可把自己的帳號加進去,就變成
    root ALL=(ALL) ALL
    user ALL=(ALL) ALL

    帳號的部份也可以是group,用%識別,如%group1。
    懶的打密碼,也可以這樣寫
    user ALL=NOPASSWD: ALL
    但每次要切成root時,都要加個一sudo,很煩,常常容易忘記。可以把sudo 與 su組合,變成sudo su,直接切換為root,並使用自己的密碼,當然前提是/etc/sudoers要讓自己有這個權限啦!
    最後,要記得login shell的問題,sudo su與sudo su -是不同的:
    user@user-ubuntu:~$ sudo su
    root@user-ubuntu:/home/user# exit
    exit
    user@user-ubuntu:~$ sudo su -
    root@user-ubuntu:~# exit
    logout
    最最後,sudo的expire time是5分鐘。5分鐘內,使用sudo只在第一次需要敲密碼。

    自我免責聲明:
    ※此貼僅供網路線路測試及學術交流 不得燒錄販售,請勿作商業上之用途!檔案下載測試完檔案,請立即刪除
    ※請勿公開販賣.以免以身觸法.如作為其它用途,皆與本論壇及作者無關!!
    ※若滿意者請購買正版並尊重智慧財產權
    ※如果此帖發表之內容涉及侵權,而損及您的利益,請立即通知版我刪除文章

    28

    主題

    12

    好友

    1124

    積分

    比思貴賓

    Rank: 10Rank: 10Rank: 10

  • TA的每日心情

    2023-12-5 21:54
  • 簽到天數: 262 天

    [LV.8]以壇為家I

    推廣值
    0
    貢獻值
    455
    金錢
    4065
    威望
    1124
    主題
    28

    回文勇士 文明人 附件高人 附件達人 中學生 高中生 永久貴賓 簽到勳章 簽到達人 男生勳章

    沙發
    發表於 2011-7-1 17:57:58
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-11-17 03:13 , Processed in 0.990616 second(s), 25 queries , Gzip On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部