web-dev-qa-db-ja.com

Chmod755および751

ディレクトリでchmod755を実行すると、drwxr-xr-xが得られます。 5が読み取られたので、drwxr-xr-xrを取得するべきではありませんか?

そして、ディレクトリでchmod 751を実行すると、drwxr-x--xが返されます。それは私にdrwxr-xr-xを与えるべきではありませんか?

親切に説明してください。

4
user573526

ビットは3つのグループであり、結果は正しいです。私はあなたが誤解している点を実際には理解していません。 5を読み取り、実行しますが、rwxの順序は変わりません。それらをスイッチと見なしてください。オン(r/w/x)またはオフ(-)の場合があります。ここでも、値の概要を示します。

7(8) = 111(2) => rwx
5(8) = 101(2) => r-x
1(8) = 001(2) => --x
10
jdehaan

このように考えてください。

rwx
111  where 111 is a binary value

1 1 1      (binary)
4+2+1 -> 7 (decimal by position)

So 751 would be rwx r_x __x
                111 101 001 (binary)
                421 401 001 (decimal by position)
                 7   5   1  (decimal equivalent)
0

回答:それはrwxです。読んだ。書く。実行します。

Wxr、xrw、rxwではありません。 3つのうちの1つです!文字を配置するさまざまな方法。これはあなたの混乱のいくらかを取り除くかもしれません。

また、chmodは8進数の位置システムで機能します。 8進数は基数8を表します。これは、0〜7の値を持つ1ビットを使用して表すことができます(合計8)。そのため、8進数と呼ばれます。

無関係:バイナリでは、3つの1は1 + 2 + 4 = 7を表します。

0
lanparty

私もこの混乱に苦しんだ。ダッシュは紛らわしい部分です。ダッシュはパーミッショングループ(7-5-1)を区切るために使用されていると想定されますが、この場合、ダッシュはそのようには使用されません。許可グループ間に間隔はなく、ダッシュは、いわば、存在しないためのプレースホルダーとして許可グループの「中央」で使用されます。

要するに、ダッシュは権限グループを区切るために使用されません。

0
Octavian