Installera Plesk på CentOS 7
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Under Linux betraktas många objekt som en fil, oavsett om objektet faktiskt är en fil, enhet, katalog eller socket. Det är lätt att lista en fil, det finns ett inbyggt skal ls
för det. Men vad händer om en användare ville se vilka filer som för närvarande öppnas av webbserverprocessen? Eller om den användaren ville ta reda på vilka filer som är öppna i en viss katalog? Det är där som lsof
spelar in. Tänk dig lsof
som en ls
med tillägg av "öppna filer".
Observera att även om BSD:erna har ett annat verktyg för det här jobbet, fstat
har flera andra varianter av Unix (Solaris, till exempel) också lsof
. Alternativen och flaggorna är olika på de andra plattformarna, liksom utseendet på resultatet, men generellt sett bör kunskapen i den här artikeln vara tillämplig för dem också.
Låt oss först ta en titt på lsof
utdataformatet och hur det ska läsas. Den vanliga utmatningen lsof
utan några parametrar skulle likna följande. Detta har trimmats för läsbarhet.
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
Dessa kolumner betyder följande:
init
.init
, det är nästan alltid root
.cwd
- Den aktuella arbetskatalogen (du kanske märker likheten med pwd
kommandot som skriver ut den aktuella arbetskatalogen).rtd
- Rotkatalogen för en process.txt
- A text file
, detta kan antingen betyda en konfigurationsfil relaterad till processen eller "källkoden" som är relaterad till (eller tillhör) processen.mem
- En så kallad "minnesmappad fil", det vill säga ett segment av virtuellt minne (läs: RAM) som har tilldelats en fil.r
- Läs.w
- Skriv.u
- Läsa och skriva.REG
- En vanlig fil.DIR
- En katalog.FIFO
- Först in först ut.Detta kan vara lite överväldigande för tillfället, men om du arbetar med lsof
några gånger kommer det snabbt att sjunka in i din hjärna.
Som nämnts ovan har produktionen av lsof
förkortats här. Utan några argument eller filter, lsof
producerar hundratals rader utdata som bara kommer att göra dig förvirrad.
Det finns två grundläggande tillvägagångssätt för att lösa det problemet:
lsof
kommandoradsalternativen för att begränsa resultaten.grep
.Även om det senare alternativet kan låta bekvämare eftersom du inte behöver memorera lsof
kommandoradsalternativen, är det i allmänhet inte lika flexibelt och effektivt, så vi håller oss till det första.
Låt oss föreställa oss att du vill öppna en fil med din favorittextredigerare, och att textredigeraren talar om för dig att den bara kan öppnas i skrivskyddat läge eftersom ett annat program redan har åtkomst till den. lsof
hjälper dig att ta reda på vem förövaren är:
lsof /path/to/your/file
Detta kommer att producera en utdata som liknar denna:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
Tydligen har du glömt att stänga och äldre session! Ett mycket liknande problem inträffar när du försöker avmontera en NFS-resurs och umount
säger till dig att det inte går eftersom något fortfarande har åtkomst till den monterade mappen. Återigen, lsof
kan hjälpa dig att identifiera den skyldige:
lsof +D /path/to/your/directory/
Lägg märke till det avslutande snedstrecket, det är viktigt. Annars lsof
antar du att du menar en vanlig fil. Bli inte förvirrad av den +
framför flaggan - lsof
har så många kommandoradsalternativ som den behöver +
utöver de vanligare -
. Utgången skulle se ut så här:
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
Det betyder att processen mocp
med PID som 5637
tillhör användaren music
har öppnat en fil som heter RMS_GNU_SONG.ogg
. Men även efter att ha stängt den processen finns det fortfarande ett problem - NFS-volymen kan inte avmonteras.
lsof
har en -c
flagga som visar öppnade filer med ett godtyckligt processnamn.
lsof -c mocp
Det skulle ge en utdata som ser ut så här:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
I det här exemplet finns det en annan instans av mocp
körning som hindrar dig från att avmontera resursen. Efter att ha stängt av den processen vill du se till att användaren inte music
har några andra potentiellt problematiska filer öppna. lsof
har en -u
flagga för att visa filer som öppnats av en specifik användare. Kom ihåg att en fil inte alltid bara är en vanlig fil på din hårddisk!
lsof -u music
Du kan också skicka flera användare, separerade med kommatecken:
lsof -u music,moremusic
En viktig anmärkning om standardbeteendet för lsof
: resultaten är ELLER- baserade, vilket betyder att du kommer att se filresultat öppnade av processer som ägs av antingen användaren music
eller användaren moremusic
. Om du vill se resultat som matchar processer som ägs av båda användarna, måste du skicka flaggan -a
:
lsof -au music, moremusic
Eftersom båda användarna är i gruppen musicusers
kan du också lista filer baserat på grupp:
lsof -g musicusers
Du kan också kombinera kommandoradsflaggor:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
På sista raden lade vi till ytterligare en speciell flagga - ^
, som står för ett logiskt NOT . Om utgången är tom efter att ha kört det kommandot kommer avmonteringen med största sannolikhet att lyckas.
I de tidigare exemplen tittade vi mest på vanliga filer. Vad sägs om uttag och nätverksanslutningar?
För att lista alla aktuella nätverksanslutningar lsof
har -i
flaggan:
lsof -i
Resultatet liknar det vi har sett hittills...
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)
... förutom en skillnad: istället för filnamn eller kataloger NAME
visar kolumnen nu anslutningsinformation. Varje anslutning består av följande delar:
I likhet med många andra verktyg, kan du välja bort att lösa DNS-namn och portar ( -n
och -P
, respektive). Flaggan -i
tar ytterligare parametrar. Du kan ange om du vill visa tcp
, udp
eller icmp
anslutningar eller vissa portar:
lsof -i :25
or
lsof -i :smtp
Återigen kan parametrar kombineras. Följande exempel...
lsof -i tcp:80
... visar dig endast TCP-anslutningar med port 80. Du kan också kombinera det med alternativen som du redan känner till från "klassiska" filer:
lsof -a -u httpd -i tcp
Detta kommer att visa dig alla TCP-anslutningar som öppnats av användaren httpd
. Notera -a
flaggan, som ändrar standardbeteendet för lsof
(som nämnts tidigare). Som med de flesta kommandoradsverktyg kan du gå extremt djupt. Följande visar bara TCP-anslutningar vars tillstånd är "ETABLISHED":
lsof -i -s TCP:ESTABLISHED
Vid det här laget bör du ha en grundläggande förståelse för hur det lsof
fungerar, tillsammans med några vanliga användningsfall. För ytterligare läsning, se manualen för lsof
ditt system.
Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser
Introduktion Cacti är ett övervaknings- och grafverktyg med öppen källkod som är helt baserat på RRD-data. Genom Cacti kan du övervaka nästan vilken typ av enhet som helst
Introduktion Lets Encrypt är en certifikatmyndighetstjänst som erbjuder gratis TLS/SSL-certifikat. Installationsprocessen förenklas av Certbot,
Använder du ett annat system? Vad är Tekkit Classic? Tekkit Classic är ett modpack för spelet som alla känner och älskar; Minecraft. Den innehåller några av ver
Använder du ett annat system? Den här handledningen visar dig hur du installerar groupware iRedMail på en ny installation av Debian Wheezy. Du bör använda en serve
PHP och relaterade paket är de mest använda komponenterna när du distribuerar en webbserver. I den här artikeln kommer vi att lära oss hur du ställer in PHP 7.0 eller PHP 7.1 o
Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig
Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera
1. Virtualmin/Webmin Virtualmin är en kraftfull och flexibel kontrollpanel för webbhotell för Linux- och UNIX-system baserad på den välkända Open Source-webbasen
Yii är ett PHP-ramverk som låter dig utveckla applikationer snabbare och enklare. Att installera Yii på Ubuntu är enkelt, eftersom du kommer att lära dig exakt
Screen är ett program som tillåter flera terminalsessioner inom ett fönster. Detta låter dig simulera flera terminalfönster där det ma
Denna handledning förklarar hur man ställer in en DNS-server med Bind9 på Debian eller Ubuntu. Genomgående i artikeln, byt ut ditt-domännamn.com i enlighet med detta. Vid th
Inledning Logrotate är ett Linux-verktyg som förenklar administrationen av loggfiler. Den körs vanligtvis en gång om dagen via ett cron-jobb och hanterar loggbasen
VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera
Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten
Använder du ett annat system? Red5 är en mediaserver med öppen källkod implementerad i Java som låter dig köra Flash fleranvändarapplikationer som livestreamin
I den här artikeln kommer vi att se hur man kompilerar och installerar Nginx mainline från de officiella källorna för Nginx med PageSpeed-modulen, som låter dig t
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög
Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer