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
|
Linux ist als Mehrbenutzer-Betriebssystem entwickelt worden. Dies bedeutet, dass
|
||||||
mehrere Benutzer gleichzeit auf dem System Prozesse ausführen können. Dabei
|
mehrere Benutzer gleichzeit auf dem System Prozesse ausführen können. Dabei
|
||||||
werden die Berechtigungen auf Dateien und Verzeichnisse klar durch den Besitzer,
|
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}%
|
\subsubsection{Benutzer}%
|
||||||
@ -84,17 +84,18 @@ haben folgende Bedeutung:
|
|||||||
\begin{itemize}[itemsep=0pt]
|
\begin{itemize}[itemsep=0pt]
|
||||||
\item[\textbf{1. Spalte}] Name des Benutzers.
|
\item[\textbf{1. Spalte}] Name des Benutzers.
|
||||||
\item[\textbf{2. Spalte}] Das Kennwort, gespeichert als Hash mit Informationen
|
\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.
|
definiert wurde.
|
||||||
\item[\textbf{3. Spalte}] Enthält die Tage seit Beginn der Unix-Zeitrechnung,
|
\item[\textbf{3. Spalte}] Enthält die Tage seit Beginn der
|
||||||
wann das Kennwort zuletzt geändert wurde.
|
\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{4. Spalte}] Tage bevor das Kennwort geändert werden muss.
|
||||||
\item[\textbf{5. Spalte}] Tage ab wann eine Warnung ausgegeben werden soll,
|
\item[\textbf{5. Spalte}] Tage, ab wann eine Warnung, für das ablaufende Kennwort, ausgegeben werden soll.
|
||||||
dass das Kennwort abläuft.
|
|
||||||
\item[\textbf{6. Spalte}] Tage bevor das Kennwort abläuft, nachdem keine
|
\item[\textbf{6. Spalte}] Tage bevor das Kennwort abläuft, nachdem keine
|
||||||
Anmeldung erfolgt ist.
|
Anmeldung erfolgt ist.
|
||||||
\item[\textbf{7. Spalte}] Enthält die Tage seit Beginn der Unix-Zeitrechnung,
|
\item[\textbf{7. Spalte}] Enthält die Tage seit Beginn der
|
||||||
seit dem das Kennwort abgelaufen ist.
|
\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.
|
\item[\textbf{8. Spalte}] Reservierte Spalte. Wird aktuell nicht verwendet.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@ -122,8 +123,9 @@ und \textit{/etc/gshadow}. Die beiden Dateien sind ähnlich wie
|
|||||||
weniger Spalten.
|
weniger Spalten.
|
||||||
|
|
||||||
Die Datei \textit{/etc/group} enthält eine Spalte für den Namen der Gruppe, ob
|
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
|
ein Eintrag in \textit{/etc/gshadow} vorhanden ist, die Gruppen-ID, als auch
|
||||||
Benutzer, welche der Gruppe angehören. Die Benutzer werden durch ein Komma.
|
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
|
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}.
|
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
|
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
|
Gruppen-ID 0. Er besitzt vollen Zugriff auf das gesamte System und damit auf
|
||||||
alle Dateien und Einstellungen aller Benutzer. Er kann beispielsweise ohne
|
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
|
Der Benutzer root ist ein funktionaler Benutzer, mit dem sich reale Benutzer
|
||||||
anmelden können, um Befehle, welche einen höheren Berechtigungsgrad benötigen,
|
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
|
Das Programm \textit{sudo} führt den nachgestellten Befehl mit root
|
||||||
Berechtigungen aus. Mithilfe von sudo lässt sich die Verwendung von root
|
Berechtigungen aus. Mithilfe von sudo lässt sich die Verwendung von root
|
||||||
Berechtigungen auf einzelne Benutzer einschränken. Für die Verwendung von
|
Berechtigungen auf einzelne Benutzer einschränken. Für die Verwendung von
|
||||||
\textit{sudo} muss ein Benutzer der Gruppe \textit{wheel} unter RHEL basierenden
|
\textit{sudo} muss ein Benutzer unter RHEL basierenden Distributionen der Gruppe
|
||||||
Distributionen angehören oder der Gruppe \textit{sudo} für Debian basierende
|
\textit{wheel} angehören oder der Gruppe \textit{sudo} bei Debian basierende
|
||||||
Distributionen.
|
Distributionen.
|
||||||
|
|
||||||
Mithilfe des Befehls \textit{visudo} lässt sich die Konfiguration von
|
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
|
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
|
\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 -
|
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
|
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
|
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.
|
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}%
|
\subsubsection{Gruppe hinzufügen, bearbeiten und löschen}%
|
||||||
\label{sec:benutzer-gruppen-und-berechtigungen.gruppen.add-mod-rm}
|
\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.
|
\textit{/etc/group} die neue Gruppe mit entsprechender \textit{GID} angelegt wurde.
|
||||||
\item \textbf{Aufgabe 3c:} Benennen Sie die Gruppe \textit{hr} nach
|
\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
|
\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
|
\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.
|
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}
|
\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
|
lautet \textit{manni}. Seine Primärgruppe lautet \textit{manfred}. Als
|
||||||
\textit{UID} verwenden Sie \textit{2000}.
|
\textit{UID} verwenden Sie \textit{2000}.
|
||||||
\item \textbf{Aufgabe 4b:} Setzen Sie das Ablaufdatum des Kennworts für den
|
\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
|
Benutzer \textit{manni} auf den \textit{31. Juni} des nächsten Jahres und
|
||||||
passende Spalte aus der Datei \textit{/etc/shadow}.
|
ü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 4c:} Fügen Sie den Benutzer der Gruppe \textit{wheel} hinzu.
|
||||||
\item \textbf{Aufgabe 4d:} Entfernen Sie den Benutzer \textit{manfred} aus der
|
\item \textbf{Aufgabe 4d:} Entfernen Sie den Benutzer \textit{manfred} aus der
|
||||||
Gruppe \textit{wheel} ohne ihn dabei aus anderen Gruppen zu entfernen.
|
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
|
Unter Windows sind Grundsätzlich alle Dateien, welche auf den Suffix
|
||||||
\textit{.exe} enden Ausführbar. Unix-artige Systeme interpretieren Dateiendungen
|
\textit{.exe} enden Ausführbar. Unix-artige Systeme interpretieren Dateiendungen
|
||||||
anders. Sie sind ausschließlich dafür da, damit Desktopmanager wie gnome,
|
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
|
cinnamon, kde, xfce oder andere erkennen, um welche Datei es sich hier handelt
|
||||||
und mit welchen Programmen aus einer Liste diese geöffnet werden können.
|
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
|
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
|
sein kann, obwohl diese nur lesbar sein sollte, damit Programme wie
|
||||||
masterpdfeditor von ihr lesen können.
|
\textit{evince} oder \textit{masterpdfeditor} sie einlesen können.
|
||||||
|
|
||||||
% #>------------------------------------------------------------------------<#
|
% #>------------------------------------------------------------------------<#
|
||||||
\subsubsection{Einfache Dateiberechtigungen}%
|
\subsubsection{Einfache Dateiberechtigungen}%
|
||||||
@ -310,13 +319,13 @@ Das erste Attribut gibt den Typ der Ressource wieder. Folgende Attribute
|
|||||||
beschreiben die Ressource.
|
beschreiben die Ressource.
|
||||||
|
|
||||||
\begin{itemize}[label={},itemsep=0pt]
|
\begin{itemize}[label={},itemsep=0pt]
|
||||||
\item \textbf{-:} Ist eine normale Datei
|
\item \textbf{-:} Ist eine normale Datei.
|
||||||
\item \textbf{d:} \textbf{d}irectory
|
\item \textbf{d:} \textbf{d}irectory - Verzeichnis.
|
||||||
\item \textbf{s:} unix \textbf{s}ocket - Beispielsweise TCP socket eines Web Servers
|
\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
|
\item \textbf{l:} symbolic \textbf{l}ink - Link auf eine andere Datei oder
|
||||||
anderes Verzeichnis
|
anderes Verzeichnis. Ähnlich wie Desktop-Links unter Windows.
|
||||||
\item \textbf{b:} \textbf{b}lock device - Festplatten
|
\item \textbf{b:} \textbf{b}lock device - Festplatten.
|
||||||
\item \textbf{c:} \textbf{c}haracter device - Terminal
|
\item \textbf{c:} \textbf{c}haracter device - Terminal.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Die verbleibenden neun Attribute werden in drei Gruppen gesplittet. Jede Gruppe
|
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]
|
\begin{itemize}[label={},itemsep=0pt]
|
||||||
\item \textbf{r:} \textbf{r}ead - Von Ressource lesen oder Verzeichnisinhalt
|
\item \textbf{r:} \textbf{r}ead - Von Ressource lesen oder Verzeichnisinhalt
|
||||||
auflisten
|
auflisten.
|
||||||
\item \textbf{w:} \textbf{w}rite - Ressource beschreiben oder
|
\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
|
\item \textbf{x:} e\textbf{x}ecute - Programm ausführen oder in das
|
||||||
Verzeichnis hineinwechseln
|
Verzeichnis hineinwechseln.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\begin{itemize}[label={},itemsep=0pt]
|
\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.
|
geändert werden. Dazu sind in GNU Core Utilities folgende Programme enthalten.
|
||||||
|
|
||||||
\begin{itemize}[label={},itemsep=0pt]
|
\begin{itemize}[label={},itemsep=0pt]
|
||||||
\item \textit{chown:} Ändert den Besitzer einer Ressource
|
\item \textit{chown:} Ändert den Besitzer einer Ressource.
|
||||||
\item \textit{chgrp:} Ändert die Gruppe einer Ressource
|
\item \textit{chgrp:} Ändert die Gruppe einer Ressource.
|
||||||
\item \textit{chmod:} Ändert die Berechtigung auf eine Ressource für alle
|
\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}
|
\end{itemize}
|
||||||
|
|
||||||
Das Ändern des Besitzers per \textit{chown} kann durch \textit{chown user
|
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
|
einem ändern kann dies durch \textit{chown} umgesetzt werden. Dabei muss der
|
||||||
Besitzer als auch die Gruppe getrennt durch einen Doppelpunkt angegeben werden:
|
Besitzer als auch die Gruppe getrennt durch einen Doppelpunkt angegeben werden:
|
||||||
\textit{chown user:group ressource}. Alternativ zu den Namen kann auch die
|
\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
|
Die Dateiberechtigungen lassen sich per \textit{chmod} anpassen. Das Programm
|
||||||
\textit{chmod} unterstützt die Symbolische- als auch die Oktal-Notation, um
|
\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.
|
in der Attributzeichenkette ersetzt.
|
||||||
|
|
||||||
\begin{itemize}[label={},itemsep=0pt]
|
\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.
|
\textit{setuid} gesetzt ist.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
@ -411,6 +411,7 @@
|
|||||||
% \include{./examples/examples}
|
% \include{./examples/examples}
|
||||||
|
|
||||||
\include{./chapters/01-ssh}
|
\include{./chapters/01-ssh}
|
||||||
|
\include{./chapters/02-file-permissions}
|
||||||
|
|
||||||
% \include{./chapters/01-network}
|
% \include{./chapters/01-network}
|
||||||
% \include{./chapters/02-dns}
|
% \include{./chapters/02-dns}
|
||||||
|
Loading…
Reference in New Issue
Block a user