Sie melden sich bei einem unbekannten UNIX- oder Linux-System (als root) an. Welche Befehle führen Sie aus, um sich zu orientieren und herauszufinden, auf welchem System Sie sich befinden? Wie stellen Sie fest, welche Art von Hardware verwendet wird, welches Betriebssystem ausgeführt wird und wie die aktuelle Situation in Bezug auf Berechtigungen und Sicherheit ist?
Was ist der erste und zweite Befehl, den Sie eingeben?
linux
shell
command-line
root
Alexander
quelle
quelle
uname -a
dannapropos whatever
deinen Freund benutzen .nmap -A -T4 localhost
könnte Ihnen auch einige nützliche Informationen gebennmap
Hammer hieltlocalhost
, sah es plötzlich aus wie ein Nagel. Aber dann wurde mir klar, dass es tatsächlich einige interessante Informationen gibt, und so habe ich es als halb-ernsthaften Vorschlag hinterlassen.Antworten:
eine Frage mit doppeltem Verwendungszweck! Entweder ein Software-Archäologe oder ein böser Hacker könnte die Antworten auf diese Frage verwenden! Nun, welches bin ich?
Ich habe immer
ps -ef
versus verwendetps -augxww
, um herauszufinden, worauf ich mich befand. Linux- und System V-Boxen mochten in der Regel "-ef" und Fehler auf "-augxww", umgekehrt für BSD- und alte SunOS-Maschinen. Die Ausgabe vonps
kann Sie auch viel wissen lassen.Wenn Sie sich als root anmelden können und es sich um einen Linux-Computer handelt, sollten Sie dies tun
lsusb
undlspci
- damit sind Sie zu 80% in der Lage, die Hardware-Situation zu kennen.dmesg | more
kann Ihnen dabei helfen, alle aktuellen Probleme zu verstehen.Es beginnt allmählich auszulaufen, aber dies
ifconfig -a
kann Ihnen normalerweise viel über die Netzwerkschnittstellen und das Netzwerk erzählen. Das Ausführen vonmii-tool
und / oderethtool
auf den Schnittstellen, die Sie in derifconfig
Ausgabe sehen und die wie verkabeltes Ethernet aussehen, kann Ihnen auch einige Informationen geben.Runnin
ip route
odernetstat -r
kann über Internet Protocol Routing, und vielleicht etwas über in bedienende Netzwerk - Schnittstellen informativ sein.Ein
mount
Aufruf kann Sie über die Festplatte (n) informieren und darüber, wie sie gemountet sind.Läuft
uptime
undlast | more
kann Ihnen dann etwas über den aktuellen Wartungszustand sagen. Uptimes von 100+ Tagen bedeuten wahrscheinlich "es ist Zeit, das Öl und die Flüssigkeiten zu wechseln", metaphorisch gesprochen. Laufenwho
geht auchSehen Sie sich das DNS-Setup dieses Computers an
/etc/resolv.conf
und/etc/hosts
erfahren Sie mehr darüber. Vielleicht tunnslookup google.com
oderdig bing.com
zu sehen, ob DNS meistens funktioniert.Es lohnt sich immer zu beobachten, welche Fehler ("Befehl nicht gefunden") und welche Befehlsvarianten ("ps -ef" vs "ps augxww") funktionieren, um festzustellen, auf welcher Unix- oder Linux- oder BSD-Variante Sie gerade gelandet sind.
Es ist wichtig, ob ein C-Compiler vorhanden ist oder nicht und wo er sich befindet. Tun
which cc
oder besser,which -a cc
um sie zu finden.quelle
netstat -tulpanw
mehr Output, aber das ist wirklich Geschmackssache.lshw
unter Linux.mount
ist chaotisch,findmnt
ist stattdessen sehr sauber.cat /etc/*release*
ist ein netter Befehl, um sich einen Überblick darüber zu verschaffen, welche Distribution läuft.quelle
http://bhami.com/rosetta.html kann nützlich sein, um nachzusehen, andernfalls stöbere ich normalerweise unter
/etc
(Accounts, Init-Inhalte, Hinweise zur Betriebssystemversion usw.)crontab -l
und schaue in derps
Liste nach Informationen.Auch "als root" ist super beängstigend, da ich Systeme reparieren musste, auf denen ein Linux-Administrator, der eine solche Untersuchung durchführt, alle Solaris-Hostnamen auf "" gesetzt hat
-f
.Es
df
ist auch ein gefährlicher Befehl, eine großartige Möglichkeit, E / A zu blockieren. Führen Sie das also niemals aus, bis Sie zumindest die Reittiere untersucht haben oder wissen, dass Sie eine weitere Sitzung irgendwie eröffnen können.Verwenden Sie sehr einfache Befehle (
uname
,cd /etc; ls
,cat
,$PAGER
) , bis Sie herausfinden , was der Wirt, und wenn Sie nicht vertraut mit ihm, überprüfen rosetta oder immer die man - Seite lesen , bevor Sie einen Befehl oder Flag auf einen Befehl unter der Annahme , das tut , was er tut , auf populärere Systeme.quelle
df
gefährlich? Gibt es Systeme, auf denen etwas anderes als die Verwendung des Dateisystems angezeigt wird?df
hängt, drücken Sie einfach STRG-Z undkill -9
es. Ich bin auch auf dieses Problem gestoßen und das hat bei mir immer funktioniert. Idealerweise sollten Ihre Reittiere auch nicht aufgehängt werden. Ich denke auch nicht, dass viele Leute Programme für "gefährlich" halten, weshalb ich denke, dass Terdon verwirrt war.dmidecode
Inlspci
der Regel erhalten Sie eine gute Vorstellung davon, welche Hardware auf dem System ausgeführt wird. Wenn dies ein Server ist, der normalerweise ausgeführtnetstat -tlpn
wird, wird der Zweck des Servers verraten.df -hP
ist ein guter Befehl zum Überprüfen des aktuellen Speichers im System.lsb_release -a
solltest du wissen, in welcher Distribution du bist:Beim Ausführen
last
sollten Sie wissen, wer das System verwendet. Vorausgesetzt, Sie haben zu Recht auf diesen Server zugegriffen, können Sie häufig nur eine der Personen, die sich anmelden, um weitere Informationen dazu bitten.Für herstellerneutrale Sicherheitsüberprüfungen: Häufig verfügt die Firewall über eindeutige Konfigurationsdaten, sodass das Ausführen von a
iptables -nvL
nützlich ist. Sie sollten auch die Pam-Konfigurationsdateien Ihrer Distribution überprüfen, um festzustellen, ob Sie nur lokale Benutzer verwenden oder ob Sie für die Verwendung von ldap / kerberos / winbind / sssd / whatever konfiguriert sind.Sie können auch die Konfiguration der Dienste überprüfen, die in Ihrem System ausgeführt werden
netstat -tlpn
. Wenn Sie beispielsweise Apache sehen, können Sie nachsehen/etc/http/conf/httpd.conf
(unter RHEL,/etc/apache2
unter Ubuntu), welche Websites ausgeführt werden. Alternativ können Sie a ausführenapachectl -S
, um eine Liste aller konfigurierten virtuellen Hosts abzurufen. Es ist eine Art Fan von dort, also kann ich wirklich nur Apache als Beispiel anbieten und nur sagen, um die Konfiguration des Daemons zu überprüfen, wenn es etwas anderes ist.Auf RHEL würde ich auch nachsehen
rpm -qa --last | head
, wann sie das letzte Mal Systemaktualisierungen durchgeführt haben. Ich würde auch prüfen, ob SELinux über aktiviert istgetenforce
quelle
Ein paar andere Ideen:
/proc
Dateisystems kann darauf hinweisen, ob Sie auf Mac , FreeBSD oder Linux arbeiten.ls /usr/bin | grep 'apt\|yum\|pacman'
netstat -tulpan
. Das könnte seinsshd
, Webserver,ftp
;quelle
yum
Paket. Wie würde das Vorhandensein eines SSH-Servers das System anzeigen? AFAIK finden Siesshd
auf so ziemlich alles.