名稱:su 使用權限:所有使用者 使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 說明:變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼 參數: -f 或 --fast 不必讀啟動檔(如 csh.cshrc 等),僅用於 csh 或 tcsh -m -p 或 --preserve-environment 執行 su 時不改變環境變數 -c command 或 --command=command 變更為帳號為 USER 的使用者並執行指令(command)後再變回原來使用者 -s shell 或 --shell=shell 指定要執行的 shell (bash csh tcsh 等),預設值為 /etc/passwd 內的該使用者(USER) shell --help 顯示說明文件 --version 顯示版本資訊 - -l 或 --login 這個參數加了之後,就好像是重新 login 為該使用者一樣,大部份環境變數(HOME SHELL USER等等)都是以該使用者(USER)為主,並且工作目錄也會改變,如果沒有指定 USER ,內定是 root USER 欲變更的使用者帳號 ARG 傳入新的 shell 參數 范例: su -c ls root 變更帳號為 root 並在執行 ls 指令後退出變回原使用者。 su root -f 變更帳號為 root 並傳入 -f 參數給新執行的 shell。 su - clsung 變更帳號為 clsung 並改變工作目錄至 clsung 的家目錄(home dir)。
名稱:sudo 使用權限:在 /etc/sudoers 中有出現的使用者 使用方式:sudo -V sudo -h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s sudo command 說明:以系統管理者的身份執行指令,也就是說,經由 sudo 所執行的指令就好像是 root 親自執行 參數: -V 顯示版本編號 -h 會顯示版本編號及指令的使用方式說明 -l 顯示出自己(執行 sudo 的使用者)的權限 -v 因為 sudo 在第一次執行時或是在 N 分鐘內沒有執行(N 預設為五)會問密碼,這個參數是重新做一次確認,如果超過 N 分鐘,也會問密碼 -k 將會強迫使用者在下一次執行 sudo 時問密碼(不論有沒有超過 N 分鐘) -b 將要執行的指令放在背景執行 -p prompt 可以更改問密碼的提示語,其中 %u 會代換為使用者的帳號名稱, %h 會顯示主機名稱 -u username/#uid 不加此參數,代表要以 root 的身份執行指令,而加了此參數,可以以 username 的身份執行指令(#uid 為該 username 的使用者號碼) -s 執行環境變數中的 SHELL 所指定的 shell ,或是 /etc/passwd 裡所指定的 shell -H 將環境變數中的 HOME (家目錄)指定為要變更身份的使用者家目錄(如不加 -u 參數就是系統管理者 root ) command 要以系統管理者身份(或以 -u 更改為其他人)執行的指令 范例: sudo -l 列出目前的權限 sudo -V 列出 sudo 的版本資訊