A Linux rendszerek különféle rendszerszolgáltatásokat (például folyamatkezelést, bejelentkezést, syslog, cron stb.) És hálózati szolgáltatásokat (például távoli bejelentkezés, e-mail, nyomtatók, webtárhely, adattárolás, fájlátvitel, domain névfeloldás (DNS használatával), dinamikus IP cím hozzárendelés (DHCP használatával) és még sok más.
Technikailag, a A szolgáltatás egy folyamat vagy folyamatok csoportja (közismert nevén démonok), amely folyamatosan fut a háttérben, és várja a beérkező kéréseket (főleg az ügyfelektől).
A Linux különböző módon képes kezelni (indítás, leállítás, indítsa újra, engedélyezze az automatikus indítást a rendszer indításakor, stb.) szolgáltatásokat, általában egy folyamat vagy szolgáltatáskezelő segítségével. A legtöbb, ha nem az összes modern Linux disztribúció most ugyanazt a folyamatkezelőt használja: systemd.
Olvassa el még: Az init és a systemd mögött álló történet: Miért kell az init -et systemd-re cserélni Linux
A Systemd a Linux rendszer- és szolgáltatáskezelője; az init folyamat helyettesítője, amely kompatibilis a SysV és az LSB init szkriptekkel, és a systemctl parancs az elsődleges eszköz a systemd kezelésére.
Ebben az útmutatóban bemutatjuk, hogyan lehet felsorolni az összes futó szolgáltatást a systemd alatt a Linux alatt.
A futó szolgáltatások felsorolása a SystemD alatt: Linux
Amikor argumentum nélkül futtatja a systemctl parancsot, megjelenik az összes betöltött systemd egység listája (a systemd egységekkel kapcsolatos további információkért olvassa el a systemd dokumentációját), beleértve a szolgáltatásokat is, feltüntetve azok állapotát (akár aktív, akár aktív). nem).
# systemctl
A rendszer összes betöltött szolgáltatásának felsorolásához (legyen az aktív; futó, kilépett vagy sikertelen, használja a list-unit alparancsot és a --type
váltás szolgáltatás értékével.
# systemctl list-units --type=serviceOR# systemctl --type=service
Ha fel szeretné sorolni az összes betöltött, de aktív szolgáltatást, mind a futó, mind a kilépett szolgáltatásokat, hozzáadhatja a --state
beállítást egy értékkel aktív, az alábbiak szerint.
# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
Az összes futó szolgáltatás (azaz az összes betöltött és aktívan futó szolgáltatás) gyors áttekintéséhez futtassa a következő parancsot.
# systemctl list-units --type=service --state=running OR# systemctl --type=service --state=running
Ha gyakran használja az előző parancsot, létrehozhat egy álneves parancsot a ~ / .bashrc fájlban, az ábra szerint, annak egyszerű meghívására.
# vim ~/.bashrc
Ezután adja hozzá a következő sort az álnevek listájához a képernyőképen látható módon.
alias running_services="systemctl list-units --type=service --state=running"
Mentsen el egy változtatást a fájlban, és zárja be. Mostantól pedig a “running_services” paranccsal megtekintheti a kiszolgálón lévő összes betöltött, aktívan futó szolgáltatás listáját.
# running_services#use the Tab completion
Ezenkívül a szolgáltatások egyik fontos szempontja az általuk használt port. A démon folyamat által hallgatott port meghatározásához használhatja a netstat vagy az ss eszközöket az ábra szerint.
A -l
jelző jelentése kinyomtatja az összes hallgatási foglalatot, -t
megjeleníti az összes TCP kapcsolatot, -u
az összes UDP kapcsolatot, -n
jelentése numerikus portszámok nyomtatása (az alkalmazásnevek helyett), a -p
pedig az alkalmazásnév megjelenítése.
# netstat -ltup | grep zabbix_agentdOR# ss -ltup | grep zabbix_agentd
az ötödik oszlop mutatja a foglalatot: Helyi cím: Port. Ebben az esetben a zabbix_agentd folyamat az 10050-es porton hallgat.
Ha a szerveren fut egy tűzfalszolgáltatás, amely vezérli hogyan lehet blokkolni vagy engedélyezni a forgalmat a kiválasztott szolgáltatásokból vagy portokból, vagy ki lehet engedni, felsorolhatja a tűzfalban megnyitott szolgáltatásokat vagy portokat a tűzfal-cmd vagy ufw paranccsal (az Ön által használt Linux disztribúciótól függően). / p>
# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status