ファイルで「chmod 7」を実行した結果は何ですか?

ファイルで「chmod 7」を実行した結果は何ですか?

私は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は単なる数字であり、49310進数と同じです。
8進数を他の進数と区別する方法は、前に付けられた8進数です0。したがって、7558進数と呼ばれるには実際に呼び出す必要があります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つの「その他」ビットをすべて設定し、「その他」の実行、読み取り、および書き込みアクセスを許可することを確認できます。これは単なる数値なので、他のすべてのビットはゼロで設定されません。

おすすめ記事