GNU/Linux >> Linux の 問題 >  >> Linux

同じ行で数値表記を使用して許可を削除および追加する

質問のタイトルに注意してください:

<ブロック引用>

同じ行で数値表記を使用して許可を削除および追加する

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

$ ma​​n 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...

Linux
  1. コマンドラインを使用してLinuxでtar.gzファイルを抽出する方法

  2. Linux – 1つのコマンドラインでCat、Tar、Gzipを使用して.tar.gzファイルを解凍してアーカイブ解除しますか?

  3. Linuxのコマンドラインを使用してファイルを作成する

  1. Linux でコマンドラインを使用して任意のファイルをダウンロードするための 4 つのツール

  2. >、&>、>&、および 2&> を使用して出力をリダイレクトすることの違いは何ですか?

  3. Bashを使用してファイルの最後から2番目の行を読み取る方法は?

  1. スクリプトの同じ行で stderr と stdout を別のファイルにリダイレクトする方法は?

  2. hosts ファイルに行を追加すると、sudo の使用時に権限が拒否されます - Mac

  3. コピーと chmod/chown を同時に行う