フォルダーとそのサブフォルダーおよびファイルに読み取り/書き込み権限を与える方法は?


10

上のlocalhostファイル/var/www/とそのサブフォルダーの所有権を変更し、それに777のアクセス許可を与えました。しかし、そこに新しいフォルダーを追加するたびに、新しいフォルダーは自動的にそのアクセス許可を取得しません。新しいフォルダーまたはファイルを追加した場合に同じアクセス許可を取得できるように、フォルダー777のアクセス許可を永久に与えるにはどうすればよいですか?



777は悪い考えです。しかし、ACLの使用は非常によく適合します。ACLでこのソリューションを読んでうまくいくかどうかを確認してください。

1
関連して、find . -type d -exec chmod 777 {} +すべてのディレクトリを777に変更するために使用できるすべてのディレクトリをchmodするには、より良い結果を得るためにrootとしてログインする必要があり、フォルダ内にいることを確認してください。
Redy S

回答:


1

新しく作成されたファイルの権限はumaskによって設定されます


/ var / www /を書き込み可能にし、許可を与えるためのコマンドを記述して、最近追加したサイトに対して同じ許可(777)を取得できます。
kamal

1
Webサーバーに777権限を付与することは好ましくありません。
saji89 2012

詳細を追加してください。
saji89 2012

@ Vojtech Trefny。現在、リンクは機能していません。404Not Foundと表示されています。
all4naija 2012

12

再帰オプションはいつでも使用できます。 sudo chown -R username /var/www


もっと賛成投票が必要です!
Sheharyar 14年

10

他の人がすでに述べたように、777にアクセス許可を与えること/var/wwwは、特に本番環境では非常に悪い考えです。

より良い解決策は、ファイルを変更する必要があるユーザーにのみ書き込み権限を与えることです。これを行う方法の1つは次のとおりです。

  • 新しいグループを作成する

  • データを変更する必要があるユーザー/var/wwwをそのグループに追加します

  • の所有権/var/wwwをそのグループに再帰的に変更する

  • umaskオンに設定すると/var/www、新しく作成されたすべてのファイルが、作成したグループによって所有されます。

もう1つのオプションは、ACLを使用して、必要なユーザーにのみ書き込み権限を与えることです。

serverfaultの詳細な手順は次のとおりです。

一般に、ウェブサーバー、その他のネットワークサービス、またはシステムユーザーアカウントには、ウェブサーバーが提供するファイルへの書き込み権限を付与しないでください。これにより、任意のコードが実行される可能性があります。


2

/etc/apache/envvars選択したエディタでrootとして編集する必要があります。

例:ALT+F2
gksudo gedit /etc/apache2/envvars

ファイルの最後に移動して、行を追加しますumask XXX

ここで、umaskは、必要なアクセス許可値の反対のバイナリです。
774の場合、これは003になります。777の悪い考えの場合、000になります。

保存する。

Apacheを再起動します。

例: sudo apache2ctl restart

これは、apacheユーザーによって新しく作成されたファイル/フォルダーにのみ影響します。

追加のメモ、読み取りと書き込みは、ユーザー、グループ、または任意のスロットで6です。


0

また、いくつかの「すぐに使える」解決策は、異なるフォルダを使用するようにhttpサーバーを構成することです。Apacheを使用する場合は、構成ファイルを編集するだけです。この方法では、/ var / wwwのアクセス権を変更する必要はありません。魔女は悪い考えです(潜在的なセキュリティ問題)。

そしてumaskはあなたの質問に対する答えです。新しく作成されたフォルダとファイルのデフォルトの権限を制限するために使用できます。また、ディストリビューションの開発者は、一部のシステムフォルダへのアクセスを制限するためにこれを使用する傾向があります。


0

/var/wwwファイルとディレクトリを変更するための書き込みアクセス権が必要だと思います。最良の解決策はapache2-mpm-itk、仮想ホストの設定ファイルにインストールして追加することだと思います/etc/apache2/sites-available/default

<IfModule mpm_itk_module>
    AssignUserId your-username your-group
</IfModule>

そして実行しchown your-username\: /var/www -Rv、あなたのUID / GIDで実行されますその仮想ホストのためのこの方法のApacheを、あなたが編集したファイルにできるようになります。PHPで作成されたファイルでも、UID / GIDが含まれます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.