Linuxシステムの切り替えユーザーコマンドの宝典
セッションPAMフックのみで実行され、パスワードのヒントはありません。root以外のユーザーを使用し、ユーザーにuser IDを設定する権限がない場合、このコマンドはプログラムにsetuidがないために失敗します。runuserは認証とアカウントPAMフックを実行しないため、suよりも下位になります。
構文:
コードのコピーrunuser -l userNameHere -c 'command'
runuser -l userNameHere -c '/path/to/command arg1 arg2'
コードのコピー
# runuser -l oracle -c 'ulimit -SHa'
コードのコピー
# runuser -l nginx -c 'ulimit -SHa'
コードのコピー
# runuser -l lighttpd -c 'ulimit -SHa'
コードのコピー
# ls -l /nfs/wwwroot/cyberciti.biz/http
コードのコピー
# cd /nfs/wwwroot/cyberciti.biz/http
コードのコピー
-bash: cd: /nfs/wwwroot/cyberciti.biz/http/: Permission denied
コードのコピー
# runuser -l apache -c 'ls -l /nfs/wwwroot/cyberciti.biz/http/'
コードのコピー
# runuser -l apache -c 'cd /nfs/wwwroot/cyberciti.biz/http/; vi index.php'
使用可能なオプション:
-l:shellをログインshellにし、runuser-l PAMファイルでデフォルトの -g:主なグループを指定-G追加グループ
-c:shellに渡す単一のコマンド
--session-command=COMMAND:-cを使用して単一のコマンドチャネルshellを渡し、新しいセッションを作成しない
-m:環境変数はリセットされません。
#2:suコマンド
コードのコピー
su -
su - username
コードのコピーvivek@wks01:~$ su -
コードのコピー
vivek@wks01:~$ su - root
コードのコピー
root@wks01:/root# logout
vivek@wks01:~$
whoamiまたは
id
rootアカウントでコマンドを実行する
構文は次のとおりです。
コードのコピー
su - root -c "command"コードのコピー
su - -c "command arg1"コードのコピー
su - root -c "ls -l /root"
suコマンドを使用して他のユーザーにコマンドを実行させる
次のコマンドはoracleのアカウントに切り替え、制限リストを表示します。
コードのコピー