「&&」と「;」いずれもユーザーオーナーにならない
「&&」と「;」いずれもユーザーオーナーにならない。つまり hogeユーザーでtouchは実行されていない su - hoge && cd /home/hoge/work/ && touch a.txt su - hoge ; cd /home/hoge/work/ ; touch b.txt -rw-r--r-- 1 root root 0 Oct 25 16:28 a.txt -rw-r--r-- 1 root root 0 Oct 25 16:28 b.txt 以下の様にsudoを使ったコマンドではユーザーオーナーになる。 sudo -u hoge touch /home/hoge/work/c.txt -rw-r--r-- 1 root root 0 Oct 25 16:28 a.txt -rw-r--r-- 1 root root 0 Oct 25 16:28 b.txt -rw-r--r-- 1 hoge hoge 0 Oct 25 16:34 c.txt
suコマンドでsu後の権限でコマンドを実行するには「-c」オプションを使用する方法がある
su - -c "コマンド"
rootユーザーでいるときに、一般ユーザーにスイッチしてコマンドを実行する方法 – Mojolicious入門 – Perl Webフレームワーク
8.5.6 suコマンド(実行ユーザーの権限でプログラムを実行する) : JP1 Version 11 JP1/Advanced Shell
