Install Plesk on CentOS 7
Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases
V systéme Linux sa mnohé objekty považujú za súbor bez ohľadu na to, či je objektom skutočne súbor, zariadenie, adresár alebo soket. Vypísanie súboru je jednoduché, je na to zabudovaný shell ls
. Čo ak však používateľ chce vidieť, ktoré súbory sú momentálne otvorené procesom webového servera? Alebo ak chcel tento používateľ zistiť, ktoré súbory sú otvorené v určitom adresári? To je miesto, kde lsof
prichádza do hry. Predstavte si to lsof
ako ls
s pridaním „otvorených súborov“.
Upozorňujeme, že zatiaľ čo BSD majú pre túto úlohu inú pomôcku fstat
, niekoľko ďalších verzií Unixu (napríklad Solaris) má tiež lsof
. Možnosti a príznaky sú na iných platformách odlišné, rovnako ako aj vzhľad výstupu, ale vo všeobecnosti by pre ne mali platiť aj poznatky z tohto článku.
Najprv sa pozrime na formát lsof
výstupu a na to, ako sa má čítať. Zvyčajný výstup lsof
bez akýchkoľvek parametrov by vyzeral nasledovne. Toto bolo upravené kvôli čitateľnosti.
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
Tieto stĺpce znamenajú:
init
.init
, je to takmer vždy root
.cwd
- Aktuálny pracovný adresár (môžete si všimnúť podobnosť s pwd
príkazom, ktorý vypíše aktuálny pracovný adresár).rtd
- Koreňový adresár procesu.txt
- A text file
, môže to znamenať buď konfiguračný súbor súvisiaci s procesom, alebo „zdrojový kód“ súvisiaci (alebo patriaci k) procesu.mem
- Takzvaný "súbor mapovaný v pamäti", to znamená segment virtuálnej pamäte (čítaj: RAM), ktorý bol priradený k súboru.r
- Čítať.w
- Napíšte.u
- Čítaj a píš.REG
- Bežný súbor.DIR
- Adresár.FIFO
- Prvý dnu prvý von.Nateraz to môže byť trochu ohromujúce, ale ak s tým budete pracovať lsof
niekoľkokrát, rýchlo sa vám to vryje do mozgu.
Ako už bolo spomenuté vyššie, výstup lsof
tu bol skrátený. Bez akýchkoľvek argumentov alebo filtrov lsof
vytvára stovky riadkov výstupu, ktorý vás nechá len zmätený.
Na vyriešenie tohto problému existujú dva základné prístupy:
lsof
Na zúženie výsledkov použite jednu alebo viacero možností príkazového riadka.grep
.Aj keď posledná možnosť môže znieť pohodlnejšie, pretože si nebudete musieť pamätať možnosti lsof
príkazového riadka, vo všeobecnosti nie je taká flexibilná a efektívna, takže sa budeme držať prvej.
Predstavme si, že chcete otvoriť súbor pomocou svojho obľúbeného textového editora a textový editor vám povie, že ho možno otvoriť iba v režime iba na čítanie, pretože k nemu už pristupuje iný program. lsof
vám pomôže zistiť, kto je páchateľ:
lsof /path/to/your/file
Výsledkom bude 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
Zrejme ste zabudli zavrieť a staršiu reláciu! Veľmi podobný problém nastane, keď sa pokúsite odpojiť zdieľanie NFS a umount
povie vám, že to nejde, pretože niečo stále pristupuje k pripojenému priečinku. Opäť lsof
vám môže pomôcť pri identifikácii vinníka:
lsof +D /path/to/your/directory/
Všimnite si koncovú lomku, tá je dôležitá. V opačnom prípade sa lsof
bude predpokladať, že máte na mysli bežný súbor. Nenechajte sa zmiasť +
pred vlajkou - lsof
má toľko možností príkazového riadku, ktoré potrebuje +
okrem bežnejších -
. Výstup by vyzeral 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
patriaci používateľovi music
otvoril súbor s názvom RMS_GNU_SONG.ogg
. Avšak aj po zatvorení tohto procesu stále existuje problém - zväzok NFS nemožno odpojiť.
lsof
má -c
príznak, ktorý zobrazuje otvorené súbory s ľubovoľným názvom procesu.
lsof -c mocp
Výsledkom by bol výstup, ktorý vyzerá takto:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
V tomto príklade je iná inštancia mocp
spustenia, ktorá vám bráni odpojiť zdieľanie. Po vypnutí tohto procesu sa chcete uistiť, že používateľ music
nemá otvorené žiadne ďalšie potenciálne problematické súbory. lsof
má -u
príznak pre zobrazenie súborov otvorených konkrétnym používateľom. Pamätajte, že súbor nie je vždy len obyčajný súbor na vašom pevnom disku!
lsof -u music
Môžete tiež odovzdať niekoľko používateľov oddelených čiarkami:
lsof -u music,moremusic
Dôležitá poznámka o predvolené správanie lsof
: výsledky sú OR na báze, čo znamená, že uvidíte výsledky otvorenie súboru pomocou postupov, ktoré sú vo vlastníctve buď používateľ music
, alebo užívateľ moremusic
. Ak by ste chceli vidieť výsledky zodpovedajúce procesom, ktoré vlastnia obaja používatelia, museli by ste zadať príznak -a
:
lsof -au music, moremusic
Keďže obaja používatelia sú v skupine musicusers
, môžete tiež zobraziť zoznam súborov podľa skupiny:
lsof -g musicusers
Môžete tiež kombinovať príznaky príkazového riadku:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
V poslednom riadku sme pridali ďalší špeciálny príznak - ^
, čo znamená logické NOT . Ak je výstup po spustení tohto príkazu prázdny, odpojenie bude s najväčšou pravdepodobnosťou úspešné.
V predchádzajúcich príkladoch sme sa väčšinou pozerali na bežné súbory. Ako je to so zásuvkami a sieťovými pripojeniami?
Zoznam všetkých aktuálnych sieťových pripojení lsof
má -i
príznak:
lsof -i
Výstup vyzerá podobne ako to, čo sme doteraz videli...
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 rozdiel: namiesto názvov súborov alebo adresárov sa v stĺpci NAME
teraz zobrazujú informácie o pripojení. Každé spojenie pozostáva z nasledujúcich častí:
Ako pri mnohých iných nástrojoch, aj tu sa môžete odhlásiť z rozlišovania názvov DNS a portov ( -n
a -P
). Príznak -i
má ďalšie parametre. Môžete určiť, či má alebo nemá zobrazovať tcp
, udp
alebo icmp
spojenie alebo niektoré porty:
lsof -i :25
or
lsof -i :smtp
Parametre sa opäť dajú kombinovať. Nasledujúci príklad...
lsof -i tcp:80
... vám ukáže iba TCP spojenia využívajúce port 80. Môžete to skombinovať aj s možnosťami, ktoré už poznáte z „klasických“ súborov:
lsof -a -u httpd -i tcp
Toto vám ukáže všetky TCP spojenia otvorené používateľom httpd
. Všimnite si -a
príznak, ktorý mení predvolené správanie lsof
(ako už bolo spomenuté). Rovnako ako u väčšiny nástrojov príkazového riadku môžete ísť veľmi hlboko. V nasledujúcom texte sa zobrazia iba pripojenia TCP, ktorých stav je „ZATVORENÉ“:
lsof -i -s TCP:ESTABLISHED
V tomto bode by ste mali mať základné znalosti o tom lsof
, ako to funguje, spolu s niektorými bežnými prípadmi použitia. Ďalšie informácie nájdete na manuálovej stránke lsof
vášho systému.
Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases
Introduction Lets Encrypt is a certificate authority service that offers free TLS/SSL certificates. The process of installation is simplified by Certbot,
Používate iný systém? Čo je Tekkit Classic? Tekkit Classic je modpack pre hru, ktorú každý pozná a miluje; Minecraft. Obsahuje niektoré z ver
Using a Different System? Jekyll is a great alternative to WordPress for blogging or sharing content. It doesnt require any databases and it is very easy i
Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie
PHP a súvisiace balíky sú najčastejšie používané komponenty pri nasadzovaní webového servera. V tomto článku sa naučíme, ako nastaviť PHP 7.0 alebo PHP 7.1 o
Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil
Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin
1. Virtualmin/Webmin Virtualmin je výkonný a flexibilný ovládací panel webhostingu pre systémy Linux a UNIX založený na známej webovej základni Open Source
Yii je rámec PHP, ktorý vám umožňuje rýchlejšie a jednoduchšie vyvíjať aplikácie. Inštalácia Yii na Ubuntu je jednoduchá, ako sa presne dozviete
Screen je aplikácia, ktorá umožňuje viacnásobné použitie terminálových relácií v rámci jedného okna. To vám umožňuje simulovať viacero okien terminálu, kde je to možné
Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th
Úvod Logrotate je nástroj pre Linux, ktorý zjednodušuje správu protokolových súborov. Zvyčajne beží raz denne prostredníctvom úlohy cron a spravuje základňu protokolov
VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať
Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient
Používate iný systém? Red5 je mediálny server s otvoreným zdrojom implementovaný v jazyku Java, ktorý vám umožňuje spúšťať aplikácie Flash pre viacerých používateľov, ako napríklad živé vysielanie
Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú
Používate iný systém? Vanilla forum je open source aplikácia fóra napísaná v PHP. Je plne prispôsobiteľný, ľahko použiteľný a podporuje externé
Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval
Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval
Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.
Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.
Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.
Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.
Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…
Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.
Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.
Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.
V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.
Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac