「chmod u=rw,go=r,...」の代わりに「chmod 644」を使用するのはなぜですか?

「chmod u=rw,go=r,...」の代わりに「chmod 644」を使用するのはなぜですか?

私は何年も* nixを使ってきましたが、慣れていないものの1つが私のコードの8進数です。行の長さに加えてchmod 644 ...他の理由がありますかchmod u=rw,go=r ...

添付:8進権限の説明を探しているわけではありません。私はそれがどのように機能するかを知っており、マニュアルでよく説明されています。私はなぜ人が読める形式よりも8進数を好むのか尋ねました。

答え1

8進コードを使用すると、2つの利点があると思いますが、どちらもそれほど大きくはありません。

  1. 短くて入力が簡単です。
  2. いくつかのものは定期的に使用する必要があり、理解することができますので、直面しているときに頭を傷つけたり、文書に走ったりすることはありません。たとえば、chmodPerlまたはCでは8進数を使用する必要があります。

時には非常に単純なユーティリティは、特にGNU以外のユーザー領域で「おなじみの」バージョンを処理することはできません。

また、一部のユーティリティは8進数を出力します。たとえば、umask現在のumaskが何であるかを確認するために実行すると、8進形式で出力されます(bashではumask -Sシンボル形式です)。

簡単に言えば、これを好む唯一の理由は、より少ない文字を入力することだと言いたいと思います。ただし、使用しないことを選択しても、実行時に8進コードの変更の1つとして理解できるようにマッピング方法を知る必要があります。それは8進数だけを行います。しかし、5が何にマッピングされているのかをすぐに知る必要はrxありません。

答え2

私は長い間8進数を使ってきたと思います。

7はrwx(何でも)、5はrx(実行するには読む必要があります)、6はwr(修正する必要があるすべてのデータファイル)、4はr(詳細を見てみましょう)it)、0は-(申し訳ありません。ここでは見るものはありません)です。順序は私、私達、すべてである。これが基本的な組み合わせです。

755 私は変更して実行でき、他の人も実行できます。

私が644枚を変えれば、他の人も読むことができます。

444 みんなが読めるようにここでやめましょう。

500 私はそれを実装することができ、それが変更されたくない、他の人はそれを残す。

私にとって、それは短く、要点です。 9文字とファイルの仕様を続けます。

答え3

私は8進表記法があまり好きではなかったし、直接表記rwxr-xr-x法がより単純に見えるので、常に直接表記法を使用してきました。しかし、私が知っている限り、8進表現は実際に私たちが覚えやすくするために存在します(どのように機能するのかわかりません)。

私は8進数がもたらすことができる唯一の利点はあいまいさがないことだと思います。 8つの異なる許可ビット構成は異なる数字で表されます。これは、誰かが誤ってはならwない場所に配置するのに役立つと確信しています。

残念ながら、私はすでに次の表を覚えています。

#  r  w  x
0  0  0  0
1  0  0  1
2  0  1  0
3  0  1  1
4  1  0  0
5  1  0  1
6  1  1  0
7  1  1  1

答え4

8進モードでは、一部のシステムでsetuidビットとsetgidビットを削除できます。

Fedora 16:

$ mkdir dir
$ chmod 2775 dir
$ stat -c %a dir
2775
$ chmod 770 dir
$ stat -c %a dir
2770

2予約済み)

FreeBSD 9:

$ mkdir dir
$ chmod 2775 dir
$ stat -f %Mp%Lp dir
2775
$ chmod 770 dir
$ stat -f %Mp%Lp dir
0770

2これになる0

ファイルまたはディレクトリの権限を変更するには、変更するビットのみを指定することをお勧めします(例:chmod o= dirまたは上記の例)。chmod o-rwx dir

関連情報