fix(file-permissions): init
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
7d74b1a0db
commit
1579104655
@ -23,7 +23,7 @@ verfeinern der Rechtevergabe nicht standardmäßig aus.
|
||||
Linux ist als Mehrbenutzer-Betriebssystem entwickelt worden. Dies bedeutet, dass
|
||||
mehrere Benutzer gleichzeit auf dem System Prozesse ausführen können. Dabei
|
||||
werden die Berechtigungen auf Dateien und Verzeichnisse klar durch den Besitzer,
|
||||
als auch durch die Gruppe, welche als mehrere Benutzern bestehen kann, geregelt.
|
||||
als auch durch die Gruppe, welche mehrere Benutzer zusammenfasst, geregelt.
|
||||
|
||||
% #>------------------------------------------------------------------------<#
|
||||
\subsubsection{Benutzer}%
|
||||
@ -84,17 +84,18 @@ haben folgende Bedeutung:
|
||||
\begin{itemize}[itemsep=0pt]
|
||||
\item[\textbf{1. Spalte}] Name des Benutzers.
|
||||
\item[\textbf{2. Spalte}] Das Kennwort, gespeichert als Hash mit Informationen
|
||||
zum Hash.-Algorithmus. Der Wert \textit{!!} bedeutet, dass kein Kennwort
|
||||
zum Hash.-Algorithmus. Der Wert \textit{!} bedeutet, dass kein Kennwort
|
||||
definiert wurde.
|
||||
\item[\textbf{3. Spalte}] Enthält die Tage seit Beginn der Unix-Zeitrechnung,
|
||||
wann das Kennwort zuletzt geändert wurde.
|
||||
\item[\textbf{3. Spalte}] Enthält die Tage seit Beginn der
|
||||
\href{https://de.wikipedia.org/wiki/Unixzeit}{Unix-Zeitrechnung}, wann das
|
||||
Kennwort zuletzt geändert wurde.
|
||||
\item[\textbf{4. Spalte}] Tage bevor das Kennwort geändert werden muss.
|
||||
\item[\textbf{5. Spalte}] Tage ab wann eine Warnung ausgegeben werden soll,
|
||||
dass das Kennwort abläuft.
|
||||
\item[\textbf{5. Spalte}] Tage, ab wann eine Warnung, für das ablaufende Kennwort, ausgegeben werden soll.
|
||||
\item[\textbf{6. Spalte}] Tage bevor das Kennwort abläuft, nachdem keine
|
||||
Anmeldung erfolgt ist.
|
||||
\item[\textbf{7. Spalte}] Enthält die Tage seit Beginn der Unix-Zeitrechnung,
|
||||
seit dem das Kennwort abgelaufen ist.
|
||||
\item[\textbf{7. Spalte}] Enthält die Tage seit Beginn der
|
||||
\href{https://de.wikipedia.org/wiki/Unixzeit}{Unix-Zeitrechnung}, seit dem das
|
||||
Kennwort abgelaufen ist.
|
||||
\item[\textbf{8. Spalte}] Reservierte Spalte. Wird aktuell nicht verwendet.
|
||||
\end{itemize}
|
||||
|
||||
@ -122,8 +123,9 @@ und \textit{/etc/gshadow}. Die beiden Dateien sind ähnlich wie
|
||||
weniger Spalten.
|
||||
|
||||
Die Datei \textit{/etc/group} enthält eine Spalte für den Namen der Gruppe, ob
|
||||
ein Eintrag in \textit{/etc/gshadow} vorhanden ist, die Gruppen-ID, als auch alle
|
||||
Benutzer, welche der Gruppe angehören. Die Benutzer werden durch ein Komma.
|
||||
ein Eintrag in \textit{/etc/gshadow} vorhanden ist, die Gruppen-ID, als auch
|
||||
alle Benutzer, welche der Gruppe angehören. Die Benutzer werden durch ein Komma
|
||||
getrennt aufgelistet.
|
||||
|
||||
Die Datei \textit{/etc/gshadow} enthält noch weniger Informationen. Die ersten
|
||||
drei Spalten sind identisch zu den Spalten aus der Datei \textit{/etc/shadow}.
|
||||
@ -144,7 +146,8 @@ Die letzte Spalte enthält Benutzer, welcher das Kennwort ändern dürfen.
|
||||
Der Benutzer root besitzt auf allen Unix-artigen Systemen die User-ID und
|
||||
Gruppen-ID 0. Er besitzt vollen Zugriff auf das gesamte System und damit auf
|
||||
alle Dateien und Einstellungen aller Benutzer. Er kann beispielsweise ohne
|
||||
Einschränkungen auf alle angeschlossenen Geräte unter \textit{/dev} zugreifen.
|
||||
Einschränkungen auf alle angeschlossenen Geräte unter \textit{/dev}, als auch
|
||||
die Heimatverzeichnisse der Benutzer unter \textit{/home}, zugreifen.
|
||||
|
||||
Der Benutzer root ist ein funktionaler Benutzer, mit dem sich reale Benutzer
|
||||
anmelden können, um Befehle, welche einen höheren Berechtigungsgrad benötigen,
|
||||
@ -159,8 +162,8 @@ diesem Grund und anderen Gründen wurde das Programm \textit{sudo} entwickelt.
|
||||
Das Programm \textit{sudo} führt den nachgestellten Befehl mit root
|
||||
Berechtigungen aus. Mithilfe von sudo lässt sich die Verwendung von root
|
||||
Berechtigungen auf einzelne Benutzer einschränken. Für die Verwendung von
|
||||
\textit{sudo} muss ein Benutzer der Gruppe \textit{wheel} unter RHEL basierenden
|
||||
Distributionen angehören oder der Gruppe \textit{sudo} für Debian basierende
|
||||
\textit{sudo} muss ein Benutzer unter RHEL basierenden Distributionen der Gruppe
|
||||
\textit{wheel} angehören oder der Gruppe \textit{sudo} bei Debian basierende
|
||||
Distributionen.
|
||||
|
||||
Mithilfe des Befehls \textit{visudo} lässt sich die Konfiguration von
|
||||
@ -192,7 +195,7 @@ Befehl den Namen des Benutzers an, wessen Kennwort man ändern möchte.
|
||||
|
||||
Das Programm \textit{passwd} ändert dem entsprechend die Zeile in
|
||||
\textit{/etc/shadow} für den Benutzer, für welchen das Passwort geändert werden
|
||||
soll.
|
||||
soll, ab.
|
||||
|
||||
Nachteil von \textit{passwd} ist, dass es interaktiv bedient werden muss -
|
||||
sprich, mit \textit{passwd} ist es nicht möglich Kennwörter von Benutzern per
|
||||
@ -203,6 +206,10 @@ Allerdings möchte man nicht nur das Kennwort eines Benutzers ändern können,
|
||||
sondern auch wann das Kennwort ablaufen soll oder ab wann das System eine
|
||||
Warnung ausgeben soll. Mit Hilfe des Programms \textit{chage} ist dies möglich.
|
||||
|
||||
\begin{bashcode}
|
||||
sudo chage --list ${USER}
|
||||
\end{bashcode}
|
||||
|
||||
% #>------------------------------------------------------------------------<#
|
||||
\subsubsection{Gruppe hinzufügen, bearbeiten und löschen}%
|
||||
\label{sec:benutzer-gruppen-und-berechtigungen.gruppen.add-mod-rm}
|
||||
@ -227,10 +234,10 @@ gestellt.
|
||||
\textit{/etc/group} die neue Gruppe mit entsprechender \textit{GID} angelegt wurde.
|
||||
\item \textbf{Aufgabe 3c:} Benennen Sie die Gruppe \textit{hr} nach
|
||||
\textit{dev} für \textit{development} um und überprüfen Sie, ob sich der Name
|
||||
der Gruppe in der Datei \textit{/etc/group} geändert hat
|
||||
der Gruppe in der Datei \textit{/etc/group} geändert hat.
|
||||
\item \textbf{Aufgabe 3d:} Ändern Sie die \textit{GID} auf 3000 und überprüfen
|
||||
Sie, ob diese sich in der Datei \textit{/etc/group} geändert hat.
|
||||
\item \textbf{Aufgabe 3e:} Löschen Sie die Gruppe \textit{dev}
|
||||
\item \textbf{Aufgabe 3e:} Löschen Sie die Gruppe \textit{dev}.
|
||||
\end{itemize}
|
||||
|
||||
% #>------------------------------------------------------------------------<#
|
||||
@ -253,8 +260,9 @@ werden. Auf folgende Befehle kann zurück gegriffen werden.
|
||||
lautet \textit{manni}. Seine Primärgruppe lautet \textit{manfred}. Als
|
||||
\textit{UID} verwenden Sie \textit{2000}.
|
||||
\item \textbf{Aufgabe 4b:} Setzen Sie das Ablaufdatum des Kennworts für den
|
||||
Benutzer \textit{manni} auf den \textit{31. Juni 2021} und überprüfen Sie die
|
||||
passende Spalte aus der Datei \textit{/etc/shadow}.
|
||||
Benutzer \textit{manni} auf den \textit{31. Juni} des nächsten Jahres und
|
||||
überprüfen Sie die passende Spalte aus der Datei \textit{/etc/shadow} oder
|
||||
nutzen Sie alternativ \textit{chage} oder \textit{passwd} zur Überprüfung.
|
||||
\item \textbf{Aufgabe 4c:} Fügen Sie den Benutzer der Gruppe \textit{wheel} hinzu.
|
||||
\item \textbf{Aufgabe 4d:} Entfernen Sie den Benutzer \textit{manfred} aus der
|
||||
Gruppe \textit{wheel} ohne ihn dabei aus anderen Gruppen zu entfernen.
|
||||
@ -275,12 +283,13 @@ werden. Auf folgende Befehle kann zurück gegriffen werden.
|
||||
Unter Windows sind Grundsätzlich alle Dateien, welche auf den Suffix
|
||||
\textit{.exe} enden Ausführbar. Unix-artige Systeme interpretieren Dateiendungen
|
||||
anders. Sie sind ausschließlich dafür da, damit Desktopmanager wie gnome,
|
||||
cinnamon, kde, xfce oder andere erkennen, um welche Datei es sich hier handel
|
||||
und mit welchen Programmen aus einer Liste diese geöffnet werden können.
|
||||
cinnamon, kde, xfce oder andere erkennen, um welche Datei es sich hier handelt
|
||||
und mit welchen Programmen, aus einer definierten Liste, diese geöffnet werden
|
||||
können.
|
||||
|
||||
Dies bedeutet, dass auch die PDF-Datei \texttt{Aufgabensammlung.pdf} ausführbar
|
||||
sein kann, obwohl diese nur lesbar sein sollte, damit Programme wie evince oder
|
||||
masterpdfeditor von ihr lesen können.
|
||||
sein kann, obwohl diese nur lesbar sein sollte, damit Programme wie
|
||||
\textit{evince} oder \textit{masterpdfeditor} sie einlesen können.
|
||||
|
||||
% #>------------------------------------------------------------------------<#
|
||||
\subsubsection{Einfache Dateiberechtigungen}%
|
||||
@ -310,13 +319,13 @@ Das erste Attribut gibt den Typ der Ressource wieder. Folgende Attribute
|
||||
beschreiben die Ressource.
|
||||
|
||||
\begin{itemize}[label={},itemsep=0pt]
|
||||
\item \textbf{-:} Ist eine normale Datei
|
||||
\item \textbf{d:} \textbf{d}irectory
|
||||
\item \textbf{-:} Ist eine normale Datei.
|
||||
\item \textbf{d:} \textbf{d}irectory - Verzeichnis.
|
||||
\item \textbf{s:} unix \textbf{s}ocket - Beispielsweise TCP socket eines Web Servers
|
||||
\item \textbf{l:} symbolic \textbf{l}ink - Link auf eine andere Datei oder
|
||||
anderes Verzeichnis
|
||||
\item \textbf{b:} \textbf{b}lock device - Festplatten
|
||||
\item \textbf{c:} \textbf{c}haracter device - Terminal
|
||||
anderes Verzeichnis. Ähnlich wie Desktop-Links unter Windows.
|
||||
\item \textbf{b:} \textbf{b}lock device - Festplatten.
|
||||
\item \textbf{c:} \textbf{c}haracter device - Terminal.
|
||||
\end{itemize}
|
||||
|
||||
Die verbleibenden neun Attribute werden in drei Gruppen gesplittet. Jede Gruppe
|
||||
@ -329,11 +338,11 @@ Dabei haben die Attribute folgende Bedeutung:
|
||||
|
||||
\begin{itemize}[label={},itemsep=0pt]
|
||||
\item \textbf{r:} \textbf{r}ead - Von Ressource lesen oder Verzeichnisinhalt
|
||||
auflisten
|
||||
auflisten.
|
||||
\item \textbf{w:} \textbf{w}rite - Ressource beschreiben oder
|
||||
Verzeichnisinhalt ändern (hinzufügen, umbenennen, löschen)
|
||||
Verzeichnisinhalt ändern (hinzufügen, umbenennen, löschen).
|
||||
\item \textbf{x:} e\textbf{x}ecute - Programm ausführen oder in das
|
||||
Verzeichnis hineinwechseln
|
||||
Verzeichnis hineinwechseln.
|
||||
\end{itemize}
|
||||
|
||||
\begin{itemize}[label={},itemsep=0pt]
|
||||
@ -360,10 +369,10 @@ Die Berechtigungen auf Ressourcen als auch der Besitzer bzw. die Gruppe kann
|
||||
geändert werden. Dazu sind in GNU Core Utilities folgende Programme enthalten.
|
||||
|
||||
\begin{itemize}[label={},itemsep=0pt]
|
||||
\item \textit{chown:} Ändert den Besitzer einer Ressource
|
||||
\item \textit{chgrp:} Ändert die Gruppe einer Ressource
|
||||
\item \textit{chown:} Ändert den Besitzer einer Ressource.
|
||||
\item \textit{chgrp:} Ändert die Gruppe einer Ressource.
|
||||
\item \textit{chmod:} Ändert die Berechtigung auf eine Ressource für alle
|
||||
anderen Benutzer, welche weder als Besitzer noch Mitglieder der Gruppe sind
|
||||
anderen Benutzer, welche weder als Besitzer noch Mitglieder der Gruppe sind.
|
||||
\end{itemize}
|
||||
|
||||
Das Ändern des Besitzers per \textit{chown} kann durch \textit{chown user
|
||||
@ -372,7 +381,7 @@ ressource} geändert werden. Gleiches gilt für das Ändern der Gruppe:
|
||||
einem ändern kann dies durch \textit{chown} umgesetzt werden. Dabei muss der
|
||||
Besitzer als auch die Gruppe getrennt durch einen Doppelpunkt angegeben werden:
|
||||
\textit{chown user:group ressource}. Alternativ zu den Namen kann auch die
|
||||
\textit{UID} bzw. für die Gruppe die \textit{GID} verwendet werden.
|
||||
\textit{UID} bzw. die \textit{GID}, für den Name der Gruppe, verwendet werden.
|
||||
|
||||
Die Dateiberechtigungen lassen sich per \textit{chmod} anpassen. Das Programm
|
||||
\textit{chmod} unterstützt die Symbolische- als auch die Oktal-Notation, um
|
||||
@ -461,7 +470,7 @@ Attribut \textit{x} durch ein \textit{s} unter den Berechtigungen des Besitzers
|
||||
in der Attributzeichenkette ersetzt.
|
||||
|
||||
\begin{itemize}[label={},itemsep=0pt]
|
||||
\item \textbf{Aufgabe 7a:} Überprüfe, ob für das Programm \textit{/bin/passwd}
|
||||
\item \textbf{Aufgabe 7a:} Überprüfen Sie, ob für das Programm \textit{/bin/passwd}
|
||||
\textit{setuid} gesetzt ist.
|
||||
\end{itemize}
|
||||
|
Loading…
Reference in New Issue
Block a user