sudoする時にコマンドを実行するユーザの環境変数を読む方法
例えば、ジョブスケジューラではrootでの実行しかサポートされていないが、ある特定のユーザでの実行が必要であり、かつそのユーザの環境変数を読まなくてはいけない場合。
そんな場合にはsudo -iが重宝します。
sudo -iを使用しない場合
[vagrant@localhost ~]$ grep VAL .bash_profile export VAL=/var/tmp [vagrant@localhost ~]$ cat list.sh #/usr/local/bin/bash echo $VAL [vagrant@localhost ~]$ ./list.sh /var/tmp [vagrant@localhost ~]$ su - パスワード: [root@localhost ~]# sudo -u vagrant /home/vagrant/list.sh [root@localhost ~]#
単純にsudo -uした場合にはコマンド実行ユーザの環境変数は読まない。
sudo -iを使用した場合
[vagrant@localhost ~]$ grep VAL .bash_profile export VAL=/var/tmp [vagrant@localhost ~]$ cat list.sh #/usr/local/bin/bash echo $VAL [vagrant@localhost ~]$ ./list.sh /var/tmp [vagrant@localhost ~]$ su - パスワード: [root@localhost ~]# sudo -u vagrant -i /home/vagrant/list.sh /var/tmp
sudo -uに-iオプションを付けることで、環境変数を読み込むことが出来る。
【作業履歴】さくらVPSでの初期設定
さて、実は以前もやりましたが、今回またVPS使って色々と勉強したいなあと思い始めたのでさくらVPSを再度契約しました。
契約手順や標準OSのインストールについては割愛。(ボタンポチポチするだけだし…)
とりあえず、昨日行った設定を軽く。
まずはコントロールパネルからサーバを起動します。
上の図では既に起動している状態ですが気にせずに。
続いてコンソールからVNCコンソール(Java Applet版)を選択。
別にHTML5版を選択してもいいんですが、ディスプレイの解像度によっては画面が見にくいのでJava Applet版を選択しています。この辺は環境にあわせて。
しばらくすると下記のウィンドウがポップアップされてきます。
「login:」にはroot、「Password:」には設定したパスワードを入れます。
後は設定作業ですね。
基本的な設定については下記を参照ください。
上記に合わせて、今回はいくつか追加で手順を実施しています。
実施したのは下記です。
設定内容はまた次回。