Ich habe ein Problem beim Kopieren von Dateien in ein Verzeichnis unter Ubuntu 12.04. Ich erstelle ein Verzeichnis im Ausgangsverzeichnis, sodass der Pfad, in den ich kopieren möchte, wie folgt lautet:
/home/sixven/camp_sms/inputs
Wenn Sie jedoch den folgenden Befehl im Terminal ausführen, um eine Beispieldatei wie folgt zu erstellen:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Ich kann keine Dateien direkt in dieses Verzeichnis kopieren. Wie kann ich mit den Befehlen chown
& Berechtigungen chmod
zum Kopieren der Dateien zuweisen ?
Ich weiß nicht, welchen Benutzer und welche Gruppe ich verwenden soll.
/home/sixven
? Warum ist es nicht in Ihrem Home-Verzeichnis?francisco-vergara
, aber in Ihrem Verzeichnis befindet sich/home/sixven
der Benutzer wirklichfrancisco-vergera
oder gehört er einemsixven
Benutzer? Sie sollten klarstellen, was Sie genau tun möchten. In die Wohnung eines anderen Benutzers schreiben? Dieses Verzeichnis für eine Gruppe freigeben?Antworten:
Zuallererst müssen Sie wissen, dass die Standardberechtigung für Verzeichnisse in Ubuntu 644 ist, was bedeutet, dass Sie keine Datei in einem Verzeichnis erstellen können, in dem Sie nicht der Eigentümer sind.
Sie versuchen
user:francisco-vergara
, eine Datei in einem Verzeichnis zu erstellen,/home/sixven/camp_sms/inputs
dessen Eigentümer istuser:sixven
.So lösen Sie das:
Sie können entweder die Berechtigung des Verzeichnisses ändern und anderen das Erstellen von Dateien im Verzeichnis ermöglichen.
Dieser Befehl ändert die Berechtigung des Verzeichnisses rekursiv und ermöglicht allen anderen Benutzern, darin befindliche Dateien und Verzeichnisse zu erstellen / ändern und zu löschen.
Sie können den Eigentümer dieses Verzeichnisses ändern und
user:francisco-vergara
als Eigentümer festlegenAber so
user:sixven
kann man nicht wieder in diesen Ordner schreiben und kann sich somit in einer kreisförmigen Endlosschleife bewegen.Daher rate ich Ihnen, Option 1 zu verwenden.
Oder wenn beide Benutzer auf dieses Verzeichnis zugreifen, können Sie den folgenden Trick ausführen:
Ändern Sie den Eigentümer des Verzeichnisses in
user:francisco-vergara
und behalten Sie den Gruppeneigentümer beigroup:sixven
.Auf diese Weise können beide Benutzer das Verzeichnis weiterhin verwenden.
Aber wie ich bereits sagte, ist es am einfachsten und effizientesten, Option 1 zu verwenden.
quelle
Gehen Sie wie folgt vor, um den Dateieigentum zu ändern:
Wenn Sie sich für chmod entscheiden:
Wenn Sie wissen, dass der Benutzer Teil der Gruppe der Datei ist
Andernfalls:
Aber dieser Weg ist nicht zu sicher.
quelle
Die Standard UMASK 022 (in Ubuntu), so dass die Berechtigungen für / home / username 755 werden. Sie haben sich als Benutzer angemeldet
francisco-vergara
und versucht, Dateien in Benutzer sixyen Home zu erstellen: dh/home/sixven
. Es hat keine Schreibberechtigung für andere Benutzer. Nur Benutzer / Gruppe vonsixven
hat Schreibzugriff.Wenn Sie Schreibzugriff auf dieses Verzeichnis wünschen, müssen Sie
sixven
mitusermod -G sixyen francisco-vergara
OR Teil der Gruppe seinchmod -R 777 /home/sixven
(verwenden Sie nicht die schlechte Vorgehensweise).quelle