So erteile ich meinem aktuellen Benutzer die Berechtigung

So erteile ich meinem aktuellen Benutzer die Berechtigung

also im Grunde möchte ich in der Lage sein, Daten mit stfp zu schreiben, aber wenn ich es verwende, wird angezeigt, dass die Berechtigung verweigert wurde. Ich möchte dies in diesem Verzeichnis tun können, /home/usersodass bei Verwendung ls -ldes Befehls die folgende Ausgabe angezeigt wird

total 8
drwxr-xr-x 2 root root 4096 Apr 22 21:43 FOLDER1
drwxr-xr-x 2 root root 4096 Apr 22 22:00 FOLDER2

Wie kann ich sehen, wer der Besitzer dieses Verzeichnisses ist? Ich weiß, dass ich diesen Befehl verwenden kann, chmod a+rw user um jedem Lese- und Schreibrechte zu erteilen, aber ich möchte sie nur einem Benutzer erteilen. Und es gibt nur einen Benutzer im System, aber ich werde in Zukunft vielleicht mehr erstellen. Ich möchte das Konzept von Besitzern und Gruppen verstehen. Weitere Fragen: - Wie kann ich sehen, welche Gruppen vorhanden sind? Wie erstelle ich Gruppen und wie füge ich Benutzer zu diesen Gruppen hinzu?

Antwort1

Sehr gute und richtige Antwort vonyxz

Das Einzige, was es verbessern würde, wäre ein tatsächliches Beispiel (auch wenn es impliziert ist). Da ich noch keinen Kommentar abgeben kann (nicht genügend Reputationspunkte), muss ich eine zusätzliche Antwort schreiben, um Beispiele anzugeben.

Vereinfachte Befehlssyntax:

sudo chown username[:[groupname]] <filename>
sudo chown username[:[groupname]] <dirname>

Für die folgenden Beispiele sind dies die Parameter

  • Nutzername:Jack
  • Name der Anmeldegruppe:ptimer
  • Gruppenname:Konten
  • Dateiname:foo
  • Verzeichnisname:Kunden

Die Datei fooexistiert auf dem System, das serverin der Freigabe namens dataim Verzeichnis genannt wird clients.dh //sever/data/clients/foo

Beispiele: Dateieigentümer ändern

1. admin@server:/data$ sudo chown jack clients/foo  
2. admin@server:/data$ sudo chown jack: clients/foo  
3. admin@server:/data$ sudo chown jack:accounts clients/foo  
  1. Besitzer ändern vonDateibenannt foonachJack
  2. Besitzer ändern vonDateibenannt foonachJackund Gruppeptimer. Jack ist Mitglied derAnmeldegruppegenanntptimer. In diesem BeispielAnmeldegruppewird impliziert durch die Verwendung von:nach dem Besitzernamen
  3. Besitzer ändern vonDateibenannt foonachJackund Gruppe zuaccounts

Beispiele: Eigentümer eines Verzeichnisses ändern

4. **admin@server:/data$** sudo chown jack clients  
5. admin@server:/data$ sudo chown jack: clients  
6. admin@server:/data$ sudo chown jack:accounts client  
7. admin@server:/data$ sudo chown -R jack:accounts client  
  1. Besitzer ändern vonVerzeichnisbenannt clientsnachJack
  2. Besitzer ändern vonVerzeichnisbenannt clientsnachJackund Gruppeptimer
  3. Besitzer ändern vonVerzeichnisbenannt clientsnachJackund Gruppe zuaccounts
  4. Besitzer ändern vonVerzeichnisund alle Dateien im Verzeichnis mit dem clientsNamenJackund Gruppe zuaccounts

Weitere Hilfe finden Sie unter:

chown --help  
man chown
info chown

Antwort2

In Ihrer ls -lAusgabe enthalten die dritte und vierte Spalte den Benutzer (Besitzer) bzw. die Gruppe (Besitzer). Ihre Ordner gehören also beide dem Root-Benutzer.

Wenn Sie ausführen chmod +006 yourfile, erhalten alle Benutzer Lese- und Schreibberechtigung für yourfile. In diesem Fall rootist der Ordner Eigentümer, Sie müssen also sudo(oder eine andere Methode verwenden, um den Befehl als Root einzugeben). Wenn Sie nur einem einzigen Benutzer oder einigen wenigen Benutzern Zugriff gewähren möchten, können Sie chown userowner[:groupowner](mit sudo) verwenden, um diesen Benutzer oder diese Gruppe zum Eigentümer der Datei zu machen, und verwenden, chmod +600um dem Eigentümer Lese- und Schreibberechtigungen zu erteilen, und chmod +060um der Gruppe des Eigentümers Lese- und Schreibberechtigungen zu erteilen.

Um die Gruppen aufzulisten, zu denen der aktuelle Benutzer gehört, verwenden Sie groups username. Um alle Gruppen aufzulisten, können Sie verwenden cat /etc/group. getent groupfunktioniert auch.

Um eine neue Gruppe zu erstellen, verwenden Sie groupadd.

Um einen Benutzer zu einer Gruppe hinzuzufügen, verwenden Sie usermod -Ga groupname username. Wenn Sie das Flag nicht verwenden -a, wird der Benutzer usernameaus allen aktuellen Gruppen entfernt und ist nur in der neuen Gruppe vorhanden groupname.

verwandte Informationen