sudo

维基百科,自由的百科全书
跳转至: 导航搜索
sudo
Sudo on Ubuntu.png
终端中的sudo命令
開發者 Todd C. Miller
穩定版本 1.8.10p2 / 2014年3月17日;25天前 (2014-03-17)
預覽版本 1.8.10rc3 / 2014年3月6日;36天前 (2014-03-06)
操作系统 Unix-like
类型 權限授權
许可协议 ISC-style[1]
網站 www.sudo.ws

Sudosubstitute user [或 superuser] do),是一種程式,用於類Unix作業系統BSDMac OS X,以及GNU/Linux以允許使用者透過安全的方式使用特殊的權限執行程式(通常為系統超級使用者)。

原理[编辑]

在sudo於1980年前後被寫出之前[2],一般使用者管理系統的方式是利用su切換為超級使用者。但是使用su的缺點之一在於必須要先告知超級使用者的密碼。

sudo使一般使用者不需要知道超級使用者的密碼即可獲得權限。首先超級使用者將普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登記在特殊的檔案中(通常是/etc/sudoers),即完成對該使用者的授權(此時該使用者稱為「sudoer」)[3];在一般使用者需要取得特殊權限時,其可在命令前加上「sudo」,此時sudo將會詢問該使用者自己的密碼(以確認終端機前的是該使用者本人),回答後系統即會將該命令的进程以超級使用者的權限執行。之後的一段時間內(預設為5分鐘[4],可在/etc/sudoers自訂),使用sudo不需要再次輸入密碼。

由於不需要超級使用者的密碼,部分Unix系統甚至利用sudo使一般使用者取代超級使用者作為管理帳號,例如UbuntuMac OS X等。

语法[编辑]

sudo [-bhHpV][-s ][-u <用户>][指令]

sudo [-klv]

参数[编辑]

  -b  在后台执行指令。

  -h  显示帮助。

  -H  将HOME环境变量设为新身份的HOME环境变量。

  -k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。

  -l  列出目前用户可执行与无法执行的指令。

  -p  改变询问密码的提示符号。

  -s  执行指定的shell。

  -u <用户>  以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。

  -v  延长密码有效期限5分钟。

  -V  显示版本信息。

     -S   从标准输入流替代终端来获取密码

參考資訊[编辑]

  1. ^ Sudo License
  2. ^ Miller, Todd C. A Brief History of Sudo. [2008-06-20]. 
  3. ^ 在Ubuntu系统中,管理员通过执行visudo来编辑/etc/sudoers,给普通用户授予某些sudo的权力
  4. ^ 依各發行版可能有所異同,例如Ubuntu下預設為15分鐘。

外部連結[编辑]