So steuern Sie Datei- und Ordnerberechtigungen auf Linux-Servern

Wenn wir einen NAS-Server basierend auf . haben Linux, oder direkt ein Betriebssystem wie Debian oder Ubuntu wo wir verschiedene Dienste installiert haben, um von anderen Benutzern auf Dateien und Ordner im lokalen Netzwerk zuzugreifen, den Lese-, Schreib- und Ausführungszugriff darauf zu steuern. Dateien und Ordner, die wir freigeben, ist von wesentlicher Bedeutung. Wir müssen bedenken, dass es bei der Freigabe unserer Ordner und Dateien über Samba oder FTP möglich ist, dass die Authentifizierung der Clients mit einem Benutzer ohne Berechtigungen erfolgt, daher müssen wir die Benutzer und Gruppen richtig organisieren, um die erforderlichen Berechtigungen bereitzustellen und nicht mehr .

Wir müssen auch bedenken, dass die Betriebssysteme Mehrbenutzer sind, wir können gleichzeitig mit mehreren lokal in unserem Betriebssystem registrierten Benutzern zugreifen, daher ist es sehr wichtig, die vorhandenen Berechtigungen regelmäßig zu überprüfen. Oft möchten wir verhindern, dass andere Benutzer des Computers die Dateien ändern, wissen aber nicht, wie wir dies erreichen können. Bei dieser Gelegenheit werden wir Ihnen beibringen, wie Sie Ordnern und Dateien in Linux Berechtigungen zuweisen.

Steuern von Datei- und Ordnerberechtigungen auf Linux-Servern

Um alles viel klarer zu machen, werden wir diesen Artikel in mehrere Abschnitte unterteilen, die es uns ermöglichen, jederzeit besser zu verstehen, worüber gesprochen wird. Es muss klargestellt werden, dass alles, was wir erklären werden, über die Befehlszeile erfolgt, dh wir müssen eine Konsole herausnehmen oder über SSH eine Verbindung zu unserem Linux-Server herstellen. Wenn Sie mit dieser Linux-Komponente nicht vertraut sind, ist dies vielleicht die beste Zeit, da der Schwierigkeitsgrad, über den wir sprechen werden, niedrig ist.

Was ist der chmod-Befehl und wozu dient er?

Der Befehl chmod (Änderungsmodus) soll die Benutzer-, Gruppen- und andere Berechtigungen für die Dateien und Ordner ändern. Wir können die Lese-, Schreib- und Ausführungsberechtigungen aller gewünschten Dateien und Ordner ändern a Rekursive Änderung eines bestimmten Ordners, auf diese Weise sind auch alle darin enthaltenen Dateien und Ordner von dieser Änderung betroffen. Der Befehl chmod ist sowohl in Linux- als auch in Unix-Betriebssystemen verfügbar. Wenn also unser Server wie FreeBSD auf Unix basiert, können wir die Berechtigungen von Dateien und Ordnern auf die gleiche Weise ändern, wie wir es in einem Debian oder Ubuntu tun.

Die Syntax für die Verwendung von chmod lautet wie folgt:

chmod [Modifikatoren] Datei- / Verzeichnisberechtigungen

Zuerst führen wir den Befehl chmod aus, dann können wir verschiedene Modifikatoren einbinden, zum Beispiel das „-R“, um es für alle Ordner und Dateien innerhalb desselben Ordners rekursiv zu machen, dann müssen wir die neuen Berechtigungen setzen, die wir anwenden möchten, und schließlich geben wir den absoluten oder relativen Pfad der Datei oder des Ordners an, für den wir die Berechtigungen ändern möchten.

Ein sehr wichtiges Detail ist, dass es in manchen Fällen unbedingt erforderlich ist, chmod mit Superuser-Rechten auszuführen, da nur der Administrator-Benutzer des Betriebssystems die Berechtigungen ändern kann. Dies kann erreicht werden, indem Sie sich als Root anmelden oder direkt den beliebten „sudo“-Befehl verwenden, um den Superuser vorübergehend mit dem auszuführenden Befehl zu befördern.

Beispiele für die Verwendung von chmod zum Ändern von Berechtigungen

Als erstes erstellen wir einen neuen Ordner und Dateien darin, mit dem Ziel, dass Sie mit diesen Ordnern und Dateien üben und die Standardberechtigungen der bereits in Ihrem Betriebssystem vorhandenen Ordner nicht ändern. Aus diesem Grund werden wir Vorbereitungen für einen erfolgreichen Test treffen.

Bevor Sie beginnen, werden alle Befehle, die Sie ausführen werden, mit verschiedenen Benutzern ausgeführt, um die Berechtigungen, die wir anwenden werden, korrekt zu überprüfen. Um auf Linux-Systemen von einem Benutzer zum anderen zu wechseln, öffnen Sie einfach die Konsole und führen Sie ” dein Benutzername “, geben wir das Passwort ein und greifen automatisch auf das Terminal zu, als wären wir der andere Benutzer.

Vorbereitung unseres Systems zum Testen

Das erste, was wir tun werden, ist einen Ordner im aktuellen Verzeichnis jedes Benutzers erstellen , befindet sich normalerweise in / home / username.

mkdir Carpetathis article

Später werden wir in diesen Ordner wechseln und eine Datei erstellen:

cd Carpetathis article

Touch-Testdatei

Zum Abschluss schreiben wir den folgenden Befehl, um das Level zu erhöhen und den von uns erstellten Ordner zu verlassen:

cd ..

Damit haben wir unser System bereit, um mit dem Testen von Berechtigungsänderungen zu beginnen.

Informationen zu Dateien und Ordnern abrufen

Wenn wir die vorhandenen Dateien in einem Ordner auflisten möchten, müssen wir nur den folgenden Befehl schreiben:

ls

Damit erhalten wir nur den Namen der Dateien oder Ordner, in denen wir uns auf dem Pfad befinden. Um mehr Details zu erhalten, müssen wir Folgendes schreiben:

ls -l

Wir haben diesen Befehl auf unserem Server ausgeführt, hier können Sie sehen, wie die Ausgabe aussieht:

Dieser Befehl liefert die folgenden Informationen (von links nach rechts):

  • Dateityp (Datei zeigt „-“ und Verzeichnis zeigt ein „d“).
  • Lese-, Schreib- und Ausführungsberechtigungen, sowohl für Benutzer, Gruppen und andere.
  • Besitzer-Benutzer.
  • Gruppe, die Eigentümer der Datei ist.
  • Größe
  • Datum der letzten Änderung.
  • Name

Sobald wir den Ordner und die Dateien erstellt und die Ausgabe des Befehls «ls -l» gesehen haben, werden wir die Berechtigungen interpretieren, die die Dateien oder Ordner haben.

Interpretieren Sie die Berechtigungen, die eine Datei oder ein Ordner hat

Sie haben zuvor gesehen, dass die verschiedenen Dateien diese Berechtigungen haben:

drwxr-xr-x 3 bron bron 4096 may 6 13:19 Descargas

In dieser angebotenen Zeichenfolge sehen wir, dass es für jede Datei oder jeden Ordner in erster Linie eine Reihe von Buchstaben gibt. Dies sind die Berechtigungen, die die Datei hat und wie folgt gelesen werden:

otorgar-permisos-fichero-o-carpeta-linux

Im vorherigen Beispiel haben wir die Berechtigungen „drwxr-xr-x“, dies bedeutet Folgendes:

  • d: Verzeichnis
  • rwx: Lese-, Schreib- und Ausführungsberechtigungen für den Benutzer, dem das Verzeichnis gehört.
  • rx: Lese- und Ausführungsberechtigungen für die Gruppe, die das Verzeichnis besitzt.
  • rx: Lese- und Ausführungsberechtigungen für andere im Verzeichnis.

Wenn wir möchten, dass nur der Besitzerbenutzer eine bestimmte Datei lesen, schreiben und ausführen kann, müssten wir Folgendes sehen:

-rwx------

Das heißt, wir können den folgenden Rollen Berechtigungen erteilen:

  • Besitzer-Benutzer.
  • Gruppe, zu der der Eigentümer gehört
  • Rest der Teambenutzer.

So ändern Sie Datei- und Ordnerberechtigungen

Der Befehl, den wir verwenden müssen, um diese Aufgabe auszuführen, ist chmod. Dies ist das Tool, mit dem wir Berechtigungen sowohl für eine Datei als auch für einen vorhandenen Ordner im Dateisystem unseres Betriebssystems hinzufügen oder entfernen können. Um diese Konfiguration mit chmod vorzunehmen, können wir dies auf zwei verschiedene Arten tun, indem wir Buchstaben verwenden, die „menschlicher“ aber länger sind, und auch Zahlen im „oktalen“ Format, was viel schneller ist. Diese letzte Form ist wegen ihrer Geschwindigkeit unser Favorit, obwohl es möglich ist, dass Sie zuerst mehr Buchstaben verwenden möchten, weil sie viel besser verstanden wird.

Letters

Wenn wir Buchstaben verwenden, um Berechtigungen für einen Ordner oder eine Datei hinzuzufügen oder zu entfernen, müssen wir die Rollen, Symbole und Berechtigungen berücksichtigen.

Es gibt drei Arten von Rollen:

  • du: Benutzer
  • g: Gruppe
  • oder andere
  • a: all (all), wenn Sie die gleiche Berechtigung auf Benutzer, Gruppen und andere anwenden müssen, verwenden Sie „a“, um Zeit zu sparen.

Zwei Arten von Symbolen:

  • +: Berechtigungen hinzufügen
  • -: Berechtigungen entfernen
  • =: gibt die Berechtigungen an.

Drei Arten von Genehmigungen:

  • r: lesen
  • w: schreiben
  • x: Ausführung

Als nächstes bieten wir Ihnen eine Reihe von Beispielen an, damit Sie sehen können, wovon wir sprechen:

Erteilen Sie allen Rollen, sowohl dem Benutzer als auch der Gruppe und anderen, vollständige Lese-, Schreib- und Ausführungsberechtigungen:

chmod ugo+rwx archivoDePrueba

Entfernen Sie Lese-, Schreib- und Ausführungsberechtigungen von anderen Benutzern:

chmod o-rwx archivoDePrueba

Am Ende liegt alles darin, die Rollen, Symbole und Berechtigungen je nach Bedarf zu kombinieren.

Oktal basierend auf Zahlen

Das chmod Befehl ist auch mit einer anderen Nomenklatur kompatibel, die wir Ihnen beibringen werden und die auf Oktal basiert.

Stellen Sie sich vor, dass die Berechtigungen des Besitzers (rwx) durch 0 und 1 gekennzeichnet sind. Das heißt, wenn wir beispielsweise nur Lese- und Schreibberechtigungen (und keine Ausführungsberechtigungen) erteilen möchten, wäre dies: 110. Wenn wir nur Leseberechtigungen wünschen, würde dies sein: 100.

Daher erhalten wir unter Berücksichtigung aller bestehenden Möglichkeiten folgende Werte:

  • 0: 0
  • 0: 0
  • 0: 1
  • 0: 1
  • 1: 0
  • 1: 0
  • 1: 1
  • 1: 1

Das heißt, dies kann sowohl auf den Benutzer, die Gruppe als auch auf andere übertragen werden.

Das Format des Befehls wäre folgendes:

chmod xxx archivoDePrueba

Dabei werden die x in eine Zahl geändert, abhängig von den zugewiesenen Berechtigungen.

Wenn wir beispielsweise dem Besitzer volle Berechtigungen erteilen und die anderen beiden Rollen (Gruppe und andere) ohne Berechtigung belassen möchten, lautet der Befehl:

chmod 700 archivoDePrueba

Wenn wir allen Rollen Lese- und Schreibberechtigungen erteilen möchten, lautet dies:

chmod 666 archivoDePrueba

Mit diesen beiden einfachen Möglichkeiten können wir Datei- und Ordnerberechtigungen auf unserem Linux-Computer festlegen. Darüber hinaus haben wir den Befehl ls -l zur Hand, um Echtzeitinformationen zu den Dateien und Ordnern auf dem System zu erhalten. Wir empfehlen Ihnen, das offizielle chmod-Handbuch für Linux zu besuchen, dafür führen wir Folgendes auf der Konsole aus:

man chmod

Wir empfehlen auch, die Befehle getfacl und setfacl zu untersuchen, um erweiterte Zugriffskontrolllisten in Linux zu konfigurieren und nicht nur Benutzer, Gruppen und andere zu verwenden. Im Allgemeinen sollten Sie diese Zugriffssteuerungslisten nicht benötigen, wenn Sie Benutzer und Gruppen gut organisieren.