wwwアカウントで実行したいPHPスクリプトがあります。
このアカウントにはシェルとしてnologinがなく、Apacheで使用されます。
ルートとして「su -l www -s /bin/ksh」を実行すると、次のメッセージが表示されます。
このアカウントは現在利用できません。
私はOpenBSD 5.2を使用しています。
答え1
www アカウントは通常 Web サーバープロセスで使用され、セキュリティ上の理由から直接シェルログインは禁止されます。ハッカーがWebサイトのサーバーで高い権限を取得しようとするのを防ぐには、この方法を維持する必要があります。早く走る
grep www /etc/passwd
そして、アカウントに割り当てられたシェルを記録しておきます。 /bin/nologin または同様のものでなければなりません。このサーバーへのルートアクセス権がある場合は変更できますが、そうしないことをお勧めします。何かをテストしている場合は、すばやく実行して再インポートしてください。
もちろん、このアドバイスは、このサーバーで公開Webサイトを運営している場合でもまだ有効です。
答え2
簡単なオプションは、ログインシェルアクションを使用して、お気に入りのシェルをユーザーとして実行することです。
sudo -u www bash -l
これの欠点:
- 実際のログインとは少し異なります。
- かかるSudo〜のように数ターゲットユーザーシェルを使用して選択したシェルを実行します。