次のように実行するときユーザー1同じディレクトリ(/ホーム/ユーザー1/WWW)
[user1@server1 WWW (master)]# touch c
ディレクトリにファイルcを作成します。
[root@server1 WWW (master) ACCEPTATIE SERVER]# su - user1 -c "touch c"
エラーが発生しました
タッチ:「c」をタッチできません:権限が拒否されました。
なぜですか?
ベストアンサー1
これにより、su - username
そのユーザーでフルログインが実行されます。つまり、そのユーザーのホームディレクトリに移動します。したがって、この方法で実行すると、touch c
ユーザーのホームディレクトリからコマンドを実行しようとします。
-
代わりにコマンドラインから削除してください。
su user1 -c "touch c"
touch c
これは次のように実行されますuser1
現在の目次。
推測:
su -
他のユーザーが所有する名前のファイルがホームディレクトリにすでに存在するため、元のコマンドは失敗しました。c
user1