ログインしていないシェルユーザー(ユーザー)としてapache
ログインするにはどうすればよいですか?
私が実行すると、sudo su - apache
次のようになります。
このアカウントは現在利用できません。
/etc/passwdには次のものがあります。
Apache:x:48:48:Apache:/var/www:/sbin/nologin
答え1
-u <username>
とオプションを使用して-s
対話型シェルを起動します。たとえば、sudo -u apache -s
次のようにテストしてみてくださいwhoami
。
からman sudo
:
-s [コマンド]
-s(シェル)オプションは、SHELL環境変数(設定されている場合)で指定されたシェルまたはパスワードデータベースで指定されたシェルを実行します。コマンドを指定すると、シェルの -c オプションで実行できるようにシェルに渡されます。 コマンドを指定しないと、対話型シェルが実行されます。
-u ユーザー
-u(ユーザー)オプションを使用すると、sudoはrootではなくユーザーとして指定されたコマンドを実行します。 ユーザー名の代わりに uid を指定するには #uid です。 uidでコマンドを実行するときは、多くのシェルには
#' be escaped with a backslash (
')が必要です。セキュリティポリシーは、uidをパスワードデータベースにリストされているものに制限できます。 sudoersポリシーは、targetpwオプションが設定されていない限り、パスワードデータベースにないuidを許可します。他のセキュリティポリシーはこれをサポートしていない可能性があります。