Zum Inhalt springen

Eine Einführung in Linux für IRC Administratoren

IRC Linux Administration

Dateiberechtigungen

Wer Benutzer und Gruppen pflegt, hat nur die halbe Miete gezahlt.
Am Ende ist es wichtig, welcher Benutzer, oder welche Gruppe auf die jeweiligen Ressourcen Zugriff hat.
Linux-Sicherheit bedeutet auch immer eine ordentliche Dateiberechtigung zu pflegen.

Dateiberechtigungen sind ein wichtiger Aspekt des Betriebssystems, der sicherstellt, dass Benutzer und Prozesse nur auf die Dateien zugreifen und diese ändern können, für die sie berechtigt sind. In diesem Artikel möchte ich dir einen Überblick über die verschiedenen Arten von Dateiberechtigungen geben und wie du sie auf Deinem System verwenden kannst.

In Linux gibt es drei Arten von Dateiberechtigungen: Lesen, Schreiben und Ausführen. Diese Berechtigungen können für drei Arten von Benutzern festgelegt werden: Eigentümer, Gruppe und alle anderen Benutzer.

Der Eigentümer einer Datei ist normalerweise der Benutzer, der die Datei erstellt hat. Eigentümer haben die volle Kontrolle über die Datei und können die Berechtigungen für Gruppen und andere Benutzer festlegen. Die Gruppe einer Datei ist eine Menge/Gruppe von Benutzern, die spezielle Berechtigungen für die Datei haben können, die von anderen Benutzern nicht genutzt werden können. Alle anderen Benutzer sind alle Benutzer, die nicht Eigentümer oder Mitglieder der Gruppe sind.

Wenn du die Berechtigungen für eine Datei anzeigen möchtest, kannst du das Terminal öffnen und den Befehl „ls -l“ eingeben. Das gibt dir eine Liste aller Dateien im aktuellen Verzeichnis sowie deren Berechtigungen und Eigentümer.

Hier ist ein Beispiel:

-rw-r–r–. 1 schutzgeist schutzgeist 2023 16. Nov 2020 ircbot
-rw-r–r– 1 benutzer benutzer 4096 Mär 25 14:32 beispiel.txt

Die erste Spalte zeigt die Berechtigungen für die Datei an. Die ersten drei Zeichen (-rw) geben an, dass der Eigentümer die Berechtigung zum Lesen und Schreiben hat, aber nicht zum Ausführen. Die nächsten drei Zeichen (r–) geben an, dass die Gruppe nur Leserechte hat, aber nicht schreiben oder ausführen darf. Die letzten drei Zeichen (r–) zeigen an, dass alle anderen Benutzer nur Leserechte haben.

Um die Berechtigungen für eine Datei zu ändern, kannst du den Befehl „chmod“ verwenden. Hier ist ein Beispiel:

chmod 755 beispiel.txt

In diesem Beispiel setzen wir die Berechtigungen für die Datei beispiel.txt auf 755. Das bedeutet, dass der Eigentümer Lese-, Schreib- und Ausführungsrechte hat, während die Gruppe und alle anderen Benutzer nur Leserechte haben.

Wenn du die Berechtigungen für eine ganze Gruppe von Dateien ändern möchtest, kannst du den Befehl „chmod“ mit der Option -R“ verwenden, um rekursiv durch alle Dateien und Verzeichnisse zu gehen. Hier ist ein Beispiel:

chmod -R 755 /home/benutzer/dokumente

In diesem Beispiel setzen wir die Berechtigungen für alle Dateien und Verzeichnisse im Verzeichnis /home/benutzer/dokumente auf 755.

Wir können Dateien auch als ausführbare Dateien deklarieren.

Möchten wir die Datei IRCInstall.sh als ausführbare Datei deklarieren, so lautet der Befehl

chmod +x IRCInstall.sh 

Wie können wir die Eigentümerschaften und Lese-/Schreibberechtigung innerhalb eines Verzeichnises prüfen ?

ls -l
Alternative kann man sich 
ls -lisa 
merken, um eine gute Übersicht zu erhalten. 

Wenn ein Benutzer über Schreibrechte verfügt, jedoch nicht der Eigentümer des Verzeichnisses oder Datei ist, so kann er diese Datei dennoch manipulieren aber auch löschen.
Ggf, ist kein Löschverhalten erwünscht.
Es gibt jedoch auch Möglichkeiten dies zu unterbinden. Auch nutzen wir den chmod-Befehl:

chmod +t irc-beispiel-Datei 

Nun kann der Benutzer keine Dateien mehr löschen, dessen Eigentümerschaft er nicht besitzt.
Nun möchten wir jedoch nicht permanent „nacharbeiten“ müssen und möchten sofort bei der Erstellung die Berechtigungen festsetzen. Das geschieht über den Befehl umask!

Was ist umask?

Der Befehl umask (User File Creation Mask) in Linux ist ein eingebauter Befehl, der die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse bestimmt. In Linux und Unix-Systemen werden Berechtigungen normalerweise in Oktalzahlen (0-7) angegeben, wobei jeder Ziffer eine Gruppe von Berechtigungen entspricht – Lesen (4), Schreiben (2) und Ausführen (1).

Wenn eine Datei oder ein Verzeichnis erstellt wird, werden die Berechtigungen normalerweise durch die Dateierstellungsmaske des Benutzers, die umask, beeinflusst. umask definiert, welche Berechtigungen standardmäßig nicht gesetzt werden sollen.

Beispiel und Anwendung

Lass uns mit einem Beispiel durchsehen, wie umask funktioniert.

Standard-umask-Einstellung

  • Nehmen wir an, Deine aktuelle umask-Einstellung ist 0022. Das bedeutet, dass die Schreibberechtigung für Gruppen und andere entfernt wird.
  • Wenn Du eine neue Datei erstellst, sind die Standardberechtigungen normalerweise 666 (rw-rw-rw-), aber mit umask 0022 werden diese zu 644 (rw-r–r–), was bedeutet, dass nur der Besitzer die Datei bearbeiten kann, während andere sie nur lesen können.

Ändern der umask-Einstellung

  • Um Deine umask temporär zu ändern, gib einfach umask gefolgt von der gewünschten Maske ein. Zum Beispiel: umask 0002.
  • Dies würde bei der Erstellung neuer Dateien Schreibberechtigungen für andere Benutzergruppen als die des Besitzers beibehalten.

Dauerhafte Änderung

  • Um die umask-Einstellung dauerhaft zu ändern, kannst Du sie in Deiner .bashrc– oder .profile-Datei für Deinen Benutzer oder in der /etc/profile-Datei für alle Benutzer festlegen.

Wichtig zu beachten

  • Die Verwendung von umask ist besonders wichtig in Multi-Benutzer-Umgebungen, wo der Schutz sensibler Daten entscheidend ist.
  • Eine zu restriktive umask kann die Zusammenarbeit erschweren, während eine zu lockere umask Sicherheitsrisiken birgt.

Dateiattribute

Was sind Dateiattribute unter Linux?

Dateiattribute sind spezielle Metadaten, die mit jeder Datei und jedem Verzeichnis in einem Computersystem verbunden sind. Sie bieten wichtige Informationen und Kontrollen über die Art und Weise, wie das Betriebssystem und die Nutzer mit diesen Dateien interagieren. Zu den gängigen Dateiattributen gehören Berechtigungen (wer die Datei lesen, schreiben oder ausführen darf), Zeitstempel (Erstellungs-, Änderungs- und Zugriffsdaten), sowie Flags, die beispielsweise anzeigen, ob eine Datei versteckt, schreibgeschützt oder für die Ausführung vorgesehen ist. In fortgeschrittenen Dateisystemen können Dateiattribute auch erweiterte Einstellungen wie Verschlüsselungsstatus, Komprimierung und andere spezielle Verhaltensweisen umfassen.

Das Attribut +i deklariert eine Datei als „unveränderbar“

Folgende Attribute können verändert werden!

Attribut Beschreibung Veränderbar
Berechtigungen Legt fest, wer die Datei lesen, schreiben oder ausführen darf. Ja
Zeitstempel Zeigt an, wann die Datei erstellt, zuletzt geändert oder zuletzt aufgerufen wurde. Ja
Schreibschutz Verhindert die Änderung der Datei. Ja
Versteckt Macht die Datei unsichtbar in normalen Verzeichnisauflistungen. Ja
Archiv Markiert die Datei für Backup- oder Archivierungszwecke. Ja
Systemdatei Kennzeichnet eine Datei als wichtig für das System. Eingeschränkt
Komprimierung Gibt an, ob die Datei komprimiert ist, um Speicherplatz zu sparen. Ja
Verschlüsselung Zeigt an, ob die Datei verschlüsselt ist. Ja

Diese Tabelle bietet einen grundlegenden Überblick über gängige Dateiattribute und deren Veränderbarkeit. Es ist wichtig zu beachten, dass einige Attribute, insbesondere solche, die mit der Systemintegrität zusammenhängen, möglicherweise beschränkte Veränderungsmöglichkeiten haben oder spezielle Berechtigungen erfordern.

chattr +s irc.txt
Seiten: 1 2 3 4 5
Schlagwörter: