切換到其它用戶,默認切換到root用戶。提示密碼爲將切換用戶密碼。可選參數: shell
-f 快速切換,忽略配置文件安全
-l 從新登陸 工具
-p 不更改環境變量spa
-c <命令> 切換後執行命令,並退出切換命令行
以其它用戶的身份執行命令,默認以root的身份執行。提示密碼爲當前用戶密碼. 可選參數: 進程
-s 切換爲root shelltable
-i 切換爲root shell,並初始化登錄
-u <用戶名|UID> 執行命令的身份變量
-l 顯示本身的權限配置
-d 清除密碼
-l 鎖定用戶
-e 使密碼過時,在下次登陸時更改密碼
-S 顯示密碼認證信息
-x <天數> 密碼過時,最大使用時間-n <天數> 凍結密碼,最小使用時間-s 更改登陸Shell-f 更改用戶信息
chsh [-s <Shell>] [用戶名]
默 認時,Ubuntu爲 sudo提供了一個基本的配置,該配置保存在/etc目錄下的sudoers文件中。在修改該配置文件時,務必使用visudo工具 來進行編輯,由於該工具會自動對配置語法進行嚴格檢查,若是發現錯誤,在保存退出時給出警告,並提示哪段配置出錯,從而確保該配置文件的正確性。相反, 若是使用其它的文本編輯程序的話,一旦出錯,就會給系統帶來嚴重的後果。
2. 非root用戶身份運行命令
要想以非root用戶身份來運行命令,必須使用-u選項來指定想要做爲的用戶;不然的話,sudo會默認爲root用戶,好比要想以fred身份來 執行ls命令,就應該這樣:$ sudo -u fred ls /home/fred
%accounts ALL=(root) /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod
需 要注意的是,當咱們爲用戶定義能夠運行的命令時,必須使用完整的命令路徑。這樣作是徹底出於安全的考慮,若是咱們給出的命令只是簡單的userad而非 /usr/sbin/useradd,那麼用戶有可能建立一個他本身的腳本,也叫作useradd,而後放在它的本地路徑中,如此一來他就可以經過這個名爲 useradd的本地腳本,做爲root來執行任何他想要的命令了。這是至關危險的!
sudo命令的另外一個便捷的功能,是它可以指出哪些命令在執行時不須要輸入密碼。這頗有用,尤爲是在非交互式腳本中以超級用戶的身份來運行某些命令的時候。例如,想要讓用戶做爲超級用戶沒必要輸入密碼就能執 行kill命令,以便用戶能馬上殺死一個失控的進程。爲此,在命令行前邊加上NOPASSWD:屬性便可。例如,能夠在/etc/sudoers文件中加 上下面一行,從而讓jorge得到這種權力:
jorge ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall
經過以上介紹,咱們發現sudo的確很好用,可是若是您早就習慣了在root下工做,想回味一下過去的感受該怎麼辦呢?很簡單,只要爲root設置 一個root密碼就好了:
$ sudo passwd root