Gadgets & Lifestyle

10 Tipps für den Start als Linux-Admin

Um Neulingen den Einstieg in die Administration von Linux-Betriebssystemen zu erleichtern, bietet Pinehead.tv ein kleines Tutorial mit 10 hilfreichen Tipps an. Wir stellen den Artikel kurz vor.

Beispielausgabe einer Manpage über "man man" Kommando in der Shell

Basics für den Shell-Alltag

Wenn man noch kein alter Hase im Umgang mit der Kommandozeile (Shell) unter Linux, Unix oder Mac OS ist, ist es manchmal nicht ganz leicht, einen ersten Überblick über wichtigste Kommandos mit den richtigen Optionen zu bekommen. In dem Tutorial Ten Things I Wish I Knew When Becoming A Linux Admin gibt Anthony James 10 nützliche Tipps, die bei den ersten Schritten als Linux-Newbie helfen. Die meisten grundlegenden Shell-Kommandos und Optionen gelten auch für Unix und Mac OS. Hier folgt eine Zusammenfassung dazu.

1 Im Zweifel immer Logs checken

Da bei Linux und anderen Unix-ähnlichen Systemen Alles irgendwo geloggt wird, ist es bei Problemen immer ratsam, zuerst die Logdateien zu checken, um dem Fehler auf die Spur zu kommen. Bei den meisten Systemen sind die Logs im Verzeichnis /var/logs zu finden. Systemfehlermeldungen werden in /var/log/syslog protokolliert.

Linux Tux

2 Logausgabe mit tail -f

Mit dem tail-Kommando kann man sich Dateien auf der Konsole anzeigen lassen. Um z.B. die aktuellsten Einträge einer Logdatei anzuzeigen, ist die Option -f hilfreich:

tail -f

Das head-Kommando zeigt die ersten 10 Zeilen einer Datei an.

3 Ressourcenüberblick mit df -h

Je nach Festplattenplatz oder Partitionsgröße kann es manchmal zu Speicherplatzproblemen kommen. Um hier auf dem Laufenden zu bleiben, ist das df-Kommando (disc free) hilfreich, dass einem den noch freien Speicherplatz anzeigt. Wichtigste Optionen sind hier –h  für „human“ um ein für Menschen verständliches Format wie z.B. 5G angezeigt zu bekommen und –m für die Ausgabe in Megabytes.

4 Nicht als root einloggen

Da die meisten Hackversuche über Portscanner und Passwortgeneratoren versuchen den Root-Account zu knacken, gehört zum kleinen Admin-Einmaleins, den Root-Zugang zu sperren. Dazu wechselt man in das Verzeichnis /etc/ssh und editiert sshd_config in einem Texteditor. Die Zeile „PermitRootLogin yes“ wird zu „PermitRootLogin no“ geändert. Danach muß SSH neu gestartet werden um die Änderung wirksam zu machen:

/etc/init.d/ssh restart

5 Rechteverwaltung mit chmod und chown

Insbesondere bei der Verwaltung von Webserververzeichnissen ist es sehr wichtig, sich mit der Rechteverwaltung über chmod und chown auszukennen. Falsche Rechteeinstellungen bedeuten hier ein enormes Sicherheitsrisiko.

6 SFTP statt FTP benutzen

SFTP verschlüsselt Passwörter bei der getunnelten Übertragung, während FTP über Port 21 das Passwort im Klartext übermittelt. Port 21 kann leicht abgehört werden um so Passwörter auszulesen.

7 Auflisten von Verzeichnissen mit ls –al

Über das Kommando

ls -al

bekommt man alle Dateien in einem Verzeichnis angezeigt – auch die, die mit einem . (Punkt) beginnen und das Datum der letzten Änderung. Viele nutzen „ls -al“ als Standardvariante für das ls-Kommando.

8 Prozessübersicht mit top

Wenn der Prozessor mal ziemlich ausgelastet zu sein scheint, kann man mit dem top-Kommando die Ressourcen-intensivsten Systemprozesse ausgeben. Hier eine Beispielausgabe:

Beispielausgabe des Kommandos top

9 Suche in Dateien über Wörter und reguläre Ausdrücke mit grep

Grep ist ein sehr mächtiges Kommando für das Suchen in Dateien. Hier ein Beispiel:

grep -r pinehead.tv /etc/*

Mit diesem Kommando wird das Verzeichnis /etc rekursiv mit allen darunterliegenden Ordnern nach „pinehead.tv“ dursucht. Grep wir oft kombiniert mit dem find-Kommando verwendet, dass für Datei- und Verzeichnissuche gedacht ist.

10. Suchergebnisse in Datei umleiten

Um ein Suchergebnis in einer Datei auszugeben, anstatt auf der Konsole, kann man die Ausgabe wie folgt umleiten:

grep -r pinehead.tv /etc/* > test.test

In diesem Beispiel wird das Suchergebnis in die Textdatei test.test geschrieben. Noch ein paar Hinweise zu der Verwendung von Ausgabeumleitungen:

  • „>“ steht hier für eine einfache Ausgabeumleitung bei der eine neue Datei erzeugt wird, die die Ausgabe enthält. Wenn schon eine Datei mit dem gleichen Namen vorhanden ist, wird sie überschrieben.
  • Mit der doppelten Ausgabeumleitung „>>“ kann man die Ausgabe an eine bestehende Datei anhängen. Auch „>>“ erzeugt eine neue Datei, wenn sie noch nicht existiert.

Man kann diese Tipps sicher noch unendlich fortsetzten, aber wir belassen es hier mal dabei. Um weitere Infos und verfügbare Optionen (flags) zu einem Shell-Kommando anzuzeigen, kann man jedem Kommando jederzeit ein „man“ voranstellen, um die dazugehörigen Hilfeseiten (man-pages) aufzurufen. „Man man“ gibt z.B. Auskunft über das man-Kommando selbst. Ausserdem gibt es zahlreiche Webseiten, die sowohl man-pages, Kurzreferenzen und weitere Tutorials zu Linux und Unix anbieten.

Weiterführende Links:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

7 Kommentare
mg

less log + F kann mehr als tail -F log

… less kann mehr als more? :-)

Antworten
Werner
Werner

Punkt 4..
Klasse Tipp für Anfänger -> Wie sperre ich mich am besten und erfolgreich aus..

Natürlich muss man erst einen User anlegen über den man sich einloggen kann, sehen ob dieser user mit sudo root Rechte erhält . Nochmal checken ob es klappt und dann zum Schluss „PermitRootLogin no“ schreiben.

Antworten
Jonas

Unsere Junior Developer müssen sich immer durch SelfLinux durcharbeiten, das ist genial für den Start!

Antworten
Stefan

Anmerkungen/Korrekturen zu den einzelnen Tipps:

1: Die Systemnachrichten werden nicht immer in „/var/log/syslog“ ausgegeben sondern oft auch in „/var/log/messages„. Das hängt von der verwendeten Distribution bzw. der syslog-Konfiguration ab.

2: Hinweis: Man kann auch tailf benutzen.

3: df steht für „disk free“. In diesem Zusammenhang ist Auslastung des Arbeitsspeichers ebenso interessant: „free -m“.

4: Es wird SSH neu gestartet nicht die Shell. Übrigens sollte man die aktuelle Sitzung offen lassen und in einem zweiten Fenster die Verbindung versuchen. Die aktuelle Sitzung wird nämlich offen gehalten obwohl der Dienst neu gestartet wird, d.h. man kann noch überprüfen ob man sich gerade ausgesperrt hat oder nicht.

6: FTP kann nur zum hochladen von Dateien, nicht zur vollständigen Administration (ausführen von Befehlen) verwendet werden. Insofern ist dieser Tipp generell richtig, für den admin aber eher zweitrangig.

Hinweis: SFTP ist ein Untersystem von SSH und ist nicht mit FTPs (die verschlüsselte Variante von FTP zu verwechseln).
Doku zu SSH siehe auch: http://www.stefanux.de/wiki/doku.php/netzwerke/ssh

10: „>“ oder „>>“ ist eine reine Ausgabeumleitung in eine Datei, das Pipe-Zeichen ist „|“. Diese Ausgabeumleitung wird eher selten als pipe bezeichnet weil die Ausgabe nicht an ein anderes Programm geschickt wird (sondern in eine Datei). Siehe auch: https://de.wikipedia.org/wiki/Pipe_%28Informatik%29

Ausgabeumleitungen sind sehr wichtig, siehe auch:
http://www.stefanux.de/wiki/doku.php/shellscripts/shellscripts#umleitungen-der-eingabe-und-ausgabe

Was noch fehlt:
Generell sollte man sich unbedingt mit dem Paketmanagement (Softwareverwaltung) des Systems vertraut machen. Updates einspielen ist eins der Standardaufgaben eines admin.
Ebenso so grundlegend ist es das Verzeichnislayout von Linux zu verstehen (Konfiguration in „/etc“ usw.) siehe auch: http://www.stefanux.de/wiki/doku.php/linux/dateisystemaufbau

Antworten
Monika Steinberg

@Stefan
Hallo und vielen Dank für die umfangreichen Anmerkungen und Korrekturen!

Wo Du Recht hast, hast Du Recht ;) „Shell“ ist zu „SSH“ verbessert und „Pipe“ zu „Ausgabeumleitung“. Habe >/>> zwar im Englischen auch schon manchmal als „Pipes“ gelesen, aber das ist eigentlich verwirrend, weil „|“ ja Pipes sind.

Viele Grüße
Moni

Antworten
Sascha Kühl
Sascha Kühl

Hallo Monika Steinberg,

„GNU ‚grep'“ resp. RegExp (BRE, ERE, PCRE) sind (insbes.) f. unixoide OS unverzichtbar (geworden) – unter (https://goo.gl/ljr0pM) wird diese Thematik entsprechend (ausgiebig) behandelt.

Ciao, Sascha.

Antworten
josef
josef

lol jeder 15 jährige der mal linux benutzt hat kann diese kleinigkeiten, gaaanz weit weg vom richtigen linux admin

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung