権限を変更するには2つのオプションがあります。
chmod 777 file.txt
chmod a+rwx file.txt
私は、特定のファイルのファイル権限を変更する必要があるユーザーの要件を詳しく説明する文書を作成しています。ファイル権限を変更する最も一般的な方法でこれを詳しく説明したいと思います。
現在は次のように言います。
- Set permissions on file.txt as per the example below:
- chmod 777 /tmp/file.txt
これは単なる例であり、すべての人がフルアクセス権を持つようにファイルを変更するわけではありません。
答え1
Google では次の情報を提供しています。
- 結果1,030,000個修正 777'
- 371,000件の結果chmod a+rwx'
chmod 777
人気が3倍くらい高いですね。
つまり、私はドキュメントとスクリプトで長いオプションを使用することを好みます。なぜなら、彼らは自己文書化されているからです。 「権限の実行と確認」の指示に従うと、lsが権限を表示する方法なので、ls -l | grep file.txt
lsを使用する必要があるかもしれません。chmod a+rwx
答え2
[Dotancohenの回答提案に基づいてベストプラクティスを追加するように編集しました。これにより、状況があまり明確になり、良い習慣が形成されることを願っています。
重要な追加情報:いいえ同じ。
chmod a+rwx
:最後の3オクテットを777に設定すると、所有者、グループ、およびユーザーが「rwx」に設定されます。最初のオクテットに別のビット(setuid、setgid、および/または固定ビット)がある場合、影響はありません。バイナリ「または00777」と考えてください。
chmod 777
:権限を00777に設定すると、所有者、グループ、およびユーザーが「rwx」に設定されます。また、追加ビット(setuid、setgid、および/または固定ビット)が0に設定されるようにします。
したがって、すべての人にアクセス権が付与されていることを確認するには(二重、三重必須であることを確認してください)、最初のフォームを使用してください。これにより、あらゆる種類のセキュリティ問題が発生する可能性があります。これらの問題のいくつかは次のとおりです。驚くほど広範囲で、悪意のあるユーザーがこれを行う可能性があります)
setuid/setgid/sticky ビットがリセットされているかどうかを確認するには (たとえば、ファイルは "00777" である必要があります)、777 形式を使用します。これはおそらくあなたの場合により高い可能性があります(ファイルの正確さは知られています。そして何をすべきか:00777)。ここでも本当に必要かどうかを3回確認してください...
通常、所有者(時にはグループ)へのアクセス権を維持することをお勧めします。その後、グループを使用して、特定のユーザーにファイル/ディレクトリへのアクセス権を付与します。 a + rwxは、アクセスを許可する簡単で間違った方法です(もちろん非常にまれですこの方法しかない状況…)
http://en.wikipedia.org/wiki/Chmodそれぞれの数字や文字が何を意味するのかを説明するので、読む価値があります(setuid / setgid / stickyを含む)。
答え3
私は通常、権限を0777に設定し、明示的に0777に設定することが違いだと思います。前述のように、777 だけを入力すると、前に来るゼロが推測されます。そして、a+rwxは読み書き/実行を追加し、setuid/固定性をある程度そのまま維持します。
ファイルが実行可能であることを確認したい場合は、a + xを使用して他の権限を心配したり変更したりすることなく実行権限を変更できます。 8進表現を使用する場合は、意図した目的以外の方法で権限を変更しないように、現在どの権限が設定されているかを知る必要があります。
答え4
予算のWebホスティングユーザーのために作成されたような「簡単な人のためのガイド」では、数値を提供することがより一般的であると言いたいと思います。ただし、次のように指定する必要があります。8進数、小数点以下、値:
$chmod 0777 some_dir
0
。0777
Bashや他のCLI環境ではパディングされていないコンテンツを使用するのが正しいですが777
、多くのプログラミング言語(PHPやPerlなど)は同様の機能を持っていますが、先行しています0
。したがって、Bashでも使用することをお勧めします。 Bashがそこにいる必要があることを覚えておいてください。
反対票を投げた方は参考にしてください。コメントから明らかになるように、chmod
コマンドは実際には10進表記が指定されていてもコマンドを8進数として渡すことを知っています。しかし、すべての環境がこれをサポートしているわけではありません。ベストプラクティス明示的に指定することに慣れてください。