Ubuntu > sudoについて

更新日 2021-01-13
広告
sudoコマンドを使うと、root権限でコマンドを実行できたりします。

visudoによるroot権限の設定

まず、sudoを使うための設定が必要です。 visudoを実行すると、設定ファイルを編集できます。
$ visudo
以下の一行を追加すると、ユーザtomは全ての状況でsudoコマンドを使えるようになります。
tom      ALL=(ALL) ALL

ssh経由でsudoを実行

ssh を使用し、リモートから特定のコマンドをバックグランド実行(sshの-fオプション指定)しようとして、かつ、そのコマンドがsudoから始まる場合は、以下のように「パスワードなしのsudo実行を許可」すれば上手くいきます。
tom ALL=(ALL) NOPASSWD: ALL
例えば、以下のようなコマンドを実行できるようになります。
$ ssh -f server.sample.com sudo apt-get update

環境変数の引継ぎ

sudoでコマンドを実行すると、rootユーザなどに遷移してコマンドを実行するので、元々のユーザの環境変数ではなく、sudoユーザの環境変数が使われます。 例えば、rootユーザの環境変数が使われたりします。 よくあるのは、プロキシの設定が変わってしまい、インターネットにアクセスできなくなるといった状況です。 sudoを使った場合に、元のユーザの環境変数を引き継ぎたい場合は、-E オプションを使えばよいです。 -Eオプションを使えばよい。
$ sudo -E npm install -g bower
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system