スーパーユーザーでコマンドを実行する方法

スーパーユーザーでコマンドを実行する方法

スーパーユーザーとしてログインしてプログラムを実行することができますが、今スーパーユーザーとしてログインしなくても状態を確認したいと思います。

例:

dev01:~$ sudo su
dev01# forever list
info:    Forever processes running
<some more output>
dev01# exit
dev01:~$ sudo forever list
sudo: forever: command not found 

スーパーユーザーとしてログインせずにプログラムのステータスを表示するにはどうすればよいですか?

suパスワードはありませんが、sudoerです。

答え1

sudoあなたのルートを無視するように設定されている可能性があり、$PATHそのforeverルートにはありません。いくつかの解決策があります:

  1. sudoコマンドに完全なパスを指定します: (sudo /usr/local/sbin/foreverまたは任意のパス).

  2. sudo正しいディレクトリを含むように設定を変更してください(またはシステム管理者に変更を依頼してください)。自分で変更すると問題はありませんが、設定に違反するとアカウントがロックされる可能性があることvisudoに注意してください。sudo

  3. ルートシェルを使用sudo -sまたは取得し、必要に応じて設定します。最後にコマンドを実行します。これは実行中のコマンドのロギングを中断するため、実際には優先されません。sudo -i$PATHsudo

設定によっては、上記の操作の一部が許可されていない場合がありますsudo。これにより、「システム管理者にトラブルシューティングを依頼してください」というメッセージが残ります。

関連情報