nologinユーザーとしてコマンドを実行する


43

この記事を使用してsuPHPの「仮想」ユーザーがログインできないように、最近サーバーをセットアップしました

私の問題は今、私が実行したときに前にということでrake、私のRuby on Railsのアプリケーションがサーバー上で実行するためのコマンドを、私は使用suに行くことをwww-data理由NOLOGINのもう明らかに私はそれを行うことはできません-そしてそこからコマンドを実行します。

rootユーザーとして、nologinであっても他のユーザーとしてコマンドを実行するにはどうすればよいですか?


1つの方法は、そのユーザーのシェルを起動することです(シェルを明示的に指定します):sudo -u www-data bashコマンドを実行してログアウトします
cyberx86

@ cyberx86あなたの解決策はうまくいきますが、私への答えとしてそれを提出してもらえますか?

回答:


50

1つの方法は、そのユーザーのシェルを起動することです(シェルを明示的に指定します)。

sudo -u www-data bash 

これは、指定されたユーザーとして(bash)シェルを起動します。その後、コマンドを実行してログアウトします(以前のシェルに戻ります)。


39

rootとして使用できますsu -s /bin/sh $user —この-sオプションは、ユーザー用に構成されたシェルをオーバーライドします。


1
これは私にとって常にエラーのようです。

私にとって素晴らしい作品であり、問​​題はありませんでした。bash構文を使用してスクリプトを実行する場合、/ bin / shではなく/ bin / bashが必要
ekerner
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.