Web サイトでユーザーの UNIX アカウントを作成しようとしていますが、php でアカウントを作成したりログインしたりする方法がわかりません。 shell_exec() コマンドを試しましたが、与える方法がわかりません。それはパスワードです。ありがとう。
2 に答える
HTTP リクエストを介して PHP がユーザーを作成できるようにサーバーを強制することは確かに可能ですが、これはセキュリティ上の悪夢です。これを機能させるには、最新の Linux および Unix システムに組み込まれている多くのセキュリティ機能を無効にする必要があります。
代わりに、頻繁に cron ジョブを実行してデータベース内の新しいユーザーを探し、シェル スクリプトを介してそのユーザーの UNIX アカウントを作成することで、おそらくこれを処理します。
スクリプトは次のようになります。
- 過去数分間に作成されたユーザーについてデータベースにクエリを実行する
- 実行
useradd
してアカウントを作成する - パスワード生成ユーティリティを実行して、パスワードを設定します。
注意: これに関連して多くのメンテナンスが行われます。これは、潜在的なセキュリティとメンテナンスへの影響を理解し、ユーザーを本当に信頼している場合にのみ行ってください。
未使用のシェル アカウントが山積みになっている可能性があります。未使用のものを定期的にクリーンアップ/削除するスクリプトが必要です。Unix アカウントのパスワード有効期限ポリシーを維持する必要があります。これらのシェル アカウントがコマンドのサブセットに対して持っていたアクセスをロックダウンして、Web サイトに登録されている誰かがシェル アカウントを使用してサーバーをスパムボットに変えるのを防ぐことができます。私は何度も行くことができました...
おそらく、php を使用した ssh 接続が必要です。ただし、権限には注意が必要です