質問のタイトルに注意してください:
<ブロック引用>同じ行で数値表記を使用して許可を削除および追加する
chmod
で おそらくLinuxシステムにあるGNU coreutilsから、使用できます
$ chmod -020,+004 test.txt
それをするために。それは明らかな方法で機能します:グループの真ん中の数字、2
書き込み用です。 「その他」の最後の桁、および 4
+
を使用できること または -
数値モードは GNU 拡張です。 BSD ベースの chmod
私の Mac では +004
のエラーが発生します :
$ chmod +004 test.txt
chmod: Invalid file mode: +004
したがって、シンボリック形式を使用する方が簡単で、短く、移植性が高く、おそらく読みやすいでしょう:
$ chmod g-w,o+r test.txt
編集:ilkkachuの答えを見て、これをテストし、彼が説明する構文は機能しますが、システムのマニュアルページ(私がチェックしたもの)には
と書かれています <ブロック引用>行う変更の記号表現、または新しいモード ビットのビット パターンを表す 8 進数のいずれかです
これが、私が元の回答を書いた理由です(以下)。これは新しい変更であり、man ページを更新するのを忘れていたと思います。
以下の元の回答:
あなたの質問のタイトルは「数値表記」に言及しています。それがモードを8進数として指定することを意味する場合、答えはそれで変更を指定することはできず、ファイルの新しいモードのみを指定することです.
man ページの 2 行目には次のように記載されています。
chmod g-w,o+r file
$ man chmod
CHMOD(1) User Commands CHMOD(1)
NAME
chmod - change file mode bits
SYNOPSIS
chmod [OPTION]... MODE[,MODE]... FILE...
または chmod --help の 1 行目
Usage: chmod [OPTION]... MODE[,MODE]... FILE...