私はchmod 777
それが許されることを知っています。読む、書くと実装する~のためユーザー、グループと他の人
しかし、これを行うとどうなりますかchmod 7
?
rwx
ただのためか。ユーザー?
ベストアンサー1
Rameshの答えは非常に正確ですが、ファイルモードについてより詳細な説明を提供したいと思います。
755
などの数字は777
特別で、ファイルモードにのみ意味があるように見えますが、実際には非常に基本的です。
これは実際には8進数です。 10進数は10進数、16進数は16、2進数は2、8進数は8を基準とします。これはあなたが数えるとき、あなたが行くことを意味します1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 ...
。したがって、この数字007
は8進数です7
。 8進数755
は単なる数字であり、493
10進数と同じです。
8進数を他の進数と区別する方法は、前に付けられた8進数です0
。したがって、755
8進数と呼ばれるには実際に呼び出す必要があります0755
。このchmod
コマンドは、すべての入力番号が8進数であると仮定します。これは、ファイルモードを参照する最も一般的な方法であるためです。
これで、ファイルモードで8進数を使用するのはなぜですか?まず、以下のようにパターンがビットマスクにすぎないことを理解する必要があります。
111111111111 - 12 binary bits
============
1 - Other execute
1 - Other write
1 - Other read
1 - Group execute
1 - Group write
1 - Group read
1 - User execute
1 - User write
1 - User read
1 - Sticky bit
1 - Set group ID
1 - Set user ID
「その他」、「グループ」、および「ユーザー」はそれぞれ3桁の数字です。 2進数111
はであり7
、最も高い一桁の8進値です。したがって、8進数番号付けを使用すると、他のグループとユーザー権限のそれぞれに数字とSticky + setuid + setgidの追加番号が付与されます。
chmod 7
そうすれば「何か」という元の質問に戻ることができます。
さて、これは8進数でビットマスクだけであることがわかったので、それを見つけることができます。 8進数7
は2進数です111
。上記のビット位置を使用して、3つの「その他」ビットをすべて設定し、「その他」の実行、読み取り、および書き込みアクセスを許可することを確認できます。これは単なる数値なので、他のすべてのビットはゼロで設定されません。