PHPコードを使用してLinuxサーバーの日付を変更できますか?
このためにApacheに必要な権限を付与する方法はありますか?
Apache root権限を付与するプロセスは何ですか?
答え1
Apacheに「root」権限を付与せずにsudoを使用してこれを実行できます。
apache <hostname> = (root) NOPASSWD: /bin/date
おおよその英語に翻訳すると次のようになります。
Apacheユーザー
/bin/date
にサーバーにパスワードを入力せずにrootとしてコマンドを実行させます<hostname>
。
sudo(またはすべてのRBACモデルで同等のモデル)を使用すると、目標を達成するために必要な権限のみを特定のユーザーに公開できます。
次に、PHPで次のコマンドでsudoを渡すだけです。
exec("sudo -su /bin/date <newdate>");
また、これがうまくいかない場合は、マニュアルを確認/etc/sudoers
してくださいrequiretty
。
Defaults requiretty
sudoをApacheで使用できるようにコメントアウトする必要があります。