# LINUX

# Linux Commands



# Linux Commands

<p id="bkmrk-"><strong>Basics</strong></p>
<table id="bkmrk-ctrl%2Bd-log-out-ctrl%2B" style="height: 2777px; width: 107.407407%;" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>Ctrl+Shift+T&nbsp;</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Terminal Öffnen</p>
</td>
<td style="height: 140px; width: 24.103832%;" rowspan="4">
<p><br></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</p>
<br>
<p>&nbsp; &nbsp;<strong>Steuerung Terminal</strong></p>
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>Ctrl+C&nbsp;</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Abrechen / neue Befehlszeile</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>Ctrl+D</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Log out</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p>Ctrl+L</p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p>Verlauf löschen</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>cd ..</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Ordner zurück &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;⬅️ 📁</p>
</td>
<td style="width: 24.103832%; height: 35px;"><br></td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>cd ~</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>in home wechseln &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;➡️ 🏠</p>
</td>
<td style="width: 24.103832%; height: 35px;"><br></td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>touch</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Datei erstellen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;➕ 📄</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr>
<td style="width: 33.003708%;">
<p>mkdir</p>
</td>
<td style="width: 43.016069%;">
<p>Ordner erstellen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ➕ 📁</p>
</td>
<td style="width: 24.103832%;">
<p><br></p>
</td>
</tr>
<tr>
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>rm -r<span class="Apple-converted-space">&nbsp;</span></p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Löschen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ❌ 📄</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr>
<td style="width: 33.003708%;">
<p><br></p>
</td>
<td style="width: 43.016069%;">
<p><br></p>
</td>
<td style="width: 24.103832%;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>ls</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Liste anzeigen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 📁+📄</p>
</td>
<td style="height: 219px; width: 24.103832%;" rowspan="5">
<p><br></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;👀</p>
<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; Anzeigen mit LS</strong></p>
<br>
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p>ls -l /home</p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p>anzeigen aller /home Ordner &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /🏠 /🏠</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p>ls -l&nbsp;</p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p>Inhalt &nbsp;anzeigen. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;🔐 👤 👥 📄</p>
</td>
</tr>
<tr style="height: 79px;">
<td style="width: 33.003708%; height: 79px;">
<p>ls -la<span class="Apple-converted-space">&nbsp;</span></p>
<p><span class="Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></p>
<p><span class="Apple-converted-space">(optional -h = KB, MB)</span></p>
</td>
<td style="width: 43.016069%; height: 79px;">
<p>Inhalt &nbsp;anzeigen. &nbsp; &nbsp; &nbsp;</p>
<p data-pm-slice="1 1 []">(Rechte,User,Group,Größe,Datum+versteckte) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; . &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 👻 🔐 👤 👥 &nbsp;📄</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p>tree</p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p>tree struktur anzeigen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 🌳└──</p>
</td>
<td style="height: 127px; width: 24.103832%;" rowspan="3">
<p><br></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 👀</p>
<p><strong>&nbsp; &nbsp; &nbsp;Anzeigen Struktur</strong></p>
<br>
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p>tree -L 1</p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p>Zeigt erstes unter level an &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 🌳├──</p>
</td>
</tr>
<tr style="height: 57px;">
<td style="width: 33.003708%; height: 57px;">
<p>tree -pug</p>
</td>
<td style="width: 43.016069%; height: 57px;">
<p>&nbsp;tree mit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 🌳</p>
<p>-pug(<strong>Zugriffsrecht, User, Gruppe</strong>) 🔐,👤,👥</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>getent passwd</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Alle user anzeigen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 👤👤👤</p>
</td>
<td style="height: 127px; width: 24.103832%;" rowspan="3">
<p><br></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;👀</p>
<p>&nbsp;<strong>Anzeigen User &amp; Group</strong></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>getent group</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Gruppe anzeigen<span class="Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;👥👥👥</span></p>
</td>
</tr>
<tr style="height: 57px;">
<td style="width: 33.003708%; height: 57px;">
<p># getent shadow<span class="Apple-converted-space">&nbsp;</span></p>
</td>
<td style="width: 43.016069%; height: 57px;">
<p>Passwort-Hashes anzeigen</p>
<p>Sudo oder aus Root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #️⃣ 🔑</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 79px;">
<td style="width: 33.003708%; height: 79px;" valign="top">
<p># useradd -m -s /bin/bash</p>
<p>user</p>
</td>
<td style="width: 43.016069%; height: 79px;" valign="top">
<p>Benutzer erstellen + Home + Bash. &nbsp; &nbsp; &nbsp;➕ 👤🏠</p>
<p>&nbsp;&amp; (erstellt Standart Hauptgruppe mit user Namen)</p>
</td>
<td style="height: 321px; width: 24.103832%;" rowspan="7">
<p><br></p>
<p><br></p>
<p><strong>&nbsp; Benutzer &amp; </strong></p>
<p><strong>&nbsp; Gruppen erstellen</strong></p>
<p><strong>&nbsp; </strong></p>
<p>&nbsp;</p>
<p><strong>&nbsp;</strong> -g Hauptgruppe</p>
<p>&nbsp; -G Nebengruppe&nbsp;</p>
<p>&nbsp; (alleinstehend ersetzt alle bisherigen nebengrupen)</p>
<p>&nbsp; -aG Nebengruppe adden</p>
<p><strong>&nbsp; &nbsp;&nbsp;</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</td>
</tr>
<tr style="height: 57px;">
<td style="width: 33.003708%; height: 57px;">
<p># useradd -m -s /bin/bash</p>
<p>-g HAUPT -G NEBENGRUPPE user</p>
</td>
<td style="width: 43.016069%; height: 57px;">
<p>Benutzer erstellen + Home + Bash &nbsp; &nbsp; &nbsp;➕ 👤🏠</p>
<p>+HauptG +NebenG &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 👥 (👥)</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 45px;">
<td style="width: 33.003708%; height: 45px;" valign="top">
<p># groupadd groupName</p>
</td>
<td style="width: 43.016069%; height: 45px;" valign="top">
<p>neue Gruppe erstellen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 👥 ✅</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p># usermod -aG NebenGruppe user</p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p>User zur Nebengruppe hinzufügen. &nbsp; 👤→👥</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p># groupmod -n neuerName alterName</p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p>Gruppe umbenennen. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;👥 <span class="Apple-converted-space">🔄Name</span></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 57px;">
<td style="width: 33.003708%; height: 57px;">
<p># chgrp -R gruppe /...</p>
</td>
<td style="width: 43.016069%; height: 57px;">
<p>Gruppe ändern + ALLE Daten &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 👥 + 📄</p>
</td>
<td style="width: 24.103832%; height: 57px;">
<p><strong data-start="1871" data-end="1898">-R = Rekursiv &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (Alle Dateien)</strong></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p># usermod -s /bin/bash user</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Bash nachträglich hinzufügen</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>{ }</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Kaskadieren</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>cp</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Kopie</p>
</td>
<td style="height: 123px; width: 24.103832%;" rowspan="2">
<p><strong>kopieren oder &nbsp; &nbsp; verschieben</strong></p>
<p><br></p>
<p>&nbsp;Bsp. &nbsp;mv OldName NewName</p>
</td>
</tr>
<tr style="height: 88px;">
<td style="width: 33.003708%; height: 88px;" valign="top">
<p>mv</p>
</td>
<td style="width: 43.016069%; height: 88px;" valign="top">
<p>Verschiebt o. benennt Dateien</p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p><span class="Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>getent passwd</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Alle user anzeigen</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>getent group</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Gruppe anzeigen<span class="Apple-converted-space">&nbsp;</span></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p># passwd user</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Passwort zuweisen</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>su - user</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Nutzer wechseln</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p># chown user:group /home/OldUser</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Besitzer übergeben &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 🫴 &nbsp; &nbsp; &nbsp; 👤👥 &nbsp;🏠</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p># chgrp group datei</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Ändert nur gruppe &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;🔄.... &nbsp; &nbsp; &nbsp; &nbsp;👥 ➝ 📄</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p># chown user:group dateiname</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Ändert besitzer &amp; gruppe. &nbsp; &nbsp; &nbsp;🔄.... &nbsp;👤👥 ➝ 📄</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p># usermod -l oldUser newUser</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Ändern des namen<span class="Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;👤🔄Name</span></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p><br></p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 35px;">
<td style="width: 33.003708%; height: 35px;" valign="top">
<p>fdisk -L</p>
</td>
<td style="width: 43.016069%; height: 35px;" valign="top">
<p>Zeigt alle festplatten und formate an</p>
</td>
<td style="width: 24.103832%; height: 35px;">
<p><br></p>
</td>
</tr>
<tr style="height: 57px;">
<td style="width: 33.003708%; height: 57px;" valign="top">
<p>crontab -e</p>
</td>
<td style="width: 43.016069%; height: 57px;" valign="top">
<p>Um zeitlich gesteuerte dinge zu starten</p>
</td>
<td style="width: 24.103832%; height: 57px;">
<p><br></p>
</td>
</tr>
</tbody>
</table>
<p id="bkmrk-%23-%3D-sudo"># = sudo</p>

CHMOD EINSTELLUNGEN:

- **Löschen hängt vom Ordner ab, nicht von der Datei**  
  → benötigt: `w + x` auf dem Ordner

- **Ordnerrechte ≠ Dateirechte**  
  → Datei: `r=lesen`, `w=ändern`, `x=ausführen`  
  → Ordner: `r=sehen`, `w=erstellen/löschen`, `x=betreten`

- **`x` ist Pflicht für Zugriff**  
  → ohne `x`: kein `cd`, kein Öffnen, egal was sonst gesetzt ist

- **`r` ohne `x`**  
  → sehen eingeschränkt möglich, aber nicht nutzen

- **`x` ohne `r`**  
  → betreten möglich, aber kein `ls` (Blindzugriff)

- **`w` ohne `x`**  
  → praktisch nutzlos (kein Zugriff auf den Ordner)

- **Verschieben (`mv`)**  
  → benötigt `w + x` auf Quell- UND Zielordner

- **Datei löschen ohne Dateirechte möglich**  
  → wenn Ordner `w + x` hat

- **root ignoriert Rechte weitgehend**  
  → kann fast alles unabhängig von Permissions

- **`chmod 777`**  
  → funktioniert immer, aber unsicher (jeder darf alles)

- **Sticky Bit (`t`) z. B. `/tmp`**  
  → alle dürfen schreiben, aber nur eigene Dateien löschen


--

**Linux Prompt (Befehlszeile) – komplett kompakt**

**Grundaufbau**  
`user@hostname:pfad$`  
oder als Admin:  
`root@hostname:pfad#`

**Bestandteile**

- `user` → aktueller Benutzer  
  - `user` = normaler Benutzer  
  - `root` = Administrator

- `hostname` → Rechner- oder Systemname  
  - z. B. `server`, `NASSI`, `raspberrypi`, `container`

- `pfad` → aktueller Ordner  
  - `~` = Home-Verzeichnis von `user` = `/home/user`  
  - `/` = Root-Verzeichnis, also die oberste Ebene des Systems  
  - `/etc`, `/var/log`, `/tmp` = absolute Pfade  
  - `..` = eine Ebene zurück

- `$` / `#` → Rechte-Stufe  
  - `$` = normaler Benutzer  
  - `#` = root / Admin

**Beispiele**

`user@server:~$`  
→ Benutzer `user`, Host `server`, im Home-Verzeichnis, normale Rechte

`root@server:~#`  
→ Benutzer `root`, Host `server`, im Home-Verzeichnis von root (`/root`), volle Rechte

`user@server:/home/user/projects$`  
→ Benutzer `user`, Host `server`, im Ordner `/home/user/projects`, normale Rechte

`root@server:/etc#`  
→ Benutzer `root`, Host `server`, im Ordner `/etc`, volle Rechte

`user@NASSI:/var/log$`  
→ Benutzer `user`, Host `NASSI`, im Log-Verzeichnis `/var/log`, normale Rechte

`root@container:/app#`  
→ Benutzer `root`, Host `container`, im Ordner `/app`, volle Rechte

`user@raspberrypi:~$`  
→ Benutzer `user`, Host `raspberrypi`, im Home-Verzeichnis, normale Rechte

`~/projects $`  
→ verkürzter Prompt, nur Pfad sichtbar, aktueller Ordner ist `projects` im Home-Verzeichnis

`$`  
→ minimaler Prompt, keine Infos zu Benutzer, Host oder Pfad sichtbar

`user@server:/tmp$`  
→ Benutzer `user`, Host `server`, im temporären Ordner `/tmp`

`user@server:/$`  
→ Benutzer `user`, Host `server`, im Root-Verzeichnis `/`

**Wichtige Bedeutungen**

- `~` = Home-Verzeichnis des aktuellen Benutzers  
- `/` = oberste Ebene des gesamten Systems  
- `..` = ein Verzeichnis zurück  
- `user@host` = zeigt, **wer** du bist und **auf welchem System** du bist  
- `pfad` = zeigt, **wo** du dich gerade befindest  
- `$` oder `#` = zeigt, **mit welchen Rechten** du arbeitest

**Typische Prüfungsfallen**

- `#` bedeutet nicht Kommentar im Prompt, sondern **root-Rechte**
- `~` ist **nicht** dasselbe wie `/`
  - `~` = Benutzerbereich
  - `/` = gesamtes System
- Der Hostname ist wichtig, weil du damit erkennst, auf welchem Gerät du gerade arbeitest
- Ein Prompt mit `$` ist deutlich ungefährlicher als ein Prompt mit `#`

**Merksatz**

`user@host = WER und WO`  
`pfad = an welcher Stelle im System`  
`$ / # = wie viele Rechte du hast`

# Linux Tests



# 1.  Benutzer & Zugriffsrechte

Gegeben:

| Objekt        | Rechte      | Eigentümer | Gruppe   |
| ------------- | ----------- | ---------- | -------- |
| /home/        | rwx r-x r-x | root       | root     |
| /home/anton/  | rwx r-x --- | anton      | berliner |
| bz            | rw- r-- r-- | anton      | berliner |
| caesar.jpg    | r-- r-- r-- | caesar     | roemer   |
| /home/berta/  | rwx rwx r-x | berta      | berliner |
| fahrplan      | rw- rw- rw- | berta      | berliner |
| BaS           | rw- --- --- | anton      | berliner |
| /home/caesar/ | rwx r-x r-x | caesar     | roemer   |
| urteile.txt   | rw- r-- --- | caesar     | roemer   |
| kino.pdf      | rw- r-- r-- | berta      | berliner |

---

**1. Darf berta die Datei bz lesen?**

<details>
<summary>Antwort anzeigen</summary>

Ja.
Begründung: others hat Leserechte (`r--`).

</details>

---

**2. Darf caesar die Datei bz lesen?**

<details>
<summary>Antwort anzeigen</summary>

Ja.
Begründung: others hat Leserechte (`r--`).

</details>

---

**3. Wer darf die Datei urteile.txt lesen?**

<details>
<summary>Antwort anzeigen</summary>

Anton und berta.
Begründung: Die Gruppe hat Leserechte (`r--`).

</details>

---

**4. Was ist zu tun, damit alle Benutzer die Datei urteile.txt lesen können?**

<details>
<summary>Antwort anzeigen</summary>

`chmod o+r urteile.txt`

</details>

---

**5. Darf caesar die Datei kino.pdf verändern?**

<details>
<summary>Antwort anzeigen</summary>

Nein.
Begründung: Er hat nur Leserechte.

</details>

---

**6. Darf caesar die Datei kino.pdf löschen?**

<details>
<summary>Antwort anzeigen</summary>

Ja.
Begründung: Das Löschen hängt von den Rechten des Verzeichnisses ab, nicht von der Datei.

</details>

---

**7. Darf anton die Datei BaS löschen?**

<details>
<summary>Antwort anzeigen</summary>

Ja.
Begründung: Entscheidend sind die Rechte des Verzeichnisses.

</details>

---

**8. Wer darf die Datei fahrplan ändern?**

<details>
<summary>Antwort anzeigen</summary>

Anton, berta und caesar.
Begründung: Die Datei hat `rw- rw- rw-`.

</details>

---

**9. Nur berta soll die Datei fahrplan ändern dürfen. Was ist zu tun?**

<details>
<summary>Antwort anzeigen</summary>

`chmod 600 fahrplan`

</details>

---

**10. Wie versperrt caesar den Mitgliedern der Gruppe berliner den Zugriff auf sein Heimatverzeichnis?**

<details>
<summary>Antwort anzeigen</summary>

`chmod 700 /home/caesar`

</details>

---

**11. Die berliner sollen im Heimatverzeichnis von berta keine Ordner und Dateien anlegen dürfen und alle anderen sollen keinen Zugriff haben. Was ist zu tun?**

<details>
<summary>Antwort anzeigen</summary>

`chmod 750 /home/berta`

</details>

---

**12. Welche Rechte müssen gesetzt werden, damit caesar sein Bild caesar.jpg in antons Heimatverzeichnis ablegen kann?**

<details>
<summary>Antwort anzeigen</summary>

`/home/anton/  rwx r-x rwx`

Begründung: Zum Ablegen einer Datei in ein Verzeichnis braucht man `w + x`.
Caesar ist weder Eigentümer noch in der Gruppe `berliner`, daher müssen diese Rechte bei `others` gesetzt sein.

</details>

---

**13. Welche Rechte müssen gesetzt werden, damit berta die Datei kino.pdf in caesars Heimatverzeichnis ablegen kann?**

<details>
<summary>Antwort anzeigen</summary>

`/home/caesar/  rwx r-x rwx`

Begründung: Berta ist weder Eigentümerin noch in der Gruppe `roemer`.
Darum braucht `others` Schreib- und Betretungsrechte (`w + x`).

</details>

---

**14. Wer darf die Zugriffsrechte von Dateien und Ordnern verändern?**

<details>
<summary>Antwort anzeigen</summary>

Der Eigentümer und root.

</details>

# 1 b. Zusatzaufgaben zu Linux-Benutzern, sudo, Besitzrechten und Sonderrechten.

**1. Der Benutzer `hund` soll Superuser-/Root-Rechte erhalten. Was ist zu tun?**

<details>
<summary>Antwort anzeigen</summary>

Der Benutzer muss zur Gruppe der Administratoren (sudo-Gruppe) hinzugefügt werden:

`sudo usermod -aG sudo hund`

Danach muss sich der Benutzer neu anmelden, damit die Gruppenrechte aktiv werden.

</details>

---

**2. Der Benutzer `hund` kann mit `sudo <befehl>` arbeiten und muss dabei sein Passwort eingeben. Gibt es eine Möglichkeit, ohne Passwortabfrage zu arbeiten?**

<details>
<summary>Antwort anzeigen</summary>

Ja, dies ist über die Konfigurationsdatei `/etc/sudoers` möglich.

Ein entsprechender Eintrag lautet:

`hund ALL=(ALL:ALL) NOPASSWD: ALL`

Die Datei sollte aus Sicherheitsgründen nicht direkt bearbeitet werden, sondern mit:

`sudo visudo`

</details>

---

**3. Der `tagesplan` soll in den Besitz des Benutzers `hund` übergehen und in seinen Heimatordner verschoben werden. Was ist zu tun?**

<details>
<summary>Antwort anzeigen</summary>

Zuerst wird der Besitzer der Datei geändert:

`sudo chown hund:hund tagesplan`

Danach wird die Datei in das Heimatverzeichnis verschoben:

`mv tagesplan /home/hund/`

Je nach Speicherort der Datei muss der Pfad angepasst werden.

</details>

---

**4. Beim Anlegen von Benutzern sind manchmal schon Dateien oder Ordner vorhanden, zum Beispiel unter `ubuntu` die Datei `examples.desktop`. Woher kommen diese?**

<details>
<summary>Antwort anzeigen</summary>

Diese Dateien stammen aus dem Vorlagenverzeichnis für neue Benutzer:

`/etc/skel`

Beim Anlegen eines neuen Benutzers wird dieses Verzeichnis in das Home-Verzeichnis kopiert.

</details>

---

**5. Was ist der Nutzen solcher bereits vorhandenen Dateien und Ordner im Home-Verzeichnis?**

<details>
<summary>Antwort anzeigen</summary>

Diese Dateien stellen eine Grundausstattung für neue Benutzer bereit.

Dazu gehören beispielsweise:
- Beispiel-Dateien
- voreingestellte Konfigurationen
- vorbereitete Ordnerstrukturen

Dadurch kann der Benutzer sofort mit einer sinnvollen Umgebung arbeiten.

</details>

---

**6. Welche Aufgabe hat das Set-UID-Recht (SUID-Bit)?**

<details>
<summary>Antwort anzeigen</summary>

Ein Programm wird mit den Rechten des Dateibesitzers ausgeführt und nicht mit den Rechten des Benutzers, der es startet.

Dadurch können Programme kurzfristig mit erweiterten Rechten ausgeführt werden.

</details>

---

**7. Welche Aufgabe hat das Set-GID-Recht (SGID-Bit)?**

<details>
<summary>Antwort anzeigen</summary>

Bei Dateien wird ein Programm mit den Rechten der Gruppe ausgeführt.

Bei Verzeichnissen sorgt das SGID-Bit dafür, dass neu angelegte Dateien und Ordner automatisch die Gruppe des Verzeichnisses übernehmen.

</details>

---

**8. Welche Aufgabe hat das Sticky-Bit?**

<details>
<summary>Antwort anzeigen</summary>

In einem Verzeichnis mit gesetztem Sticky-Bit dürfen Dateien nur vom jeweiligen Eigentümer, vom Verzeichnisbesitzer oder von root gelöscht oder umbenannt werden.

Ein typisches Beispiel ist das Verzeichnis:

`/tmp`

</details>

---

**9. Wie werden diese Sonderrechte gesetzt und dargestellt?**

<details>
<summary>Antwort anzeigen</summary>

Die Sonderrechte werden mit dem Befehl `chmod` gesetzt:

SUID setzen:  
`chmod u+s datei`

SGID setzen:  
`chmod g+s datei`

Sticky-Bit setzen:  
`chmod +t verzeichnis`

Die Darstellung erfolgt mit `ls -l`:

- SUID: `s` oder `S` im Benutzer-Bereich  
- SGID: `s` oder `S` im Gruppen-Bereich  
- Sticky-Bit: `t` oder `T` im Other-Bereich  

Kleinbuchstaben bedeuten, dass zusätzlich das Ausführungsrecht gesetzt ist.  
Großbuchstaben bedeuten, dass das Ausführungsrecht fehlt.

</details>

---

**10. Welchen Vorteil hat das Sticky-Bit gegenüber dem normalen Schreibrecht auf einen Ordner?**

<details>
<summary>Antwort anzeigen</summary>

Ohne Sticky-Bit kann jeder Benutzer mit Schreibrechten in einem Verzeichnis auch Dateien anderer Benutzer löschen.

Mit gesetztem Sticky-Bit wird dies verhindert, sodass Benutzer nur ihre eigenen Dateien löschen können.

Dadurch wird die Sicherheit in gemeinsam genutzten Verzeichnissen erhöht.

</details>

# 2. Gemischt – Benutzer, Zugriffsrechte und Sonderrechte.

Gegeben: Linux – Benutzer, Zugriffsrechte und Sonderrechte.

---

**1. Darf berta die Datei bz lesen?**

<details>
<summary>Antwort anzeigen</summary>

Ja.  
Begründung: Für „others“ sind Leserechte (`r--`) gesetzt.

</details>

---

**2. Darf caesar die Datei bz lesen?**

<details>
<summary>Antwort anzeigen</summary>

Ja.  
Begründung: Auch „others“ besitzen Leserechte (`r--`).

</details>

---

**3. Wer darf die Datei urteile.txt lesen?**

<details>
<summary>Antwort anzeigen</summary>

Anton und berta.  
Begründung: Die Gruppe besitzt Leserechte (`r--`).

</details>

---

**4. Was ist zu tun, damit alle Benutzer die Datei urteile.txt lesen können?**

<details>
<summary>Antwort anzeigen</summary>

Die Leserechte für „others“ müssen gesetzt werden:

`chmod o+r urteile.txt`

</details>

---

**5. Darf caesar die Datei kino.pdf verändern?**

<details>
<summary>Antwort anzeigen</summary>

Nein.  
Begründung: Er besitzt nur Leserechte.

</details>

---

**6. Darf caesar die Datei kino.pdf löschen?**

<details>
<summary>Antwort anzeigen</summary>

Ja.  
Begründung: Das Löschen hängt von den Rechten des Verzeichnisses ab, nicht von der Datei.

</details>

---

**7. Wer darf die Datei fahrplan ändern?**

<details>
<summary>Antwort anzeigen</summary>

Anton, berta und caesar.  
Begründung: Die Datei besitzt die Rechte `rw- rw- rw-`.

</details>

---

**8. Nur berta soll die Datei fahrplan ändern dürfen. Was ist zu tun?**

<details>
<summary>Antwort anzeigen</summary>

Die Rechte müssen eingeschränkt werden:

`chmod 600 fahrplan`

</details>

---

**9. Wie versperrt caesar den Mitgliedern der Gruppe berliner den Zugriff auf sein Heimatverzeichnis?**

<details>
<summary>Antwort anzeigen</summary>

Die Rechte des Verzeichnisses müssen angepasst werden:

`chmod 700 /home/caesar`

</details>

---

**10. Welche Rechte müssen gesetzt werden, damit caesar eine Datei in antons Heimatverzeichnis ablegen kann?**

<details>
<summary>Antwort anzeigen</summary>

Das Verzeichnis muss Schreib- und Betretungsrechte für andere besitzen:

`/home/anton/  rwx r-x rwx`

Begründung: Zum Ablegen einer Datei werden `w` und `x` benötigt.

</details>

---

**11. Der Benutzer `hund` soll Superuser-/Root-Rechte erhalten. Was ist zu tun?**

<details>
<summary>Antwort anzeigen</summary>

Der Benutzer muss zur sudo-Gruppe hinzugefügt werden:

`sudo usermod -aG sudo hund`

</details>

---

**12. Der Benutzer `hund` kann mit `sudo <befehl>` arbeiten und muss dabei sein Passwort eingeben. Gibt es eine Möglichkeit, ohne Passwortabfrage zu arbeiten?**

<details>
<summary>Antwort anzeigen</summary>

Ja, über die Datei `/etc/sudoers`:

`hund ALL=(ALL:ALL) NOPASSWD: ALL`

Bearbeitung mit:

`sudo visudo`

</details>

---

**13. Der `tagesplan` soll in den Besitz des Benutzers `hund` übergehen und in seinen Heimatordner verschoben werden. Was ist zu tun?**

<details>
<summary>Antwort anzeigen</summary>

Besitzer ändern:

`sudo chown hund:hund tagesplan`

Danach verschieben:

`mv tagesplan /home/hund/`

</details>

---

**14. Woher stammen Standard-Dateien beim Anlegen eines neuen Benutzers?**

<details>
<summary>Antwort anzeigen</summary>

Sie stammen aus dem Verzeichnis:

`/etc/skel`

Dieses wird in das Home-Verzeichnis kopiert.

</details>

---

**15. Welche Aufgabe hat das Set-UID-Recht (SUID-Bit)?**

<details>
<summary>Antwort anzeigen</summary>

Programme werden mit den Rechten des Dateibesitzers ausgeführt.

</details>

---

**16. Welche Aufgabe hat das Set-GID-Recht (SGID-Bit)?**

<details>
<summary>Antwort anzeigen</summary>

Programme laufen mit Gruppenrechten,  
und in Verzeichnissen wird die Gruppe vererbt.

</details>

---

**17. Welche Aufgabe hat das Sticky-Bit?**

<details>
<summary>Antwort anzeigen</summary>

Nur Eigentümer dürfen Dateien löschen oder umbenennen.

</details>

---

**18. Wie werden Sonderrechte gesetzt?**

<details>
<summary>Antwort anzeigen</summary>

SUID: `chmod u+s`  
SGID: `chmod g+s`  
Sticky: `chmod +t`

</details>

---

**19. Welchen Vorteil hat das Sticky-Bit?**

<details>
<summary>Antwort anzeigen</summary>

Es verhindert das Löschen fremder Dateien in gemeinsam genutzten Verzeichnissen.

</details>

---

## Selbstbewertung

0–6 richtig → ❌ wiederholen  
7–12 richtig → ⚠️ unsicher  
13–17 richtig → ✅ gut vorbereitet  
18–19 richtig → 🔥 prüfungsbereit

# A1_ssh

**ssh - Secure Shell zur sicheren remote-Administration**

Eine der bekanntesten Anwendungen für asymmetrische Schlüsselverfahren ist die Secure Shell, z.B. openssh.

Abb1. Zur Erinnerung: Bei symmetrischen Verfahren (oben) dient ein Key sowohl zum Ver- als auch zum Entschlüsseln. Die asymmetrische Varianten (unten) benutzen dafür zwei verschiedene Schlüssel, einen privaten und einen öffentlichen.

Jeder Host benötigt ein eigenes Schlüsselpaar aus privatem und öffentlichem Schlüssel, das meist schon bei der Installation der Software generiert wird. Bei dem einleitenden Handshake authentifiziert sich der Zielhost (ssh-Server) mit seinem privaten Schlüssel.

Der Client generiert anschließend einen Sitzungsschlüssel, verschlüsselt ihn mit dem öffentlichen Key des Servers und sendet ihn an den Server. Damit öffnet er einen sicheren Tunnel (siehe Abb.2), über den anschließend die Datenkommunikation abläuft. Die Benutzer-Authentifizierung erfolgt danach über einen Passwortdialog oder ebenfalls mittels asymmetrischer Kryptographie. Beide Versionen laufen über die gesicherte Verbindung des ssh-Tunnels und sind somit für Außenstehende nicht entzifferbar. Nach der Authentifizierung stellt der Server dem Client eine Shell zur Verfügung. Das ssh-Protokoll hat noch viele weitere nützliche Funktionen, z.b. scp zum sicheren Datentransport (siehe ganz unten).

Abb.2 Die Secure Shell verwendet asymmetrische Kryptographie, um den Server gegen den Client und den Benutzer gegen den Server zu authentifizieren. Beide Partner brauchen dazu ein eigenes Schlüsselpaar.

**ssh - Secure Shell zur sicheren remote-Administration**

**Anmelden mit Benutzernamen und Passwort auf srvYZ**

userXY@pcXY:~$ ssh \[userYZ@\]srvYZ

- Beachte ! Benutzerangabe \[userYZ@\] nur bei abweichendem
- Benutzer auf dem Server.
- Bei der erstmaligen Anmeldung wird ein 'fingerprint' des öffentlichen Schlüssels des Remote-PC/Servers errechnet und bei Bestätigung\* (Authentizität) wird der Public-Key des Servers in die .ssh/known\_hosts geschrieben.

**Anmelden mittels Public-Key-Verfahren**

**1. Schlüssel erzeugen:**

- Syntax: ssh-keygen \[-f KEY\_FILE\] \[-C COMMENT\] \[-t TYP (rsa|dsa)\] \[-b KEY\_LENGTH (1024|2048)\]

userXY@pcXY:~$ ssh-keygen

- Standard ist ein RSA-Schlüsselpaar mit 2048 bit Schlüssellänge
- Eine Passphrase (Passwortsatz) dient der Sicherheit, oft im Intranet aus Komfortgründen weggelassen (für automatisierte
- Jobs)
- Das Schlüsselpaar liegt in ~/.ssh.
- Der private Schlüssel in der Datei id\_rsa/id\_dsa (default) Der public-key in der Datei id\_rsa.pub/id\_dsa.pub (default)

**2. öffentlichen Schlüssel auf remote-Server ablegen**

userXY@pcXY:~$ ssh-copy-id -i ~/.ssh/id\_rsa.pub \[userYZ\]@srvYZ

- Kopieren des public-keys automatisch auf den remote-Server in die Datei 'authorized\_keys' mit dem Befehl 'ssh-copy-id'

zwei kompliziertere Alternativen dazu:

userXY@pcXY :~$ scp .ssh/id\_rsa.pub \[userYZ@\]srvYZ:.ssh/authorized\_keys

- Kopieren des ersten public-keys auf den remote-Server und umbenennen in die Datei authorized\_keys

userYZ@srvYZ:~/.ssh$ cat .../usbstick/id\_rsa.pub &gt;&gt; authorized\_keys

- public-key über einen sicheren Weg (usbstick) direkt auf dem Server an die Datei authorized\_keys angehängen (neben anderen public-Keys)

**3. Anmelden nun ohne Passwort möglich**

userXY@pcXY:~$ ssh \[userYZ@\]srvYZ

Tip: bei Fehlermeldung 'Agent admitted failure to sign using the key' neuen privatkey mit dem Befehl 'ssh-add' hinzufügen!

**ssh - Secure Shell zur sicheren remote-Administration**

**weitere Beispiel für die Secure Shell:**

Kopieren eines Verzeichnisses: z.B. ~/linux nach srvYZ:

userXY@pcXY:~$ scp -rv ~/linux \[userYZ@\]srvYZ:

Synchronisieren von Daten mit rsync über eine ssh-Verbindung:

userXY@pcXY:~$ rsync -av <s>/linux/ \[userYZ@\]srvYZ:</s>/linux/

Absetzen eines remote-Kommandos:

userXY@pcXY:~$ ssh user@pcXY 'ls -l'

Port-Forwarding:

Port-Weiterleitung eines lokalen Ports an einen entfernten

Zielport durch eine verschlüsselte ssh-Verbindung (Tunnel)

ssh user@ssh-srv -L 1025:localhost:80

oder (Verbindung dauerhaft):

ssh -f -N -L 1025:localhost:80 user@ssh-srv

**ftp via ssh → sftp:**

userXY@pcXY:~$ sftp user@pcXY

Connected to pcXY

sftp&gt;

**für Konsolenpuristen!**

userXY@pcXY:~$ cat .ssh/id\_rsa.pub | ssh \[userYZ@\]srvYZ 'cat &gt;&gt; .ssh/authorized\_keys'

Der Inhalt des public-keys ' id\_rsa.pub ' wird in einen Puffer|Pipe gesteckt

und nach dem Anmelden auf dem Server ' ssh userYZ@srvYZ ' an das Schlüsselbund angehängt, mit dem übergebenen Befehl ' 'cat &gt;&gt; .ssh/authorized\_keys''

- Fingerprint des ECDSA-pubkey auf dem Server anzeigen und zur Bestätigung vergleichen:

```
userYZ@srvYZ:~$ ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub

```

**Unterlagen:**

- [wget ftp://ftp.itm.bfw/pub/unterricht/linux/netzwerk/09\_sicherheit/03\_openssh/](http://doc.itm.bfw/linux/netzwerk/09_sicherheit/03_openssh/)

**Internet:**

- [http://wiki.ubuntuusers.de/SSH](http://wiki.ubuntuusers.de/SSH)
- [http://www.youtube.com/watch?v=Hxsl-jj2Bq0](http://www.youtube.com/watch?v=Hxsl-jj2Bq0)
- [http://www.lug-ottobrunn.de/wiki/Remote\_Desktop\_mit\_X2GO](http://www.lug-ottobrunn.de/wiki/Remote_Desktop_mit_X2GO)

---

**Quellen**

- Dokument: A1\_ssh
- ID: 138