web-dev-qa-db-ja.com

chmod -R 777の結果はどうなりますか

誤ってSudo chmod -R 777 .フォルダで/var/www/html/mysiteを実行しました。結果はどうなりますか?

コマンドを実行する前にフォルダーを変更せず、変更したい現在のディレクトリにあるためフルパスを入力しないことで、時間を節約したかったのです。

2
Vivek V Dwivedi

このコマンドは、所有者、グループなどの読み取り、書き込み、実行のために/var/www/html/mysite内のあらゆるものへのアクセス許可を変更します。基本的にすべての形式のセキュリティを無効にします。

外の世界のだれかがあなたのシステムにアクセスする場合、彼らはこれらのファイルで何でもできます。それらの削除を含む。

ところで:これは開発サーバーにとっても悪いことだと思います。

  1. アクティブなサーバーでスクリプトが機能するかどうかをどのように判断するのでしょうか。開発サーバー上の「777」により、何かが適切に機能しているように見えるかもしれませんが、そうではありません。
  2. 何かをライブにする必要があるときはどうしますか?すべてのファイルの適切なアクセス許可を確認しますか?
  3. ある時点で、アクティブサーバーの動作が異なることがわかり、アクティブサーバーで「chmod 777」を使用することにします。ワームの缶を開けます。

正しい 作業中 ウェブサイト の場合、次の2つのコマンドで権限を設定(およびリセット)できます。

find /var/www/html/mysite -type d -exec chmod 755 {} \;
find /var/www/html/mysite -type f -exec chmod 644 {} \;
8
Rinzwind

chmod 777は、誰でもファイル/フォルダーを読み取り可能、書き込み可能、​​実行可能にします。

そのため、基本的にサイトフォルダーで、そのフォルダーへの書き込み権限を全員に付与しているため、フォルダーのセキュリティが低下しています。パブリックWebサーバーでは良いことではありませんが、これはローカルボックスでの開発を目的としていると推測しています。

-R引数は再帰的であることを意味するため、アクセス許可の変更はそのディレクトリ内のすべてのファイルに適用されます。

1
Gary Woodfine

アクションの結果は、コマンドを実行したディレクトリ内のすべてのファイルに対するchmod 777を介した完全な読み取り、書き込み、および実行権限であり、その下のすべてのディレクトリ内のすべてのファイルを-R(再帰)スイッチに切り替えます。

0
Elder Geek