Dieses Rätsel wird durch das Ausführen git pull
von root verursacht.
Es gibt verschiedene Gründe dafür ... Ich möchte, dass mein Gerät beim Booten den Code aktualisiert und rc.local
von root ausgeführt wird.
Es funktioniert meistens npm install
einwandfrei ( neigt dazu, wenn es von root ausgeführt wird, aber das ist ein ganz anderes Thema). Das Problem tritt auf, wenn ich versuche, das Git-Repository anschließend mit einem Nicht-Root-Benutzer zu verwenden ... einige der Git-Dateien haben wurde von root geschrieben, daher kann ich es jetzt nicht mehr verwenden (Berechtigung verweigert).
Ich würde es also gerne rekursiv chown
zurückgeben, aber es scheint nichts zu geben, was wirklich bei all den kleinen Git-Dateien funktioniert. Ich habe die -R
Flagge und den ./**/*
Pfad ausprobiert .
Ich vermute, dass keine dieser Techniken in Punktverzeichnisse abfällt.
bash
Sie einstellenshopt -s dotglob
, um versteckte Dateien von*
oder abzugleichen**
.chown -R *
stattchown -R .
?Antworten:
Der folgende Befehl funktioniert für mich in Ubuntu. Es hat alle Dateien und Verzeichnisse wiederverwendet
quelle
sudo chown -R me:me .
und als ichls -al
alle meine Dateien noch im Besitz von root sind. Warum geht das nicht?./
?Ich benutze
tree
stattdessen:Achten Sie auch darauf, rekursives chown oder chmod nicht im Verzeichnis '/' oder einem anderen Systemverzeichnis auszuführen.
quelle