it-swarm.com.de

Datei im Ordner erstellen: Berechtigung verweigert

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 ini den folgenden Befehl im Terminal ausführen, um eine Beispieldatei wie folgt zu erstellen:

[email protected]:/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 & chmod Berechtigungen zum Kopieren der Dateien zuweisen?

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

39
franvergara66

Zunächst müssen Sie wissen, dass die Standardberechtigung für Verzeichnisse in Ubuntu 644 ist. Dies bedeutet, dass Sie keine Datei in einem Verzeichnis erstellen können, in dem Sie nicht der Eigentümer sind.

sie versuchen als user:francisco-vergara eine Datei in einem Verzeichnis /home/sixven/camp_sms/inputs zu erstellen, das user:sixven gehört.

So lösen Sie das :

  1. Sie können entweder die Berechtigung des Verzeichnisses ändern und anderen ermöglichen, darin Dateien zu erstellen.

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

    Dieser Befehl ändert die Berechtigung des Verzeichnisses rekursiv und ermöglicht allen anderen Benutzern das Erstellen/Ändern und Löschen von Dateien und Verzeichnissen im Verzeichnis.

  2. Sie können das Eigentümerschiff dieses Verzeichnisses ändern und user:francisco-vergara Als Eigentümer festlegen

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

    Aber so kann der user:sixven Nicht wieder in diesen Ordner schreiben und Sie können sich daher in einer kreisförmigen Endlosschleife bewegen.

Daher rate ich Ihnen, Option 1 zu verwenden.

Wenn beide Benutzer auf dieses Verzeichnis zugreifen, können Sie den folgenden Trick ausführen:

ändern Sie den Besitz des Verzeichnisses in user:francisco-vergara und behalten Sie den Gruppenbesitzer 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 schon sagte, es ist am einfachsten und effizientesten, verwenden Sie Option 1.

58
Maythux

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

chown -R user:user /home/sixven

Wenn Sie sich für den chmod-Weg 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

Dieser Weg ist aber nicht zu sicher.

12
Ghassan

Die Standard-UMASK 022 (in Ubuntu), daher werden die Berechtigungen für/home/username 755. Sie haben sich als Benutzer francisco-vergara Angemeldet und versucht, Dateien in Benutzer sixyen Home zu erstellen: d. H. /home/sixven. Es hat keine Schreibberechtigung für andere Benutzer. Nur Benutzer/Gruppe von sixven hat Schreibzugriff.

wenn Sie Schreibzugriff in dieses Verzeichnis wünschen, müssen Sie Teil der Gruppe sixven sein, indem Sie usermod -G sixyen francisco-vergara OR chmod -R 777 /home/sixven (nicht) verwenden benutze es schlechte Praxis).

1
Rahul Patil