644(-rw-r--r--
)を664(-rw-rw-r--
)、実行後:
Sudo chmod -664 my_file
ファイルの権限は000(----------
)。
アクセス許可を000以外の何かに変更しようとしても、うまくいかないようです。ここで何が欠けていますか?
-664
を使用していますが、代わりに664
を使用してください。また、never必要がない場合はSudo
を使用します。それがあなたのファイルであれば、Sudo
は必要ありません。
chmod 644 my_file
モードの前に-
を付けてchmod
を実行すると、そのモードが削除されます。 man chmod
(鉱山を強調)を参照してください。
演算子+を使用すると、選択したファイルモードビットが各ファイルの既存のファイルモードビットに追加されます。 -削除されます;および=はそれらを追加し、ディレクトリの言及されていないセットユーザーおよびグループIDビットは影響を受けないことを除いて、言及されていないビットを削除します。
番号は次のとおりです。
したがって、777
権限を持つファイルは、1 + 2 + 4 = 7であるため、誰もが3つすべてを実行する権利を持っていることを意味します。したがって、権限を7に設定すると、読み取り、書き込み、実行が許可されます。
モードが777
のファイルから始める場合:
$ ls -l my_file
-rwxrwxrwx 1 terdon terdon 0 May 28 13:45 my_file
そしてchmod -644
を実行すると、ビット644
が削除され、モードが133
のファイルが作成されます。
$ chmod -644 my_file; ls -l my_file
---x-wx-wx 1 terdon terdon 0 May 28 13:45 my_file
これは、所有者の権限から6(読み取り(4)+書き込み(2))を削除し、グループ(その他)およびその他の権限から1(実行)セットと4(読み取り)のみを残したためです。その結果、所有者には実行(1)権限のみがあり、残りには書き込みと実行(4の設定を解除、1と3を残す)権限のみのファイルが作成されます。
ファイルにはおそらく新しいファイルに対するデフォルトのアクセス許可があったため、644
、chmod -644 my_file
を実行すると、設定されたすべてのアクセス許可ビットが削除され、誰にも許可のないファイルが取得されました。
$ ls -l my_file
-rw-r--r-- 1 terdon terdon 0 May 28 13:45 my_file
$ chmod -644 my_file
$ ls -l my_file
---------- 1 terdon terdon 0 May 28 13:45 my_file