私はPythonとBashスクリプトを学び、今までスクリプトに777の権限を与えました。権限を設定する方法の詳細を学び、これが悪い考えであることを知ってから、次のコマンドを実行しました(Mac OSX、v10.6.8)。
find / -type f -perm 0777
私は777権限が割り当てられたファイルの小さなリストだけを得ることを期待しましたが、代わりに大きなリストを得ました。 (正確には1,503です。)これには、私の少数のスクリプトだけでなく、すべての画像ファイル、htmlとcssファイル、電子ブックに付属のサンプルコード、Adobe Flash Catalyst、Smith、およびその他のFiles Micro Anime Studio、Microsoft Play Ready (シルバーライトの一部だと思われます)などがあります。
私はこの部分が少し見慣れていますが、それは問題ではありませんか?すべてのファイルに777権限が必要ですか?
答え1
ファイル777
許可は実際には異常です。ファイルにそのような権限が付与される正当な理由がないとは思えませんが、存在する場合は本当に妥当な理由があることをお勧めします。
これらの権限をすぐに変更することをお勧めします。
- 少なくとも他のすべての人の書き込み権限を削除します。
chmod -R o-w
- また、グループに対する書き込み権限を削除したい場合もあります。
chmod -R g-w
- 個人的には、実行可能なビットを含む画像/オーディオ/ビデオ/ドキュメントファイルを見るのは本当に好きではありません。次の項目も削除します。
find /path -name '*.png' -exec chmod a-x {} \;
今後はもっと注意してください。セキュリティ 101 実際に必要以上の権限を与えないでください。たとえば、最初にすべてのファイル0400
とすべてのディレクトリをに設定して0500
から、何が機能していないかを確認し、徐々に最小限の権限を追加できます。
umask
システムの出力は何ですか?それよりも緩んでいる場合は、命令を0022
追加する必要があるかもしれません。デフォルトでは、これによりグループや他のユーザーに対する書き込み権限なしで新しいファイルが生成されます。~/.bashrc
umask 0022
答え2
すべてのファイルに権限 777 が必要なわけではありません。
権限は次のとおりです。rwxrwxrwx、「rwx」は3つのグループに分けられます。最初のグループは所有者ユーザー、2番目のグループは所有者グループ、3番目のグループはその他のグループです。
777は111 111 111のバイナリバージョンなので、777 - > rwxrwxrwx
別の例: 760 ->rwxrw----
ファイルが実行可能でない場合は、電子ブックのように実行権限を付与する必要はありません。
bashスクリプトなどの実行可能プログラムがあり、他の人がスクリプトを実行したくない場合は、3番目の部分の3番目の数字はゼロでなければなりません。つまり、? ? ? ??? ??0
たとえば、他の人がスクリプトを読み取ることができるようにしたいが、スクリプトを作成または実行することは許可されていないため、権限は次のようになります。 ??? ??? r-- =>??4