Was bedeutet "chown root.root $ file"?

7

Ich versuche, colordiffin einem benutzerdefinierten Verzeichnis zu installieren, da ich keine sudoBerechtigungen habe. Ich habe die Verzeichnisse im Makefile fest codiert, wie in der README-Datei angegeben, aber ich erhalte den folgenden Fehler:

...
chown root.root /share/edu-mei/colordiff/1.0.13/etc/colordiffrc
chown: changing ownership of `/share/edu-mei/colordiff/1.0.13/etc/colordiffrc': Operation not permitted
make: [install] Error 1 (ignored)
...

Das Ändern des Dateibesitzes ist kein wirkliches Problem (wahrscheinlich der Grund, warum der Autor dies ignoriert). Ich bin jedoch nicht mit dieser Verwendung von vertraut chown.

Die Manpage von chown besagt, dass die Befehlssyntax lautet:

chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

Der ausgeführte Befehl lautet jedoch chown root.root $file.

Was bedeutet die Syntax mit einem Punkt anstelle eines Doppelpunkts?

RSFalcon7
quelle
Punkt anstelle von Doppelpunkt ist ebenfalls gültig. Ich denke das ist es auch.
TNW
In den folgenden Antworten wird die Syntax erläutert. Dieser Befehl schlägt jedoch fehl, da Sie als Nicht-Root-Benutzer den Besitz nicht in Root ändern können.
depquid
@depquid, das mit der geklärten Syntax leicht herauszufinden war. Schließlich ging es bei meiner Frage nicht um den Fehler.
RSFalcon7

Antworten:

11

Es setzt den Benutzer und die Gruppe von $fileauf root(wie in chown OWNER.GROUP FILE...). Es ist das gleiche wie anrufen chown root:root $file, aber eine ältere Form.

Der Punkt wurde durch einen Doppelpunkt ersetzt, der chown OWNER:GROUP FILE...wie dokumentiert angegeben ist, da Punkte möglicherweise in Benutzer- / Gruppennamen erscheinen können.

mrb
quelle
4
Der Vollständigkeit
halber
1
as documentedKönntest du einen Link geben? Auch Android scheint Punkt zu verwenden und Doppelpunkt abzulehnen, was auch unklar ist, warum.
n611x007
2
@naxa Die ursprüngliche Frage enthielt die Dokumentation für die chmod-Variante des Fragestellers : chown [OPTION]... [OWNER][:[GROUP]] FILE..., die eindeutig nur einen Doppelpunkt zeigt. Android kann eine von vielen verschiedenen Chown-Varianten haben; Busybox Chown ist üblich und unterstützt sowohl .und: . Andere können sich anders verhalten.
mrb
4

"chown user.group file" war die alte Methode, mit chown sowohl Benutzer als auch Gruppe für eine Datei festzulegen. Diese Notation ist jetzt veraltet und Sie sollten stattdessen ":" verwenden, wie in "chown user: group file".

"$ file" ist nur eine Shell-Variable. Wahrscheinlich haben Sie ein Skript, das einen Befehl (chown) für eine Liste von Dateinamen wiederholt. Die Variable "$ file" enthält den Dateinamen, der gerade verarbeitet wird, und ändert sich für jede "Runde", die das Skript durchläuft, bis die Liste (alle Dateinamen) verarbeitet wurde (deren Eigentümer und Gruppe auf root: root gesetzt wurden). .

Baard Kopperud
quelle
$fileist meine eigene Art, den Dateinamen auszudrücken
RSFalcon7