Apache VirtualHostを自動的に生成するようにユーザーファイルの権限を変更します。

Apache VirtualHostを自動的に生成するようにユーザーファイルの権限を変更します。

私は現在、約3人のルートではなくユーザーが作成された小さなUbuntu Server 12.04システム(テスト環境)を持っています。各ユーザーは自分のディレクトリの下に独自のpublic_htmlディレクトリを持っているhomeため、名前付き仮想ホストに複数のアプリケーションを展開できます。各ユーザーはApachewww-dataグループに属し、次のように設定されます。

sudo usermod -a -G www-data [username]
sudo chown -R [username]:www-data /home/[username]/public_html
sudo chmod 2750 /home/[username]/public_html

これで、rootユーザーとしてユーザーがメッセージを表示すると、VirtualHostフォルダを自動的に生成するbashスクリプトが作成されていますpublic_html/etc/apache2/sites-available/スクリプト(runを使用sudo)は、ユーザー($uzer)と希望の仮想ホスト名($vhost)を求めるメッセージを表示します。これまで数回の確認の後、次のような結果が出ました。

mkdir -vp /home/$uzer/public_html/$vhost
mkdir -vp /home/$uzer/public_html/$vhost/www
mkdir -vp /home/$uzer/public_html/$vhost/logs
mkdir -vp /home/$uzer/public_html/$vhost/backups

新しく作成されたフォルダの所有権を変更する必要があるため、次のことを行う必要があるかどうかはわかりません。

chown -vR $uzer:www-data /home/$uzer/public_html/$vhost
chmod 2750 /home/$uzer/public_html/$vhost

私の質問:

  • 私のフォルダ構造は正しいか理想的ですか?
  • recursive() オプションを使用したことを知っていますが、また同じことを繰り返す-R必要がありますか?$vhost/www$vhost/logs$vhost/backups
  • 上記のchmodが重複する可能性があると思いますか?
  • mkdirユーザーとしてコマンドを実行する方法はありますか$uzer

ベストアンサー1

Q:私のフォルダ構造は正しいか理想的ですか?

答え:フォルダ構造はよさそうです。

Q: 再帰 (-R) オプションを使用したことはわかっていますが、$vhost/www、$vhost/logs、および $vhost/backups に対して同じ操作を繰り返す必要がありますか?

A: このディレクトリでの実行は重複します。

Q:上記のchmodが重複する可能性があると思いますが、そうですか?

はい、技術的には、ディレクトリを作成する初期sudoが「グループIDビット設定」を設定するため、冗長ですが、対応するビット(2750のうち2つ)の設定は保証されません。ユーザーがファイルをディレクトリに移動したり、誤ってファイルグループを変更したなどのディレクトリを見たことがあるので、そのままにします。

$ uzerユーザーとしてmkdirコマンドを実行する方法はありますか?

root$ su -u $user -c "mkdir ..."

スイッチを使用して、/www、/log、および/backupsのchmodステップを保存することもできますmkdir --mode=...

例えば

mkdir -vp --mode=2750 /home/$uzer/public_html/$vhost
mkdir -vp --mode=2750 /home/$uzer/public_html/$vhost/www
mkdir -vp --mode=2750 /home/$uzer/public_html/$vhost/logs
mkdir -vp --mode=2750 /home/$uzer/public_html/$vhost/backups

おすすめ記事