Skip to main content

sudo

常用指令
# 以用戶 john 執行 SHELL
sudo -u john bash -c "whoami"

# 以用戶 john 開啟 vnc 服務,-H 可保持用戶的 HOME;否則會是 /root。
sudo -H -u john bash -c "vncserver" 

# 以用戶 devrpt 執行 db2_get_tbs_usage.sh -d devrptdb
sudo -u devrpt -H -s /usr/local/bin/db2_get_tbs_usage.sh -d devrptdb
# 或
sudo -u devrpt -H bash -c "/usr/local/bin/db2_get_tbs_usage.sh -d devrptdb" 
sudoers 管理
alang  ALL=(devrpt) /bin/bash,/usr/local/bin/db2_get_tbs_usage.sh 

內容格式: 

<使用者帳號> <登入者的來源主機名稱>=<可切換的身份> <可下達的指令>

如果要執行 SHELL Scripts,除了 scripts 路徑以外,還要加上 /bin/bash。

案例: 限制某帳號只能切換至特定的另一個帳號,其餘帳號不允許切換。

developer-name  ALL=(ALL)       NOPASSWD:/usr/bin/sudo,/bin/su - app-user