ワンライナーなコマンドがなく、対話式でパスワードを入力する事でしか作成ができない。Apacheのphpから実行する場合はパーミッションエラーとなる。[/code]sudoを導入まずはApacheユーザーがroot権限でsmbpasswdコマンドを実行できるようにsudoを導入する。※今回は完全にローカルなサーバーなのでこのように設定していますがセキュリティ的には非常にまずいので特定のスクリプトのみにsudo権限を与える等、慎重に行って下さい。上記作業でdaemonユーザーはコマンド前にsudoを付ける事でroot権限で実行する事が可能になりました。hogehoge」といったコマンドをexecするだけでroot権限で実行が可能となりました。password:」と聞かれて止まってしまいます。そこで対話式をサポートするexpectというプログラムを導入します。[/code]expectはシェルスクリプトから呼び出し可能なので以下のようなシェルスクリプトを作成し、ワンライナーでsambaユーザーが作成できるようにします。[/code]これで以下のように実行すればsambaユーザーが作成できるようになりました。以下の例ではhogehogeユーザーがパスワード123123として作成されます。[/code]Apacheのphpから実行するとうまくいかない上記のシェルスクリプトをApacheのphpから実行してみます。password:」部分で止まっている事がわかりました。すごく頭を悩ませましたが、expectの文を以下のように編集するとうまくいくようになりました。いう文章で、どうやらApacheから実行した場合は上記のように適当なexpect文を入れておかなければ最後の行で止まってしまうようでした。この原因は未だによくわかってないですが、上記のようにする事で動かす事ができるようになりました。se...最近インフラの話題が熱いです。.スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。