GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Entfernen und Hinzufügen von Berechtigungen mit numerischer Notation in derselben Zeile

Beachten Sie den Titel Ihrer Frage:

Entfernen und Hinzufügen von Berechtigungen mit numerischer Schreibweise in derselben Zeile

Mit chmod von GNU Coreutils, die Sie wahrscheinlich auf einem Linux-System haben, könnten Sie verwenden

$ chmod -020,+004 test.txt

das zu tun. Es funktioniert auf die naheliegende Weise:mittlere Ziffer für die Gruppe, 2 ist zum Schreiben; und letzte Ziffer für "andere" und 4 zum Lesen.

+ verwenden können oder - mit numerischem Modus ist eine GNU-Erweiterung, z. das BSD-basierte chmod auf meinem Mac gibt einen Fehler für +004 aus :

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

Es wäre also einfacher, kürzer, portabler und wahrscheinlich besser lesbar, nur die symbolische Form zu verwenden:

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

BEARBEITEN:Als ich die Antwort von ilkkachu sah, musste ich dies testen, und die Syntax, die er beschreibt, funktioniert, aber die Manpage auf meinem System (die ich überprüft hatte) sagt

kann entweder eine symbolische Darstellung der vorzunehmenden Änderungen oder eine Oktalzahl sein, die das Bitmuster für die neuen Modusbits darstellt

Das war der Grund, warum ich die ursprüngliche Antwort (unten) geschrieben habe. Ich schätze, es ist eine neue Änderung und sie haben vergessen, die Manpage zu aktualisieren.

Ursprüngliche Antwort unten:

Der Titel Ihrer Fragen erwähnt "numerische Notation", wenn Sie damit die Angabe von Modi als Oktalzahlen meinen, lautet die Antwort, dass Sie damit keine Änderungen angeben können, sondern nur den neuen Modus der Datei (en).


Wie die zweite Zeile der Manpage sagt:

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...

oder die erste Zeile von chmod --help

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

Linux
  1. Lesen und schreiben Sie in dieselbe Datei unter Linux, ohne sie zu überschreiben?

  2. Linux – Dekomprimieren und Entarchivieren der .tar.gz-Datei mit Cat, Tar und Gzip auf einer Befehlszeile?

  3. Erstellen Sie Dateien mithilfe der Befehlszeile in Linux

  4. 4 Tools zum Herunterladen einer beliebigen Datei über die Befehlszeile in Linux

  5. Was ist der Unterschied beim Umleiten einer Ausgabe mit >, &>, >&und 2&>?

Kopieren und Einfügen in der Linux-Befehlszeile mit xclip

Verwenden der SSH-Konfigurationsdatei

So extrahieren Sie die tar.gz-Datei in Linux mithilfe der Befehlszeile

So löschen Sie eine Festplatte und Datei sicher mit dem Linux-Befehl shred

So laden Sie Dateien unter Debian mit curl und wget in der Befehlszeile herunter

Wie füge ich mit sed Text in die erste Zeile einer Datei ein?