Datei in Ordner erstellen: Berechtigung verweigert

37

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 chmodzum Kopieren der Dateien zuweisen ?

Ich weiß nicht, welchen Benutzer und welche Gruppe ich verwenden soll.

franvergara66
quelle
Wie haben Sie das Verzeichnis erstellt? Warum ist es in /home/sixven? Warum ist es nicht in Ihrem Home-Verzeichnis?
Terdon
2
Nach dem, was Sie kopiert haben, führen Sie touch als Benutzer aus francisco-vergara, aber in Ihrem Verzeichnis befindet sich /home/sixvender Benutzer wirklich francisco-vergeraoder gehört er einem sixvenBenutzer? Sie sollten klarstellen, was Sie genau tun möchten. In die Wohnung eines anderen Benutzers schreiben? Dieses Verzeichnis für eine Gruppe freigeben?
Leiaz

Antworten:

54

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/inputsdessen Eigentümer ist user:sixven.

So lösen Sie das:

  1. Sie können entweder die Berechtigung des Verzeichnisses ändern und anderen das Erstellen von Dateien im Verzeichnis ermöglichen.

    sudo chmod -R 777 /home/sixven/camp_sms/inputs
    

    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.

  2. Sie können den Eigentümer dieses Verzeichnisses ändern und user:francisco-vergaraals Eigentümer festlegen

    sudo chown -R francisco-vergara:francisco-vergara /home/sixven/camp_sms/inputs
    

    Aber so user:sixvenkann 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-vergaraund behalten Sie den Gruppeneigentümer bei group:sixven.

sudo chown -R francisco-vergara /home/sixven/camp_sms/inputs

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.

Maythux
quelle
10
Wiederbeleben Sie dies, um zu sagen: Sie sollten fast nie etwas "chmod -R 777". Das richtige Setzen des Eigentums ist eine weitaus sicherere Praxis. digitalocean.com/community/tutorials/… askubuntu.com/questions/20105/…
Douglas Adams
12

Gehen Sie wie folgt vor, um den Dateieigentum zu ändern:

chown -R user:user /home/sixven

Wenn Sie sich für chmod entscheiden:

Wenn Sie wissen, dass der Benutzer Teil der Gruppe der Datei ist

chmod -R g+rw /home/sixven

Andernfalls:

chmod -R o+rw /home/sixven

Aber dieser Weg ist nicht zu sicher.

Ghassan
quelle
Funktioniert wie ein Zauber
Faris Rayhan
1

Die Standard UMASK 022 (in Ubuntu), so dass die Berechtigungen für / home / username 755 werden. Sie haben sich als Benutzer angemeldet francisco-vergaraund versucht, Dateien in Benutzer sixyen Home zu erstellen: dh /home/sixven. Es hat keine Schreibberechtigung für andere Benutzer. Nur Benutzer / Gruppe von sixvenhat Schreibzugriff.

Wenn Sie Schreibzugriff auf dieses Verzeichnis wünschen, müssen Sie sixvenmit usermod -G sixyen francisco-vergara OR Teil der Gruppe sein chmod -R 777 /home/sixven(verwenden Sie nicht die schlechte Vorgehensweise).

Rahul Patil
quelle
Beeilst du dich nicht ein bisschen? Wir kennen die Situation des OP immer noch nicht.
guntbert