GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Alles, was Sie über den Linux-Chmod-Befehl wissen müssen

Wenn Sie mit dem Linux-Dateisystem vertraut sind, wissen Sie, dass alle Systemdateien im Stammverzeichnis (/) gespeichert sind. Linux reserviert einige spezifische Dateisystemberechtigungen nur für den Root-Benutzer. Der Hauptunterschied zwischen dem Dateisystem des Linux-basierten Betriebssystems und anderen Betriebssystemen besteht darin, dass Linux bestimmte Dateisystemberechtigungen reserviert. Wenn Sie kein Root-Benutzer sind, können Sie keine Root-Dateien von Ihrem System löschen, verschieben oder ändern. Wenn Sie beispielsweise einen localhost-Server auf Ihrem Linux-System ausführen, können Sie die Serverkonfigurationsdateien nicht ohne die Root-Berechtigung verschieben. Auch Sie können die Konfigurationseinstellungen nicht ohne die Root-Berechtigung ändern. Um den Dateisystemstatus zu ändern, müssen Sie die chmod-Befehle kennen. Mit dem Befehl chmod können Sie Dateien auf einem Linux-System lesen, schreiben und ausführen.

Chmod-Befehl unter Linux

Linux wird nicht nur für Zuverlässigkeit und Sicherheit verwendet; es wird auch für multifunktionale Zwecke verwendet. Sie können Server, Mehrbenutzeraktivitäten usw. ausführen. Das Problem tritt auf, wenn Sie Ihrem System einen Benutzer zuweisen, aber keinen Root-Zugriff gewähren. Manchmal muss dieser Benutzer einige Superuser-Arbeiten erledigen, um die Umgebung zu konfigurieren und funktionsfähig zu machen.

Da kommt der Begriff des chmod-Befehls für Linux. Wie ich bereits sagte, wird Linux nicht nur für Multitasking oder multifunktionale Arbeit verwendet; es wird auch für mehrere Benutzer verwendet. Der Befehl chmod kann die Lese-, Schreib- und Ausführungsaufgaben mit nur einem Root-Passwort auf einem Linux-System ändern.

Im gesamten Beitrag werden wir die Unterschiede zwischen chmod 777, chmod 755 oder chmod 600 und weiteren chmod-Befehlen auf dem Linux-System besprechen.

Wenn Sie ein begeisterter Linux-Benutzer sind, können Sie diesem Link folgen, um detailliertere Informationen zum Befehl chmod unter Linux zu erhalten. Unter dem folgenden Link finden Sie eine Tabelle, wie im Bild unten gezeigt. Sie müssen den Wert der spezifischen Berechtigung angeben. Die Tabelle zeigt Ihnen automatisch, welche Art von Berechtigungen durch die spezifischen Befehle definiert werden.

Kennen Sie den aktuellen Berechtigungsstatus einer Datei/eines Verzeichnisses unter Linux

Jetzt gibt es Methoden, um die Berechtigungsdetails einer Datei oder eines Verzeichnisses in Linux zu überprüfen. Sie können entweder die GUI-Methode oder die CLI-Methode verwenden, um den Berechtigungsstatus einer Datei zu überprüfen. Hier lernen wir beide Methoden kennen, um den aktuellen Berechtigungsstatus einer Datei auf unserem System zu erfahren.

Methode 1:Verwenden Sie die GUI-Methode, um den Berechtigungsstatus zu überprüfen

Die Verwendung der Methode der grafischen Benutzeroberfläche ist die einfachste Methode, um Details einer Datei unter Linux zu überprüfen. Sie müssen nur die Datei auswählen und mit der rechten Maustaste auf die Datei klicken. Im Dropdown-Menü finden Sie die Option Eigenschaften. Wählen Sie die Option Eigenschaften, die ein neues Dialogfeld öffnet.

- -

Klicken Sie im Dialogfeld auf das Menü Berechtigung. Dort finden Sie die detaillierten Informationen zum Berechtigungsstatus in der Datei. Sie können die Eigentümerinformationen, Zugriffsdatensätze, Gruppeninformationen und den Sicherheitsinhalt dieser Datei anzeigen.

Methode 2:CLI-Methode, um den Berechtigungsstatus einer Datei zu erfahren

Linux-Power-User möchten immer die CLI-Methode verwenden, um jede Aufgabe zu erledigen. Nun, hier ist es, Sie können den Lese-, Schreib- und Ausführungsstatus jeder Datei oder jedes Verzeichnisses von Ihrer Linux-Terminal-Shell aus überprüfen. Bei dieser Methode verwenden wir die Befehle der langen Liste (ls -l), um den Berechtigungsstatus abzurufen.

Sie können sich eine Vorstellung davon machen, indem Sie sich die folgenden Terminal-Befehlszeilen ansehen, die unten angegeben sind, um den Berechtigungsstatus einer beliebigen Datei über die Terminal-Befehlszeilenschnittstelle abzurufen.

cd Documents
ls
ls -l sampledata.zip

Hier können Sie sehen, dass das Ausgabeergebnis mit einem Bindestrich (-) beginnt, was bedeutet, dass das Beispiel eine Datei und kein Verzeichnis ist. Das Verzeichnissymbol beginnt mit d. Dann das rw bedeutet die Lese- und Schreibberechtigung dieser Datei.

Um eine Demonstration auszuführen, können Sie die folgenden unten angegebenen Befehlszeilen ausführen, um eine neue Datei zu erstellen und die Berechtigungen dieser Datei anzuzeigen.

touch newfile.txt
chmod g+w newfile.txt
ls -og newfile.txt

Im obigen Bild sehen Sie, dass die Berechtigung als -rw-rw-r-- 1 geschrieben ist; hier das rw Symbol bedeutet, dass die Datei sowohl Lese- als auch Schreibrechte hat. Und das numerische Zeichen 1 bedeutet, dass der Benutzer die Berechtigung hat, die Datei auszuführen. Die grundlegenden numerischen Berechtigungssyntaxen werden unten erklärt.

  • 0 =Der Benutzer hat die Berechtigung zum Lesen, Schreiben und Ausführen der Datei.
  • 1 =Der aktuelle Benutzer hat die Berechtigung, die Datei auszuführen.
  • 2 =  Benutzer die Berechtigung zum Schreiben der Datei.
  • 3 =Der Benutzer hat die Berechtigung, die Datei zu schreiben und auszuführen.
  • 4 =Benutzer hat die Nur-Lese-Berechtigung.

Die Syntax und den Befehl chmod unter Linux verstehen

Der Befehl chmod hat einige Syntaxen, die Sie kennen müssen, um die Ausgabe des Befehls zu verstehen. Hier trage ich Erklärungen zu den sehr grundlegenden Syntaxen des Chmod-Befehls unter Linux ein. In dieser Phase lernen wir auch einige grundlegende chmod-Befehle kennen, die Sie möglicherweise täglich verwenden müssen.

  • u Das u Syntax erwähnt den Benutzer, dem die Datei oder das Verzeichnis gehört.
  • g Das g Syntax erwähnt die Gruppe, zu der die Datei gehört.
  • o Das o Syntax erwähnt, dass die Datei allen Benutzern gehört.
  • a Das a Syntax erwähnt, dass die Datei allen Benutzern und Gruppen gehört.
  • r Das r Syntax erwähnen, dass die Datei schreibgeschützt ist.
  • w Das w Syntax erwähnt, dass es die Berechtigung hat, die Datei zu schreiben.
  • x Das x Syntax erwähnt, dass der aktuelle Benutzer die Berechtigung hat, die Datei auszuführen.
  • Die Syntax erwähnt, dass der Benutzer die Berechtigung hat, die Datei zu löschen.

1. chmod -R 755:Berechtigung für ein gesamtes Verzeichnis ändern

Der chmod 755 wird oft als -R 755 in der Linux-Shell verwendet, um die Berechtigung des Dateisystems zu ändern. Sie können die chmod 775-Befehle auf Ihrer Linux-Terminal-Shell ausführen, wenn Sie Dateien aus keinem Verzeichnis schreiben oder entfernen können. Der Befehl chmod -R 775 hat die Möglichkeit, die Berechtigung für ein ganzes Verzeichnis statt für eine einzelne Datei zu ändern.

chmod -R 755 directory
sudo chmod -R 755 /var/www/html/

In der Abbildung unten sehen Sie, dass die Ausgabe der Protokollliste (ls -l) bereits die Lese-, Schreib- und Ausführungsberechtigung für das Verzeichnis geändert hat.

2. chmod 777:Berechtigungen für alle Benutzer zulassen

Hier sehen wir die Verwendung der chmod 777-Befehle auf dem Linux-System. Grundsätzlich sind alle chmod-Befehle dem Linux-Dateisystem zugeordnet. Um die chmod-Befehle besser zu verstehen, empfehle ich Ihnen, auch die Linux-Dateisystemhierarchie zu kennen.

Unter Linux werden jedoch die chmod 777-Befehle verwendet, um die Datei zu schreiben und auszuführen. Die folgenden Terminalbefehle können Ihnen helfen, eine grundlegende Vorstellung davon zu bekommen, wie der Befehl chmod 777 unter Linux funktioniert.

chmod 777 filename
sudo chmod 777 /var/www/
sudo chmod -R 777 /var/www/

Im Bild oben sehen Sie, dass die Ausgabe mit dem dr beginnt Syntax, und es hat den wxr Syntaxen mit, was bedeutet, dass der Zielpfad ein Verzeichnis ist und die Berechtigung zum Schreiben, Ausführen und Lesen hat. Am Ende der Ausgabe zeigt der Zahlenwert 3 an, dass der aktuelle die Berechtigung zum Schreiben und Ausführen des Verzeichnisses hat.

3. chmod +x :Erlaubnis zur Ausführung Datei/Verzeichnis

Hier kommt der riskanteste chmod-Befehl für Linux. Wenn Sie ein Neuling auf dem Linux-System sind, würde ich nicht empfehlen, den Befehl chmod +x auf Ihrem System zu verwenden. Grundsätzlich wird der Befehl chmod+x verwendet, um die Datei auszuführen oder den Prozess zu beenden. Mit Superuser-Macht können Sie den Befehl chmod+x ausführen, um Ihr gesamtes System zu zerstören.

Hier sind ein paar chmod+x-Befehle für die Linux-Systeme, die Sie zum besseren Verständnis befolgen können. Im Ausgabewert symbolisiert das Ziffernzeichen 1, dass der aktuelle Benutzer die Berechtigung hat, die Datei auszuführen.

sudo chmod +x /path/to/file
sudo chmod a+rx /usr/local/bin/composer

4. chmod 755:Dem Root-Benutzer erlauben, Dateien unter Linux zu lesen und zu schreiben

Zuvor haben wir die Verwendung des Befehls chmod -R 755 für Linux-Systeme gesehen; Aber jetzt werden wir die Verwendung von chmod 755 auf einem Linux-System sehen. Der Hauptunterschied zwischen chmod -R 755 und chmod 755 besteht darin, dass -R 775 allen Benutzern erlaubt, das gesamte Verzeichnis zu ändern, während der Befehl 775 nur dem Root-Benutzer erlaubt, das Dateisystem zu lesen und zu schreiben.

Sie können den folgenden Methoden folgen, um die chmod 755-Befehle auf Ihrer Linux-Terminal-Shell auszuführen.

chmod 755 /path/to/file
chmod 755 /usr/local/bin/certbot-auto
chmod 755 /home/UbuntuPIT/New_TES/code/SG_V1.0/Voice-data.pl

5. chmod 700:Lese-, Schreib- und Ausführungsberechtigung für den Eigentümer zulassen

Wenn Sie der Besitzer Ihres Linux-Systems sind und eine bestimmte Datei aus Ihrem Dateisystem immer noch nicht schreiben oder ausführen können, kann dies daran liegen, dass Sie nicht die richtige Berechtigung für das System haben. Warum brauche ich die Erlaubnis, Dateien von meinem eigenen PC auszuführen, während ich der Root-Benutzer bin?

Nun, Sie wissen vielleicht bereits, dass das Linux-Dateisystem nicht wie Windows oder andere Betriebssysteme funktioniert. Linux möchte sicherstellen, dass Sie wissen, was Sie tun. Aus diesem Grund müssen Sie möglicherweise die chmod 700-Berechtigung erhalten, um eine bestimmte Datei von Ihrem Linux-System auszuführen, obwohl Sie der Eigentümer sind.

Sie können die folgenden Terminalbefehle unten sehen, um zu verstehen, wie der Befehl chmod 700 unter Linux funktioniert.

chmod 700 /path/to/file
sudo chmod 700 /etc/ssl/private

Im obigen Bild sehen Sie, dass chmod als Root-Benutzer ausgeführt wird, und Sie können das Ergebnis der langen Liste (ls-l) ohne Root-Rechte nicht sehen.

6. chmod 666:Ausführung für alle Benutzer unter Linux deaktivieren

Als Linux-Systemadministrator fand ich persönlich die chmod 666-Befehle sehr interessant. Dieser Befehl ist sehr hilfreich für diejenigen, die remote von einem System zum anderen arbeiten müssen. Manchmal kommt es bei Clients zu Konflikten mit dem Dateisystem. Sie können die chmod 666-Regel für alle Verzeichnisse hinzufügen, damit die naiven Benutzer nicht mit dem Dateisystem in Konflikt geraten können.

Kommen wir zurück zum Punkt; unter Linux deaktiviert der chmod 666 die Ausführungserlaubnis von Dateien oder Verzeichnissen für alle Benutzer. Die chmod 666-Befehle erlauben Benutzern nur das Lesen und Schreiben von Dateien. Sie können die unten angegebenen Terminal-Befehlszeilen sehen, um eine bessere Vorstellung davon zu bekommen, wie die chmod 666-Befehle auf einem Linux-System funktionieren.

sudo chmod -c 666 /path/to/file

7. chmod 644:Nur-Lese-Zugriffsberechtigung für alle Benutzer

Wenn Sie ein Systemadministrator oder Besitzer eines lokalen FTP-Servers sind, hilft Ihnen dieser Befehl. Sie können Regeln für den Benutzer oder die Besucher festlegen, um die Datei nur anzuzeigen und herunterzuladen. Auf diese Weise werden Ihre Dateien sicher aufbewahrt und Sie können sie mit vielen Benutzern teilen.

Unter Linux funktioniert der Befehl chmod 644 sowohl für Dateien als auch für Verzeichnisse. Sie können die chmod 644-Befehle in jedem Linux-Dateisystem, Server oder Mediaplayer-Server wie Plex oder Emby festlegen. Hier ist ein Beispiel dafür, wie Sie die chmod 644-Befehle auf einem Linux-System ausführen können.

sudo chmod 644 /path/to/file

8. chmod 600:Read-Write zulassen, aber keine Ausführung

Angenommen, Sie arbeiten für ein multinationales Unternehmen, um auf einem lokalen Netzwerkserver zu arbeiten, um Dokumente oder Dateien mit Ihren Kollegen zu teilen. In diesem Fall möchten Sie ihnen möglicherweise nicht die Erlaubnis erteilen, Dateien aus Ihrem persönlichen Verzeichnis zu löschen.

Um dieses Problem zu lösen, können Linux-Benutzer die chmod 600-Befehle verwenden. Mit dem Befehl chmod 600 können Benutzer oder Clients die Datei und Verzeichnisse lesen und schreiben. Aber es erlaubt ihnen nicht, die Verzeichnisse zu löschen oder auszuführen. Niemand außer Ihnen kann Dateien von Ihrem System in einem mit chmod 600 geschützten System ausführen.

sudo chmod 600 /path/to/file/

Zusätzliche Tipps – 1:Verwenden Sie den Chmod-Befehl, um Pakete unter Linux zu installieren

Bis jetzt haben wir nur sehr wenige grundlegende chmod-Befehle für Linux-Distributionen gesehen, um auf das Dateisystem zuzugreifen oder Berechtigungen für das Dateisystem zu verweigern. Aber wussten Sie, dass der Befehl chmod auch auf dem Linux-System verwendet wird? Ja, in den meisten Fällen müssen Sie möglicherweise die chmod-Befehle ausführen, um ein Paket auf Ihrem Linux-System zu installieren.

Nachdem Sie die Binärpaketdatei einer Anwendung heruntergeladen haben, installieren Sie sie direkt mit den chmod-Befehlen auf Ihrem Linux-System. Hier ist ein Beispiel dafür, wie die chmod-Befehle aussehen, wenn Pakete über den chmod-Befehl auf Ihrem Linux-System installiert werden.

$ chmod +x install.sh
$ sudo ./install.sh

Extra-Tipps – 2:Verwenden Sie den Chmod-Befehl, um die Anfängerfehler unter Linux zu behandeln

Da der Befehl chmod unter Linux sehr mächtig ist, sollten Sie mit diesem Befehl sehr vorsichtig umgehen. Nur weil Sie die Root-Rechte haben, können Sie den chmod sowieso nicht in einem beliebigen Verzeichnis ausführen. Das Ausführen des chmod-Befehls ohne Verständnis kann Sie viel kosten. Nun werden wir einige Probleme sehen, die auftreten können, wenn Sie die chmod-Befehle auf Ihrem Linux-System nachlässig ausführen.

Fall 1: Führen Sie zufällig den Befehl chmod 655 aus und können keine Superuser-Arbeiten ausführen

Wenn Sie chmod 655 in Ihrem Root-Verzeichnis (/) ausführen, besteht die Möglichkeit, dass Sie keinen Root-Zugriff mehr auf Ihr Linux-Dateisystem haben. Wenn Sie diesen Fehler bereits gemacht haben, brauchen Sie sich keine Sorgen zu machen; Es gibt eine Methode, um die Root-Berechtigung Ihres Systems wiederherzustellen.

Sie müssen sich eine Live-USB-Festplatte oder eine CD des Linux-Betriebssystems besorgen, diese einlegen und in den Live-Sitzungsmodus wechseln. Führen Sie dann den folgenden chmod-Befehl auf Ihrer Terminal-Shell aus, um Ihre Root-Rechte zurückzuerhalten.

sudo chmod /path/to/root/ 755

Fall 2:Berechtigung hinzufügen, nachdem die Berechtigung gelöscht wurde

Hin und wieder kann es vorkommen, dass ein Fehler darin besteht, die Berechtigung für ein Verzeichnis statt für ein anderes Verzeichnis zu verweigern. In diesem Fall verlieren Sie möglicherweise vorübergehend den Zugriff auf das Verzeichnis. Um solche Probleme zu lösen, müssen Sie zuerst das Verzeichnis reparieren, das Sie versehentlich ausgeführt haben. Sie können der unten angegebenen Befehlszeile folgen, um zu verstehen, wie der Befehl chmod unter Linux funktioniert.

sudo chmod a-x /directory_that_you_accidentally_dropped

Führen Sie nun den folgenden chmod-Befehl auf Ihrem Linux-Terminal aus, um das Verzeichnis zu reparieren.

sudo chmod a+X /directory_that_you_accidentally_dropped

Fall 3:Berechtigung verweigert, sich bei einem Linux-Server anzumelden

Wenn Sie ein Linux-Serveradministrator sind und die chmod 444-Befehle für Ihren Serveradministratorpfad ausführen, besteht die Möglichkeit, dass Sie möglicherweise nicht mehr auf Ihren Server zugreifen können. In diesem Fall müssen Sie die folgenden chmod 555-Befehle in der Terminal-Shell ausführen, um das Problem zu beheben.

sudo chmod 555 <directory_path>

Hier ist noch ein Tipp:Wenn Sie die chmod 000-Befehle in einem beliebigen Verzeichnis ausführen, kann niemand außer dem Root-Benutzer dieses Verzeichnis lesen und schreiben.

Schlussworte

Unter Linux sind die chmod-Befehle sehr hilfreich, wenn Sie mit der Berechtigung des Dateisystems nicht weiterkommen. Als Linux-Systemadministrator müssen Sie alle primären chmod-Befehle unter Linux kennen. Im gesamten Beitrag habe ich den am häufigsten verwendeten Linux-chmod-Befehl beschrieben. Ich habe auch gezeigt, wie Sie Ihr System vor den Anfängerfehlern des chmod-Befehls retten können. Wenn Sie weitere Hilfe zum Befehl chmod benötigen, können Sie jederzeit Ihr Linux-Terminal und chmod --help öffnen .

Wenn Ihnen dieser Beitrag gefällt und Sie ihn hilfreich finden, teilen Sie ihn bitte mit Ihren Freunden und der Linux-Community. Sie können auch erwähnen, ob ich wichtige chmod-Befehle verpasst habe. Wir empfehlen Ihnen auch, Ihre Meinung zu diesem Beitrag im Kommentarbereich niederzuschreiben.


Linux
  1. Chmod-Befehl in Linux (Dateiberechtigungen)

  2. Alles, was Sie über Ubuntu 13.04 wissen müssen

  3. Linux-Dateikomprimierung:Alles, was Sie wissen müssen

  4. Linux-Dateiberechtigungen:Alles, was Sie wissen müssen

  5. 10 grundlegende Linux-Befehle, die Sie kennen müssen

Alles, was Sie über Black Lab Linux wissen müssen

Alles, was Sie über die Linux Mint-Distribution wissen müssen

Alles, was Sie über Inodes in Linux wissen müssen

Alles Wichtige, was Sie über Hard Link in Linux wissen müssen

Alles Wichtige, was Sie über UID in Linux wissen müssen

Alles, was Sie über das Linux /tmp-Verzeichnis wissen müssen