任意のフォルダーに777の権限を提供する場合、誰でもディレクトリ内のファイルを読み取り、変更、実行できます。これは、ファイル、ウイルス、またはその他のファイルをアップロードし、そのファイルを実行する許可を誰 (世界中のあらゆるハッカーまたは悪意のある人) に与えたことを意味します。
フォルダーのアクセス許可を 777 に設定している場合は、ディレクトリを見つけられるすべてのユーザーに対してサーバーが公開されていることになります。わかりますか?
anyone フラグは、誰でもではなく任意のユーザーを意味します。引き続きサーバーへのアクセスが必要です。
所有権と権限を設定するには、基本的に 2 つの方法があります。自分自身に所有権を与えるか、Web サーバーをすべてのファイルの所有者にしてください。
[関連する推奨事項: 最新の 5 つの Laravel ビデオ チュートリアル ]
Web サーバーを所有者とする (ほとんどの人のアプローチと Laravel ドキュメントのアプローチ) :
www-data
が Web サービス ユーザーであると仮定します (別の名前である可能性があります)。
sudo chown -R www-data:www-data /path/to/your/laravel/root/directory
これを行うと、Web サービスが所有するファイルもこのグループになるため、FTP クライアントがログインにアカウントを使用するため、FTP を使用してファイルをアップロードするときに問題が発生します。は Web サービスではないため、ユーザーを Web サービスのユーザー グループに追加する必要があります。
sudo usermod -a -G www-data ubuntu
もちろん、これは Web サービスが www-data ユーザー (Homestead のデフォルト) として実行されていること、およびユーザーが ubuntu (Homestead の場合は vagrant ) であることを前提としています。次に、すべてのディレクトリを 755 に設定し、すべてのファイルを 644 に設定します。
sudo find /path/to/your/laravel/root/directory -type f -exec chmod 644 {} \;
ディレクトリのアクセス許可の設定
sudo find /path/to/your/laravel/root/directory -type d -exec chmod 755 {} \;
所有者としてのユーザー
すべてのディレクトリとファイルを所有することを好みます (これにより、あらゆる処理が簡単になります)。そこで、laravel ルート ディレクトリに移動します。
cd /var/www/html/laravel >> assuming this is your current root directory
sudo chown -R $USER:www-data .
次に、自分自身と Web サイト サーバーに 2 つの権限を与えます。
sudo find . -type f -exec chmod 664 {} \; sudo find . -type d -exec chmod 775 {} \;
次に、Web サイト サーバーにストレージとキャッシュの読み書き権限を与えます
どのように設定しても、ストレージ、キャッシュ、および Web サーバーがアップロードまたは書き込みする必要があるその他のディレクトリに対する読み取りおよび書き込み権限を Web サーバーに与える必要があります (稼働中です)。状況に合わせて)、次のコマンドを実行します:
sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
これで、Web サイトは安全になり、これらのファイルを簡単に処理できるようになりました
元のアドレス: https:// stackoverflow.com /questions/30639174/how-to-set-up-file-permissions-for-laravel
翻訳アドレス: https://learnku.com/laravel/t/62112
##
以上がLaravelのディレクトリ権限を設定する方法を知っていますか? (2つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。