Ich bin kein Systemadministrator, aber ich habe gute Kenntnisse in Linux, Unix, Windows und Hardware.
Was sind die am häufigsten benötigten Themen, die ein Linux-Administrator auswendig muss (um das Problem zu beheben, einzurichten und zu lösen, ohne das Handbuch unbedingt lesen zu müssen) )?
Das FOCUS, das ich dafür festlegen möchte, ist vom Unternehmensnetzwerk bis zur Serververwaltung, die möglicherweise über die gleichen Funktionen verfügt, meist auch über einige andere Funktionen. Wie zum Beispiel werden Sie nicht immer einen FTP-Server für einen Unternehmensserver sehen, sondern wahrscheinlich die meiste Zeit Samba ...
Ich sage nicht "Buch, das du lesen musst" oder ähnliches, aber ich meinte die notwendigsten Funktionen, die in deinem täglichen Leben als Linux-Administrator wahrscheinlich benötigt werden.
Mögen:
- Kernel, Iptables
- Sendmail, Postfix, qmail, exim
- Tintenfisch, Samba, NFS, LDAP
- Apache, ngxix, lighthttpd
- vsftpd, proftpd
- binden
- Tägliche Probleme konfrontiert
- Welche Funktion haben Sie tagsüber am häufigsten verwendet?
Dies ist weder eine Liste in der richtigen Reihenfolge noch die am häufigsten benötigte. Es nennt nur etwas, das mir in den Sinn gekommen ist.
PS: Ich habe bereits Grundkenntnisse, aber keine täglichen Erfahrungen auf dem Feld. Ich hatte Server, machte einige Netzwerke und so weiter. Außerdem habe ich in einigen Teilen sogar ein tiefes Wissen. Ich wollte dies hier nur aktualisieren, wie ich sagte, dies ist eher eine tägliche Liste eines Linux-Systemadministrators.
Ich würde mich freuen, wenn ihr Jungs / Mädels Themen auflisten könnt und zum Beispiel, welches Feld darin am häufigsten verwendet wird oder wichtig ist, um es auswendig zu lernen.
Wenn Sie glauben, dass meine Frage nicht geeignet ist, lassen Sie es mich wissen und ich werde sie selbst löschen oder wenn Sie der Meinung sind, dass sie geeignet ist, aber noch überarbeitet werden muss, lassen Sie es mich ebenfalls wissen und ich werde mein Bestes versuchen.
Are you really sure you care about the day-to-day things?
mmmmm aber inst Probleme, die Teil des täglichen Lebens eines Menschen passieren? die Sie zu Funktionen verwendet zum Beispiel führen Netzwerk ifconfig dhcp wie Sie gesagt haben ... debug auf welcher Ebene das Problem passieren, usw.Wissen, welche Tools Sie haben
Sie werden nie alles vorher wissen . Aber Sie können wissen, womit Sie arbeiten müssen. Je mehr Tools Sie kennen, desto mehr können Sie verwenden. Wenn Sie wissen, was das Tool ist, was es tut und wo Sie weitere Informationen dazu finden, ist dies für den Anfang ausreichend.
Machen Sie sich mit den
man
Seiten wirklich vertraut . Sie müssen sie nicht auswendig lernen, aber Sie sollten wissen, wo Sie das finden, wonach Sie suchen.man
Bei der Suche nach Syntaxdetails sind Seiten besser als Google, da die auf einem bestimmten System installierten Seiten die verschiedenen Macken oder versionsspezifischen Informationen widerspiegeln, die dem von Ihnen betrachteten System entsprechen.Wenn Sie
apache
viel verwenden, empfehle ich, die Apache-Konfigurationssyntax zu erlernen. Wenn Sienginx
stattdessen verwenden, dann lernen Sie das stattdessen. Auf jeden Fall sollten Sie wissen, was beide sind und wie sie sich unterscheiden.Systemwerkzeuge
Es gibt einige Tools, die Ihnen helfen, egal welche Art von Sysadmin-Arbeit Sie ausführen. Vorausgesetzt , dass Sie die Grundlagen kennen, wie
chmod
,mount
etc., sind hier ein paar sehr hilfreiche Tools einige Administratoren verstehen nicht gut genug:Befehlszeile Ninja
Ich würde sagen, dass ein solides Verständnis von Shell-Skripten Wunder bewirken kann, wenn es darum geht, schwierige Dinge schnell und einfach zu machen. Wenn Sie die Syntax nachschlagen müssen, ist es wahrscheinlich, dass Sie dies überhaupt nicht tun. Daher ist es wichtig, dass Sie sich im Voraus bewusst sind.
mysqldump
Angenommen , Sie haben ein Verzeichnis voller ".sql" -Dateien, die jeweils eine Datenbank darstellen, die in den Server importiert werden muss. Importieren Sie alle 35 manuell? Wenn Sie einigermaßen mit Shell-Skripten vertraut sind, können Sie ganz schnell und einfach einen Befehl eingeben und dann einen Kaffee trinken gehen:Hinweis: Ich habe es aus Gründen der Lesbarkeit in separate Zeilen aufgeteilt. Wenn Sie die Semikolons in lassen, können Sie alles in eine Zeile setzen. Andernfalls werden die Semikolons nicht am Ende jeder Zeile benötigt.
Außerdem empfehle ich, die Verwendung zu verbessern
sed
. Stellen Sie sich das als Möglichkeit vor, reguläre Ausdrücke überall anzuwenden. http://www.grymoire.com/Unix/Sed.htmlAngenommen, Sie haben Ihre Telefonnummer geändert und müssen alle Ihre Webseiten entsprechend aktualisieren (und eine Sicherungskopie speichern, falls Sie etwas falsch machen).
Zu wissen, wie vorhandene Tools richtig verkettet werden, um neue Dinge zu tun, kann ebenfalls sehr hilfreich sein. Angenommen, Sie müssen dasselbe tun wie oben, aber auch in Unterverzeichnissen suchen -
Es ist auch nützlich, Erfahrung mit zu haben
perl
. Sie müssen vielleicht keine ernsthaften Programme damit schreiben, aber es wurde entwickelt, um viele der Dinge zu tun, diesed
und die esawk
tun, nur vielleicht ein bisschen flexibler.Perl kann verwendet werden, um Befehlszeilenmagie mithilfe der
-e
Option auszuführen. Mit Hilfe mit-p
,-n
und-i
Sie können schnell einfache Filter schreiben wirklich nützliche Dinge zu tun. Angenommen, Sie müssen die IP-Adresse aller Benutzer ermitteln, die im September auf "/admin.php" zugegriffen haben:Sehen? Das war nicht so schlimm. Von Ihnen als Sysadmin wird erwartet, dass Sie wissen, wie man dieses Zeug macht.
quelle
Ich bin ein Windows-Administrator, der sich ein wenig mit Linux beschäftigt und daher nicht in der Lage ist, die Frage direkt zu beantworten. Meiner Meinung nach muss ein Administrator, wenn er die Grundlagen erst einmal richtig verstanden hat, unabhängig vom Betriebssystem wissen, wo und wie er die Antworten findet.
quelle
Neben den anderen Antworten:
Ich denke, Sie sollten auch wissen, wie man mit den Prozessen umgeht:
Ich denke, du musst sed nicht beherrschen (ich weiß, zumindest nicht), ich komme mit einem der Greps (grep, egrep, zgrep, etc) problemlos zurecht. Sie müssen jedoch die grundlegende Syntax für reguläre Ausdrücke kennen.
Ich denke, Sie sollten grundlegende Befehle kennen, um MTA (postfix oder exim) und MDA (dovecot, cyrus, courier) zu manipulieren und / oder zu überwachen, wenn Sie einen Mailserver betreiben. Selbst wenn Sie keinen ausführen, müssen Sie in der Lage sein, grundlegende SMTP-Tests auf einem MTA auszuführen, wenn auch nur bei lokalen Zustellungsproblemen.
Sie sollten sich mit dem verwendeten Authentifizierungssystem (PAM, LDAP) auskennen. Wo sind Ihre Passwörter gespeichert? Mit welchen Verfahren? Welche Anwendungen verwenden welche Authentifizierungsmechanismen?
quelle
Es gibt ein paar Dinge, die Sie unbedingt wissen MÜSSEN.
Sie müssen ein gutes Verständnis für Ihre Shell haben (wie sie Argumente analysiert, wie sie Platzhalter erweitert, wo sich die verworrenen Eckfälle befinden).
Sie müssen in der Lage sein, Dateien zu bearbeiten, ohne dass X11 ausgeführt wird.
Sie müssen in der Lage sein, Dateisysteme bereitzustellen und die Bereitstellung aufzuheben.
Sie müssen in der Lage sein, neue Informationen schnell aufzunehmen. Denn dies sind die Fähigkeiten, die Sie benötigen, wenn die Serverfarm des gesamten Unternehmens abstürzt und Sie nur über einen Piddly-Console-Server (das ist "Konsole" wie bei der seriellen Schnittstelle) und / oder eine sehr langsame VPN-Verbindung (was auch alles auf X11-Basis möglich ist) Zugriff haben schmerzlich). Und es wird passieren, also plane es.
quelle
Die angegebenen Beispiele sind allesamt großartige Server-bezogene Antworten. Die Systemadministration besteht jedoch nie zu 100% aus Computern. Ich wünschte, das wäre es!
Sie müssen sich auch mit Menschen auseinandersetzen, in unserem Fall mit Manglement, Lusers, Contractors und Suppliers
Kundendienstfähigkeiten, die wissen, wie man über das spricht, was Sie benötigen / wollen / müssen, Informationen an andere Personen weitergibt , Dokumentation - all dies ist für die Aufrechterhaltung Ihres Sysadmin-Jobs von entscheidender Bedeutung.
Wenn Sie möchten, dass Ihre Projekte finanziert und genutzt werden: Es macht keinen Sinn, einen neuen Server zu suchen, wenn Sie nicht wissen, wie Sie um Geld bitten sollen, wenn Sie nicht über die Zahlen / Alternativen / DR-Plan / Quotes / Implementierungsplan verfügen etc .. Büropolitik ist ein B ** CH, Geld ist immer: "Tight" .. was auch immer das bedeutet .. es wirkt sich nicht auf die Execs Firmenwagen aus, aber es wirkt sich auf die Sicherheit Ihrer Site und die Fähigkeit zur Standardisierung aus, wenn Sie können beeindrucken sie nicht Ihre Gründe.
Ich würde das Wichtigste sagen, an das man sich erinnern sollte: VERTRAUEN SIE NICHT, WAS EIN BENUTZER SAGT . Denken Sie daran, wenn Sie den Anruf entgegennehmen. Egal, was sie sagen, Sie müssen es immer noch selbst herausfinden, weil es letztendlich Ihr Arsch ist, nicht ihr Arsch, und sie haben im Allgemeinen keine Ahnung. Nur weil sie einen mit Schlagworten beladenen Absatz zusammenstellen können, um Ihren Chef zu verwirren, heißt das nicht, dass sie tatsächlich wissen, was sie gerade gesagt haben.
Andere Gedanken:
Stellen Sie sicher, dass Sie genug Zeit an der USV haben, um alles auszuschalten , WENN der Strom ausfällt
Überwachen Sie, stellen Sie sicher, dass Sie wissen, dass es abgefallen ist. Warten Sie nicht, bis die Verlierer anrufen.
BACKUPS BACKUPS BACKUPS .. Mehrbenutzersysteme können Überstunden machen, wenn Sie kein gutes Backup-System haben .. Überstunden sind schlecht (nicht für Ihre Tasche, sondern für Ihr Budget und den Anschein von Professionalität).
ÄNDERN SIE NIEMALS AN EINEM FREITAG ODER AM TAG VOR EINEM URLAUB. Sie werden über das Wochenende angerufen. Sie müssen das Problem beheben. Sie werden eine wirklich schlechte Zeit haben.
Standardisieren und automatisieren ... so viel du kannst! Wenn Sie es schreiben können, warum haben Sie es nicht?
Finden Sie heraus, wie Sie ein Helpdesk-System verwenden / installieren, wie Benutzer Anrufe über dieses System protokollieren, wie Sie Ihre Aktivitäten verfolgen, welche Anreize Sie für die geleistete Arbeit erhalten und wie Sie aufzeichnen können Ihre Antworten (defacto KB) .. während Sie den Benutzer über den Fortschritt informieren. Stellt sicher, dass Benutzeranfragen / -probleme nicht in der Flut verloren gehen. (Spiceworks ist kostenlos, es gibt viele andere)
Ich kaufte eine Kopie: Die Praxis der Systemadministration , von Limoncelli, ich sehr empfehlen.
quelle
Ein Linux-Administrator muss die Dateiberechtigungen genau verstehen sowie die Verwendung von Tools wie su und sudo , chmod und chown usw., um einen Benutzer zu einer Gruppe hinzuzufügen oder neue Benutzer zu erstellen, um bestimmten Benutzern SSH-Berechtigungen zu erteilen oder Gruppen.
quelle
Müssen schnell mit einem Editor auf der Kommandozeile sein.
quelle
Lernen
sed
,grep
undawk
: eine Menge von dem, was ich tue , täglich als Linux Sysadmin ist Pull - Down eine riesige Liste von Dateien / Computer / Benutzer / etc. und transformieren Sie die Eingabe in eine andere Gruppe von Ausgaben, die von einem anderen Programm verwendet werden sollen.Ein konkretes Beispiel hierfür ist das Abrufen einer Liste mit kaputten Computern von beispielsweise Bugzilla oder RT, das Entfernen aller überflüssigen Informationen, die ich mithilfe eines der drei oben genannten Tools schnell kopiert und in ein Textdokument eingefügt habe, und das anschließende Ausgeben Eine durch Leerzeichen getrennte Liste mit einer Reihe von Knoten, in die ich SSH ausführen muss.
Außerdem müssen Sie auf jeden Fall die Obergrenzen der von Ihnen verwendeten Shell kennen. Meistens, wenn Sie ein paar veraltete Dateien entfernen müssen, werden Sie wahrscheinlich auf einen Ordner mit mehr als 30.000 Dateien stoßen.
rm *
funktioniert nicht, da der Stern zu einer Liste mit mehr als 30.000 Einträgen erweitert wird und die von Ihnen verwendete Shell wahrscheinlich keine Liste dieser Größe enthalten kann. Die Art und Weise dies zu lösen ist mitxargs
: stattrm *
, würden Sie verwendenls | xargs -i{} rm {}
, das wird funktionieren.quelle
Als Systemadministrator betrachte ich mich als digitalen Arzt (oder, abhängig vom Tag, manchmal als Weltklasse-Gehirnchirurgen).
Wenn alles funktioniert, haben Sie genügend Zeit, um Ihre eigenen Fähigkeiten und die von Ihnen verwalteten Systeme zu verbessern.
Wenn etwas fehlschlägt, müssen Sie in der Lage sein, das Problem sofort zu diagnostizieren und zu erkennen, wie es behoben werden kann.
Sie müssen also die Grundlagen (und zu einem gewissen Zeitpunkt auch die Interna) der von Ihnen verwalteten Server und Anwendungen lernen / auswendig lernen. Angenommen, Ihr Unternehmen hostet eine Website, deren Webstamm über NFS bereitgestellt wird. Plötzlich beginnen alle WWW-Knoten zu alarmieren und die Site reagiert nicht mehr. Was ist zu vermuten? Ah-ha! Der NFS-Server ist gerade ausgefallen und das Failover-Clustering hat aus irgendeinem Grund auch nicht funktioniert.
Ein weiterer wichtiger Aspekt ist die Grundlast der von Ihnen verwalteten Server. Erfahren Sie, wie Sie sich die durchschnittliche Auslastung, die CPU-Auslastung, die Speichernutzung und ähnliches merken. OK, Sie müssen sich nicht alles merken - Diagramme, die mit Cacti oder net-snmp + mrtg erstellt wurden, können viel helfen, aber wenn sich Ihr Pager-Alarm über Server X seltsam verhält und Sie gleichzeitig vom Helpdesk angerufen werden, um von einem anderen zu erzählen Sie können diese beiden Dinge möglicherweise kombinieren und das Problem beheben, bevor Sie sich die Protokolle, den Alarmverlauf oder die Diagramme ansehen.
Machen Sie sich auch auf das Schlimmste gefasst: Überlegen Sie, was Sie tun würden, wenn das gesamte Rechenzentrum aufgrund eines Stromausfalls ausfallen würde. Wie würden Sie alles hochfahren, nachdem der Strom wieder verfügbar wäre? Was würden Sie tun, wenn etwas nicht anlaufen würde? Wie würden Sie Backups wiederherstellen? Oder was würden Sie tun, wenn Sie jemand auf einen Cracker aufmerksam machen würde, der gerade in Ihre Server eingebrochen ist? (Diese Art von Dingen sollte als Checkliste dokumentiert werden, aber es ist auch gut, eine Art Intuition zu haben.)
Und, wie von anderen erwähnt, fahren Sie fort und schreiben Sie die Dinge, die (halb-) automatisch ausgeführt werden sollen. Lernen und spielen Sie mit der Shell / Perl, sie sind wirklich Ihre besten Freunde und können sehr oft sehr komplexe Probleme mit nur wenigen Befehlen lösen, die zusammen übertragen werden.
quelle