私は自分のubuntuマシンにPHPをインストールしています。 Webルートは/var/www
です
このフォルダのアクセス許可を次のように設定します。
Sudo chown -R ftpuser:www-data/var/www
ftpuserは、ネットワーク上の別のマシンから/ var/wwwにftpできるように設定したユーザーです。 www-dataは、phpが使用するユーザーです。 phpのwhoami
を使用してダブルチェックしました。
新しいファイルをマシンにftpでアップロードするたびに、グループにはファイルへのアクセス権がありません。ブラウザーでmachine-name/new-file.php
経由でアクセスしようとすると、許可が拒否されたと言われ、新しいファイルにchmod
行く必要があります。
Www-dataユーザー/グループを新しいファイルへのアクセス許可を持つようにデフォルト設定できる方法があるので、新しいファイルごとにchmodを保持する必要はありませんか?
ACLを使用できます。 Ubuntu 10.10のACLを設定するには、まず/ etc/fstabのaclオプションでファイルシステムをマウントします。
Sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ext4 defaults、acl 0 1
Sudo mount -o remount,acl /
次に、この目的のためにユーザーが属するグループを作成します。
Sudo groupadd developers
Sudo usermod -a -G developers $username
ユーザーはログアウトしてから再度ログインして、開発者グループのメンバーになる必要があります。
もちろん、/ var/wwwディレクトリに必要なコンテンツがある場合は、これを実行しないでください。ただし、開始するためのセットアップを説明するためだけです。
Sudo rm -rf /var/www
Sudo mkdir -p /var/www/public
Sudo chown -R root.developers /var/www/public
Sudo chmod 0775 /var/www/public
Sudo chmod g+s /var/www/public
Sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
次に、構成ファイルの「/ var/www」への参照を「/ var/www/public」に置き換えて、リロードします。
Sudo vim /etc/Apache2/sites-enabled/000-default
Sudo /etc/init.d/Apache2 reload
ファイルを作成したユーザー以外のすべてからの削除と名前変更を制限する場合:
Sudo chmod +t /var/www/public
このように、Apacheドキュメントルートの外部に存在するフレームワークのディレクトリを作成したい場合や、サーバーで書き込み可能なディレクトリを作成したい場合は、それでも簡単です。
Apache書き込み可能ログディレクトリ:
Sudo mkdir /var/www/logs
Sudo chgrp www-data /var/www/logs
Sudo chmod 0770 /var/www/logs
Apacheで読み取り可能なライブラリディレクトリ:
Sudo mkdir /var/www/lib
Sudo chgrp www-data /var/www/lib
Sudo chmod 0750 /var/www/lib
あなたはすでにこれを整理していると確信しているので、これは同様のリクエストを持つ人のためのものです
webrootフォルダーで「所有権の変更」コマンドを実行します。
Sudo chown manny -R www
これにより、所有者は「many」をユーザー名に置き換え、wwwフォルダー内で書き込み/読み取りができるようになります。
Webサーバーがファイルを読み取ることさえできない場合、new-file.php
のアクセス許可は600(所有者の読み取りと書き込み)のようなものである可能性が非常に高くなります。 FTPアプリケーションで mask 設定を検索し、007のようなものであることを確認します。
Webアプリケーションがファイルをchmodする必要がある場合(またはファイル所有者のみが実行できる他の操作)、他のアプローチが必要です。 Apacheを使用している場合は、 itk MPM の使用を検討する必要があります。そのモジュールを使用すると、「ftpuser」と同じユーザーを使用して、Apacheでファイルを実行/開くことができます。この主題に関する詳細情報が必要な場合は、コメントを追加してください。