Linux-järjestelmät tarjoavat erilaisia järjestelmipalveluja (kuten prosessinhallinta, sisäänkirjautuminen, syslog, cron jne.) Ja verkkopalveluja (kuten etäkirjautuminen, sähköposti, tulostimet, web-hosting, tietojen tallennus, tiedostonsiirto, verkkotunnuksen tarkkuus (DNS: n avulla), dynaaminen IP-osoitteen määritys (DHCP: n avulla) ja paljon muuta).
Teknisesti palvelu on prosessi tai prosessien ryhmä (yleisesti tunnettu daemonina), joka toimii jatkuvasti taustalla ja odottaa pyyntöjen saapumista (etenkin asiakkailta).
Linux tukee erilaisia tapoja hallita (käynnistys, pysäytys, uudelleenkäynnistys, ota automaattinen käynnistys käyttöön käynnistyksen yhteydessä jne.) palvelut, yleensä prosessin tai palvelunhallinnan kautta. Useimmat, elleivät kaikki modernit Linux-jakelut käyttävät nyt samaa prosessinhallintaohjelmaa: systemd.
Lue myös: Tarina init ja systemd: Miksi init on korvattava sanalla systemd Linux
Systemd on Linuxin järjestelmä- ja palvelupäällikkö; drop-in-korvaus init-prosessille, joka on yhteensopiva SysV- ja LSB-init-komentosarjojen kanssa, ja systemctl-komento on ensisijainen työkalu systemd: n hallintaan.
Tässä oppaassa kerrotaan, kuinka kaikki käynnissä olevat palvelut luetellaan Linuxin systemd-alla.
Käynnissä olevien palveluiden luettelointi SystemD: ssä Linux
Kun suoritat systemctl -komennon ilman argumentteja, se näyttää luettelon kaikista ladatuista systemd-yksiköistä (lue systemd-ohjeista lisätietoja systemd-yksiköistä), mukaan lukien palvelut, ja niiden tilan (olipa aktiivinen tai aktiivinen) ei).
# systemctl
Jos haluat luetella kaikki järjestelmän ladatut palvelut (aktiiviset; käynnissä olevat, poistuneet tai epäonnistuneet, käytä luettelo-yksiköiden alikomentoa ja --type
-kytkin palvelun arvolla.
# systemctl list-units --type=serviceOR# systemctl --type=service
Jos haluat listata kaikki ladatut mutta aktiiviset palvelut, sekä käynnissä olevat että poistuneet, voit lisätä --state
-vaihtoehdon arvolla aktiivisesta seuraavasti.
# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
Mutta saadaksesi nopeasti katsauksen kaikista käynnissä olevista palveluista (ts. Kaikista ladatuista ja aktiivisesti käynnissä olevista palveluista), suorita seuraava komento.
# systemctl list-units --type=service --state=running OR# systemctl --type=service --state=running
Jos käytät usein edellistä komentoa, voit luoda alias-komennon ~ / .bashrc-tiedostoosi kuvan osoittamalla tavalla.
# vim ~/.bashrc
Lisää sitten seuraava rivi aliaksiluetteloon kuvakaappauksessa esitetyllä tavalla.
alias running_services="systemctl list-units --type=service --state=running"
Tallenna muutokset tiedostoon ja sulje se. Ja tästä lähtien voit käyttää ”running_services” -komentoa nähdäksesi luettelon kaikista palvelimesi ladatuista, aktiivisesti käynnissä olevista palveluista.
# running_services#use the Tab completion
Lisäksi palvelujen tärkeä osa on heidän käyttämänsä portin. Voit määrittää daemon-prosessin kuunteleman portin käyttämällä netstat- tai ss-työkaluja kuvan mukaisesti.
Missä lippu -l
tarkoittaa tulosta kaikki kuuntelupäätteet, -t
näyttää kaikki TCP-yhteydet, -u
näyttää kaikki UDP-yhteydet, -n
tarkoittaa numeeristen porttien numeroiden tulostamista (sovellusten nimien sijaan) ja -p
tarkoittaa sovellusten näyttämistä.
# netstat -ltup | grep zabbix_agentdOR# ss -ltup | grep zabbix_agentd
viides sarake näyttää liitännän: Paikallinen osoite: Portti. Tässä tapauksessa prosessi zabbix_agentd kuuntelee porttia 10050.
Jos palvelimellasi on käynnissä palomuuri, joka ohjaa kuinka estää tai sallia liikenne valituille palveluille tai porteille, voit luetella palomuurissa avatut palvelut tai portit käyttämällä palomuurin cmd- tai ufw-komentoa (riippuen käyttämästäsi Linux-jakelusta) kuvan mukaisesti. / p>
# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status