2016-05-04 4 views
0

私は電子メールサーバーのユーザーを作成するためにPHPスクリプトを作成しようとしていますが、PHP Intereterの権利に問題があります。私が実行しようとしている行は以下の通りです:PHPを使用したLinuxユーザーの作成

useradd -m -s /usr/sbin/nologin username 

そして次にuser:pass | chpasswdです。

答えて

2

この同じ問題が頻繁に発生することがあります。 Apacheはubuntu上でwww-data:www-dataとして動作します。 exec('useradd -m -s /usr/sbin/nologin username')を実行すると、コマンドラインのsudoerではなく、www-dataと同じアクセス許可で実行されます。

アクセス許可を調整したり、関係を修正したり、適切な権限で実行するCronタスクにオフロードする必要があります。

+1

ありがとうございました。私はそれがpriveesgesの問題だと思った。 –

1

Linuxのスクリプトは、実際にはApache自体で実行されます。 Apacheのユーザーwww-dataには、sudoを使用して特定のアプリケーションを実行する権限が与えられている必要があります。これをachiveする方法があります

、あなたがこれを行うことができますsudo visudoを使用しての/ etc/sudoersファイルとを編集する

。あなたがroot権限を使用してuseraddphpを実行したいと仮定すると、

www-data ALL=NOPASSWD: /usr/sbin/useradd, usr/bin/php

関連する問題