数字記号を使用して、同じ行から権限を削除して追加します。

数字記号を使用して、同じ行から権限を削除して追加します。

所有グループ()から書き込み権限を削除すると同時に、g他のグループ()に読み取り権限を追加するのに問題があります。o

所有グループから一部の権限を削除し、同じ行の他のグループに一部の権限を追加するにはどうすればよいですか?

答え1

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

数字記号を使用して、同じ行から権限を削除して追加します。

chmodGNU coreutils(Linuxシステム上にある可能性があります)では、次のものを使用できます。

$ chmod -020,+004 test.txt

これができるはずです。仕組みは明らかです。中央の数字は2書き込みの場合はグループを表し、最後の数字は4読み取りの場合は「その他」を表します。

使用可能+または-デジタルモード使用可能GNU拡張です、たとえば、私のMacのBSDベースのバージョンでは、chmod次のエラーが発生します+004

$ chmod +004 test.txt
chmod: Invalid file mode: +004

したがって、シンボル形式を使用する方が簡単、短く、移植可能で、おそらく読みやすくなります。

$ chmod g-w,o+r test.txt

答え2

編集:ilkkachuの答えを見てこれをテストし、彼が説明した構文はうまくいきますが、私のシステムのマニュアルページ(私が確認したもの)には次のように記載されています。

変更される変更を記号で表すか、新しいモードビットのビットパターンを表す8進数にすることができます。

だから元の答え(下)を書いた。私はこれが新しい変更であり、マニュアルページを更新するのを忘れたと思います。

元の答えは次のとおりです。

質問のタイトルに「数値表記法」が記載されており、モードを8進数で指定したい場合は、変更を指定できず、ファイルの新しいモードのみを指定できるという答えが出てきます。

答え3

マニュアルページの2行目には次のように表示されます。

chmod g-w,o+r file

$手動chmod

CHMOD(1)                         User Commands             CHMOD(1)

NAME
       chmod - change file mode bits

SYNOPSIS
       chmod [OPTION]... MODE[,MODE]... FILE...

または最初の行chmod --help

Usage: chmod [OPTION]... MODE[,MODE]... FILE...

答え4

これを行う理由を指定しなかったためです。単に目的のパターンを設定することは、フラグを1つずつ反転するよりもはるかに高速で正確であるという事実を知らないとします。

簡単な用語で説明すると、次のようになります。 すべての読み取り、書き込み、実行フラグの設定/設定解除状態に3つの数値を指定します。 ~のため所有者グループ他の人 一度に

簡単にするために3桁の数字を使用します。 しかし、あなたはそうしなければなりません。残りの標識を見てください慣れれば同じだ。

もっと簡単にしてください: この3つの値は独立しています。場所の3桁の数字の代わりに値を入力してください。最初に設定された権限所有者、次の項目の権限を設定してくださいグループ、第三に、他の人の権限を設定します(他の人)。

フラグ設定: 今。決める各数字の意味これは一部の人々が混乱している部分ですが、これがどのように行われるのかを初めて理解するのは本当に簡単です。

以下はフラグ値です。

  • 1=実行
  • 2=書き込み
  • 4=読む

今あなたは場所一度、必要なフラグ値を一緒に追加(合計)します。読み取りと実行を設定したい場合:4+1=5。読み書きしたいが実行したくない場合は、4+2=6。

はい

| ###|所有者|グループ|その他|
| ---| ---|
755 | RWX受信|
644 |R--|

追加情報と追加例はここで確認できます。 https://linux.die.net/Linux-CLI/file-permissions.html

だからあなたが望むならグループそして他の人読み取り権限のみが所有者には読み取りおよび書き込み権限が必要です。chmod 644 FILENAME

これはすごい指導時間:Linuxファイルの権限について

最後のヒント: 内容を一覧表示するには、ユーザーにディレクトリに対する実行権限が必要であることに注意してください。

関連情報