Linux-Berechtigungen für Systemadministratoren und Entwickler

Linux-Berechtigungen für Systemadministratoren und Entwickler

Linux-Berechtigungen für Systemadministratoren und Entwickler

Das Problem der Berechtigungen unter Linux und seiner korrekten Verwendung durch den Befehl "chmod" wird in den SL-Communitys sehr häufig behandelt und diskutiert. von fortgeschrittenen Benutzern, Technikern und Administratoren von Servern und Systemen. Zum Beispiel haben wir in unserem Blog 2 sehr gute Veröffentlichungen darüber, die sind: Berechtigungen und Rechte unter Linux (01/12) y Grundberechtigungen in GNU / Linux mit chmod (08/16).

Aber oft SW-Entwickler Wer sind diejenigen, die die Anwendungen und Systeme erstellen, die meisten davon Systeme und Websites? Bei der Entwicklung berücksichtigen sie normalerweise nicht, welche Berechtigungen für sie implementiert werden müssenDie Aufgabe bleibt fast immer auf der Seite der Server- und Systemadministratoren. In dieser Veröffentlichung werden wir versuchen, ihnen diesbezüglich eine kleine Anleitung zu geben.

Linux-Berechtigungen für DevOps / BDA: Einführung

Einführung

Der Befehl "chmod»Ist sehr nützlich und wichtig für die fortgeschrittene Verwendung von Linux-basierten Betriebssystemen. Als solches ist "chmod" jedoch kein eigenständiges Paket, sondern in das Paket integriert. "coreutils«. Das Paket "coreutils" ist ein Paket, das dem Betriebssystem viele grundlegende Tools für die Dateiverwaltung, Befehlsinterpreter und Textverarbeitung bietet. Im Allgemeinen ist es in den meisten Linux-Distributionen bereits standardmäßig installiert.

Insbesondere enthält dieses Paket zusätzlich zum Befehl "chmod" die folgenden Befehle: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr faktor false flock fmt falten gruppen head hostid id install join link numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha

Zusammenfassend ermöglicht der Befehl «chmod» die sehr wichtige Aufgabe, die Berechtigungen für Dateien und Ordner für alle vom Betriebssystem verwalteten Benutzer zu verwalten. Dies liegt daran, dass Linux als Betriebssystem für mehrere Benutzer ausgelegt ist und daher der Arbeitsumgebung ein Berechtigungssystem zur Steuerung der autorisierten Vorgänge für Dateien und Verzeichnisse zur Verfügung stellen muss, das alle Systemressourcen und umfasst die Geräte.

Inhalt

Linux-Berechtigungen für SW / BD: Inhalt 1

Verwendung für SW-Entwickler

Ein Server- und Systemadministrator (Sysadmin) muss bei der Entscheidung, welche Berechtigungen einem Benutzer der X-Ebene oder des X-Profils für X-Dateien oder -Ordner erteilt werden sollen, genau wissen, welche Art von Vorgängen oder Prozessen er für sie ausführen muss. Im Fall eines Webservers können Benutzer in zwei Typen eingeteilt werden:

  1. Administratoren: Wer über ein Benutzerkonto auf dem Server verfügt, um sich anzumelden, über bestimmte Berechtigungen verfügt und im Allgemeinen bestimmte Änderungen (Kopieren / Löschen / Ändern) an dem über SSH oder SFTP installierten System oder der Website vornimmt.
  2. Benutzer ohne Administratorrechte: Dass sie kein Benutzerkonto auf dem Server haben, da sie nur Besucher der Site und des Websystems sind. Daher haben sie keine Berechtigung, direkt auf Dateien und Ordner zuzugreifen, sondern interagieren mit ihnen über die Weboberfläche der Site oder des installierten Websystems.

Wenn ein Sysadmin jedoch nicht genug oder nicht ausreichend erhält Informationen, Dokumentation oder Unterstützung durch SW-Entwickler zu den Funktionen, Funktionen oder Dateistrukturen der zu installierenden Websites und Systeme führt am Ende das zuverlässige Maximum aus, was in diesem Fall normalerweise ist:

chmod 777 -R /var/www/sistema-web

Und oft endet es mit:

chown root:root -R /var/www/sistema-web

Linux-Berechtigungen für SW / BD: Inhalt 2

Warnung

Dies ist normalerweise eine schlechte Vorgehensweise, vermeidet jedoch normalerweise Probleme mit der Berechtigung und der fehlerhaften Ausführung der installierten Websites und Systeme. Eine schlechte Praxis, da, wenn der Befehl chmod 777 auf diese Weise für den Ordner und die Dateien einer Site oder eines Websystems ausgeführt wird, überhaupt keine Sicherheit besteht.

Ermöglichen, dass jeder Benutzer der Site oder des Websystems online Dateien innerhalb der Dateistruktur der Site oder des Websystems innerhalb des Webservers oder darüber hinaus ohne größere Hindernisse ändern oder löschen kann. Da muss beachtet werden, dass es der Webserver ist, der im Namen der besuchenden Benutzer handelt, und dass er in der Lage ist, dieselben Dateien zu ändern, die ausgeführt werden.

Und falls der Benutzer ein Angreifer ist und eine Sicherheitslücke in der Site oder im Websystem aufweist, kann er diese leicht ausnutzen, um sie zu verunstalten und zu deaktivierenoder, noch schlimmer, fügen Sie bösartigen Code ein, um Phishing-Angriffe auszuführen oder Informationen vom Server zu stehlen, ohne dass dies jemand merkt.

Linux-Berechtigungen für SW / BD: Inhalt 3

Empfehlungen

Um diese Art von Maßnahmen zu vermeiden Der Sysadmin oder der SW-Entwickler muss sicherstellen, dass die Ordner und Dateien der verschiedenen Systeme oder Websites die richtigen und erforderlichen Berechtigungen und Benutzer enthalten um zukünftige Sicherheits- und Datenschutzprobleme zu vermeiden.

Auf der Berechtigungsstufe können die folgenden 3 Befehle ausgeführt werden, um die normalen Berechtigungen und Benutzer eines installierten Systems oder einer installierten Website wiederherzustellen.Mit anderen Worten, setzen Sie den Wert 755 auf alle Verzeichnisse und 644 auf Dateien.

Denken Sie immer daran, sie im System- oder Website-Ordner auszuführenWenn sie in einem höheren Ordner (Verzeichnis) ausgeführt werden, z. B. im Stammverzeichnis des Servers, ändern die Befehlsbefehle rekursiv alle Berechtigungen des Servers, sodass sie höchstwahrscheinlich nicht mehr funktionieren.

Linux-Berechtigungen für SW / BD: Inhalt 4

Berechtigungen für Ordner (Verzeichnisse)

Beispiele

Verzeichnisse und Dateiberechtigungen

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

y

chmod 777 -R .

o

chmod 777 -R /var/www/sistema-web

Wenn Sie sich außerhalb des Ordners (Verzeichnisses) des Systems oder der Website befinden.

System- oder Website-Benutzer

chown www-data:www-data -R .

o

chown www-data:www-data -R /var/www/sistema-web

Wenn Sie sich außerhalb des Ordners (Verzeichnisses) des Systems oder der Website befinden. Und die Benutzer-www-Daten werden nur als Beispiel verwendet, da sie für die Verwendung von Apache2 am häufigsten verwendet oder geeignet sind.

Linux-Berechtigungen für SW / BD: Inhalt 5

Berechtigungen für Dateien (Dateien)

Sobald die Berechtigungsänderungen vorgenommen wurden, können wir die Berechtigungen der Verzeichnisse und Dateien ändern, für die wir unterschiedliche Berechtigungen manuell haben möchten. Und wenn es notwendig ist, auch die Eigentümerbenutzer der notwendigen zu ändern. Daher müssen sich zu diesem Zeitpunkt sowohl der Sysadmin- als auch der SW-Entwickler darauf einigen, welche Berechtigungen für jeden Ordner und jede Datei in der System- oder Website-Struktur erforderlich sind.

Linux-Berechtigungen für SW / BD: Fazit

Fazit

Die Verwaltung der Berechtigungen für die Dateien und Ordner der Linux- oder UNIX-Betriebssysteme ist einer der großen Vorteile und Nutzen derselben, da sie eine bessere, präzisere und sicherere Kontrolle der verschiedenen Zugriffs-, Editions- und Ausführungsebenen für die Dateien und Ordner ermöglichen.

Und vieles mehr, wenn es um die Ebene von Webservern geht, dh wo die Systeme oder internen und externen Websites einer Organisation gehostet werden, Da es eine höhere Priorität ist zu wissen, welche Berechtigungen jedem Verzeichnis oder jeder Datei zugewiesen werden sollten, um das beste Gleichgewicht zwischen Datenschutz, Sicherheit und Funktionalität zu erreichen.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   polg28 sagte

    Guten Morgen, wie geht es dir?
    Ich beschäftige mich mit Linux. Ich habe eine Anwendung, die Dateien daraus importieren kann. Der Benutzer lädt eine ZIP-Datei mit einem Ordner mit XML-Dateien hoch, nachdem er die Dateien entpackt hat, die in die Datenbank eingefügt wurden. In Windows habe ich keine Probleme, wenn ich die Anwendung an Linux weitergebe, fehlen mir einige Berechtigungen, um im Prinzip alles zu testen, was ich in diesem Artikel gesagt habe, und es sollte nicht getan werden, haha ​​(aber das werde ich ändern, sobald ich alle Funktionen validieren kann). .
    Tatsache ist, dass die Dateien dekomprimiert werden, aber ich sehe, dass sie nur mit Lese- und Schreibberechtigungen für den Eigentümer, Leseberechtigungen für die Eigentümergruppe und ohne Berechtigungen für andere heruntergeladen werden. Wenn die Dateien dem Benutzer gehören, der die Anwendung verwendet. Ich verstehe, dass es ohne die Ausführungsberechtigungen nicht in der Lage ist, dem normalen Ablauf des Prozesses zu folgen und die XML in die Datenbank einzufügen. Zu welcher Frage kommt meine Frage: Wie kann ich Dateien Berechtigungen erteilen, die ich noch nicht auf dem System habe? In dem heruntergeladenen Ordner (tmp) sind alle Berechtigungen vorhanden. Sie werden erneut kursiv angewendet. Jedes Mal, wenn Dateien in diesen Ordner heruntergeladen werden, verfügen sie jedoch nur über die angegebenen Berechtigungen. Gibt es eine Möglichkeit, dass die in diesem Ordner angezeigten Dateien auch mit Ausführungsberechtigungen belassen werden können?
    Ich hoffe ich war klar, vielen Dank im Voraus und ausgezeichnetes Blog

  2.   Linux nach der Installation sagte

    Ich gehe davon aus, dass der Ordner / tmp oder… / tmp 755 Berechtigungen hat, aber selbst wenn der Benutzer, dem die Anwendung gehört, diese hinterlegt, hinterlässt er ihnen andere Berechtigungen. Ich bin kein Entwickler, aber ich gehe davon aus, dass in der Sprache der Anwendung oder einer anderen eine Routine angegeben werden kann, die den Befehlsbefehl (bash) der erforderlichen Berechtigungen (chmod) und den Eigentümer der Dateien (chown) ausführt. Andernfalls können Sie jede Minute ein Skript ausführen.