Tři bezplatné ovládací panely serveru (Rychlá instalace)
1. Virtualmin/Webmin Virtualmin je výkonný a flexibilní ovládací panel webhostingu pro systémy Linux a UNIX založený na známé webové základně Open Source
V Linuxu je mnoho objektů považováno za soubor, bez ohledu na to, zda je objektem ve skutečnosti soubor, zařízení, adresář nebo soket. Vypsání souboru je snadné, je k tomu vestavěný shell ls
. Co když ale uživatel chtěl vidět, které soubory jsou aktuálně otevřeny procesem webového serveru? Nebo pokud by tento uživatel chtěl zjistit, které soubory jsou otevřeny v určitém adresáři? To je místo, kde lsof
přichází do hry. Představte si to lsof
jako ls
s přidáním „otevřených souborů“.
Vezměte prosím na vědomí, že zatímco BSD mají pro tuto práci jinou utilitu fstat
, několik dalších variant Unixu (například Solaris) má také lsof
. Možnosti a příznaky se na ostatních platformách liší, stejně jako vzhled výstupu, ale obecně by pro ně měly být použitelné i znalosti v tomto článku.
Nejprve se podívejme na formát lsof
výstupu a na to, jak se má číst. Obvyklý výstup lsof
bez jakýchkoli parametrů by vypadal následovně. Toto bylo oříznuto pro čitelnost.
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 254,1 4096 2 /
init 1 root rtd DIR 254,1 4096 2 /
init 1 root txt REG 254,1 36992 7077928 /sbin/init
init 1 root mem REG 254,1 14768 7340043 /lib/x86_64-linux-gnu/libdl-2.13.so
init 1 root mem REG 254,1 1603600 7340040 /lib/x86_64-linux-gnu/libc-2.13.so
init 1 root mem REG 254,1 126232 7340078 /lib/x86_64-linux-gnu/libselinux.so.1
init 1 root mem REG 254,1 261184 7340083 /lib/x86_64-linux-gnu/libsepol.so.1
init 1 root mem REG 254,1 136936 7340037 /lib/x86_64-linux-gnu/ld-2.13.so
init 1 root 10u FIFO 0,14 0t0 4781 /run/initctl
Tyto sloupce znamenají následující:
init
.init
, je to téměř vždy root
.cwd
- Aktuální pracovní adresář (můžete si všimnout podobnosti s pwd
příkazem, který tiskne aktuální pracovní adresář).rtd
- Kořenový adresář procesu.txt
- A text file
, může to znamenat buď konfigurační soubor související s procesem, nebo "zdrojový kód" související (nebo patřící k) procesu.mem
- Takzvaný "soubor mapovaný do paměti", to znamená segment virtuální paměti (čti RAM), který byl přiřazen k souboru.r
- Čtěte.w
- Napsat.u
- Číst a psát.REG
- Běžný soubor.DIR
- Adresář.FIFO
- První dovnitř, první ven.To může být prozatím trochu ohromující, ale pokud s tím budete pracovat lsof
několikrát, rychle se vám to vryje do mozku.
Jak je uvedeno výše, výstup lsof
zde byl zkrácen. Bez jakýchkoli argumentů nebo filtrů lsof
vytváří stovky řádků výstupu, který vás nechá jen zmatený.
Existují dva základní přístupy k řešení tohoto problému:
lsof
zúžení výsledků použijte jednu nebo více možností příkazového řádku.grep
.I když druhá možnost může znít pohodlněji, protože si nebudete muset pamatovat možnosti lsof
příkazového řádku, obecně není tak flexibilní a efektivní, takže se budeme držet první.
Představme si, že chcete otevřít soubor pomocí svého oblíbeného textového editoru a že vám textový editor řekne, že jej lze otevřít pouze v režimu pouze pro čtení, protože k němu již přistupuje jiný program. lsof
vám pomůže zjistit, kdo je pachatel:
lsof /path/to/your/file
Tím vznikne výstup podobný tomuto:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Zřejmě jste zapomněli zavřít a starší relaci! Velmi podobný problém nastane, když se pokusíte odpojit sdílenou složku NFS a umount
řekne vám, že to nejde, protože něco stále přistupuje k připojené složce. Opět lsof
vám může pomoci s identifikací viníka:
lsof +D /path/to/your/directory/
Všimněte si koncového lomítka, to je důležité. Jinak se lsof
bude předpokládat, že máte na mysli běžný soubor. Nenechte se zmást +
před příznakem - lsof
má tolik možností příkazového řádku, které potřebuje +
kromě těch běžnějších -
. Výstup by vypadal takto:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mocp 5637 music 4r REG 0,19 10147719 102367344 /home/Music/RMS_GNU_SONG.ogg
To znamená, že proces mocp
s PID 5637
, který patří uživateli music
, otevřel soubor s názvem RMS_GNU_SONG.ogg
. I po ukončení tohoto procesu však stále přetrvává problém – svazek NFS nelze odpojit.
lsof
má -c
příznak, který zobrazuje otevřené soubory s libovolným názvem procesu.
lsof -c mocp
Výsledkem by byl výstup, který vypadá takto:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
V tomto příkladu je další instance mocp
spuštění, která vám brání v odpojení sdílené složky. Po vypnutí tohoto procesu se chcete ujistit, že uživatel music
nemá otevřené žádné další potenciálně problematické soubory. lsof
má -u
příznak pro zobrazení souborů otevřených konkrétním uživatelem. Pamatujte, že soubor není vždy jen obyčejný soubor na vašem pevném disku!
lsof -u music
Můžete také předat několik uživatelů oddělených čárkami:
lsof -u music,moremusic
Důležitá poznámka o výchozí chování lsof
: výsledky jsou OR na bázi, což znamená, že uvidíte výsledky otevření souboru pomocí postupů, které jsou ve vlastnictví buď uživatel music
, nebo uživatel moremusic
. Pokud byste chtěli vidět výsledky odpovídající procesům, které vlastní oba uživatelé, museli byste předat příznak -a
:
lsof -au music, moremusic
Protože jsou oba uživatelé ve skupině musicusers
, můžete také vypsat soubory podle skupiny:
lsof -g musicusers
Můžete také kombinovat příznaky příkazového řádku:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
Na poslední řádek jsme přidali další speciální příznak - ^
, což znamená logické NOT . Pokud je výstup po spuštění tohoto příkazu prázdný, bude odpojení s největší pravděpodobností úspěšné.
V předchozích příkladech jsme se většinou dívali na běžné soubory. Jak je to se zásuvkami a síťovými připojeními?
Seznam všech aktuálních síťových připojení lsof
má -i
příznak:
lsof -i
Výstup vypadá podobně jako to, co jsme dosud viděli...
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
owncloud 3509 myuser 25u IPv4 44946 0t0 TCP strix.local:34217->myserver.vultr.com:https (ESTABLISHED)
firefox 3612 myuser 82u IPv4 49663 0t0 TCP strix.local:43897->we-in-f100.1e100.net:https (ESTABLISHED)
ssh 3784 myuser 3u IPv4 10437 0t0 TCP strix.local:51416->someserver.in:ssh (ESTABLISHED)
wget 4140 myuser 3w IPv4 45586 0t0 TCP strix.local:54460->media.ccc.de:http (CLOSE_WAIT)
... až na jeden rozdíl: místo názvů souborů nebo adresářů nyní sloupec NAME
zobrazuje informace o připojení. Každé spojení se skládá z následujících částí:
Stejně jako u mnoha jiných nástrojů se můžete odhlásit z rozlišení názvů DNS a portů ( -n
a -P
). Příznak -i
přebírá další parametry. Můžete určit, zda se má či nemá zobrazovat tcp
, udp
nebo icmp
připojení nebo určité porty:
lsof -i :25
or
lsof -i :smtp
Parametry lze opět kombinovat. Následující příklad...
lsof -i tcp:80
... vám ukáže pouze připojení TCP pomocí portu 80. Můžete jej také zkombinovat s možnostmi, které již znáte z „klasických“ souborů:
lsof -a -u httpd -i tcp
Zobrazí se všechna připojení TCP otevřená uživatelem httpd
. Všimněte si -a
příznaku, který mění výchozí chování lsof
(jak bylo zmíněno dříve). Stejně jako u většiny nástrojů příkazového řádku můžete jít velmi hluboko. Následující zobrazí pouze připojení TCP, jejichž stav je "NASTAVENO":
lsof -i -s TCP:ESTABLISHED
V tomto okamžiku byste měli mít základní znalosti o tom lsof
, jak funguje, spolu s některými běžnými případy použití. Další informace naleznete v manuálové stránce lsof
vašeho systému.
1. Virtualmin/Webmin Virtualmin je výkonný a flexibilní ovládací panel webhostingu pro systémy Linux a UNIX založený na známé webové základně Open Source
Úvod Logrotate je nástroj pro Linux, který zjednodušuje správu souborů protokolu. Obvykle se spouští jednou denně prostřednictvím úlohy cron a spravuje základnu protokolů
Používáte jiný systém? Mailtrain je open-source samostatně hostovaná aplikace pro newsletter postavená na Node.js a MySQL/MariaDB. Zdroj Mailtrains je na GitHubu. toto
Monitorování zdrojů RAM vašeho VPS je velmi důležité. Zejména pokud používáte systémy ukládání do mezipaměti, jako je Redis nebo Memcached. Pokud vašemu serveru dojde paměť
Povolení přihlášení root přes SSH je v celém technologickém průmyslu běžně považováno za špatnou bezpečnostní praxi. Místo toho můžete provádět citlivou administrativu
Používáte jiný systém? Úvod CyberPanel je jedním z prvních ovládacích panelů na trhu, který je jak open source, tak využívá OpenLiteSpeed. Co tohle
Úvod Mytop je bezplatný konzolový nástroj pro monitorování výkonu MySQL. Je podobný špičkovému nástroji, ale zobrazuje dotazy MySQL. Vtip
CentOS Web Panel nebo CWP je výkonný ovládací panel webhostingu s otevřeným zdrojovým kódem určený pro CentOS, RHEL a CloudLinux. S pomocí CWP, systém
Úvod Redis je často označován jako server datových struktur. To znamená, že Redis poskytuje přístup k proměnným datovým strukturám prostřednictvím sady příkazů
V Linuxu je mnoho objektů považováno za soubor, bez ohledu na to, zda je objektem ve skutečnosti soubor, zařízení, adresář nebo soket. Vypsání souboru je snadné
Můžeme snadno migrovat účet serveru cPanel na server Virtualmin běžící na jakémkoli Vultr VPS. Následující kroky zahrnují vytvoření úplné zálohy na cPane
Ghost je bezplatná a open source platforma pro blogování napsaná v node.js, zcela přizpůsobitelná a určená pro publikování. Připravte server: Aktualizujte
Správné nastavení data a času na serveru Linux je velmi důležité. Vaše protokoly serveru a další důležité informace budou všechny odrážet časové pásmo o
Pokud máte na svém počítači se systémem Linux uloženo mnoho obrázků ve vysokém rozlišení, může vám docházet úložiště kvůli velkému množství místa na disku, které používáte
Používáte jiný systém? Úvod Sentry je open source řešení pro sledování chyb. Sentry sleduje výjimky a další užitečné zprávy
Úvod phpMyAdmin je pohodlný webový nástroj pro správu databází MySQL, který vám může ušetřit spoustu času při správě databáze řízené příkazy.
Používáte jiný systém? Mailtrain je open-source samostatně hostovaná aplikace pro newsletter postavená na Node.js a MySQL/MariaDB. Zdroj Mailtrains je na GitHubu. toto
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více