Сервис (служба, демон / daemon, dæmon) — специальное приложение выполняющее определенные действия в фоновом режиме. Например, демон печати ждет, пока какое-либо из приложений отправит документ на печать. После этого демон активизируется и осуществляет требуемые действия, печать самого документа на выбранном принтере.
После установки в большинстве GNU/Linux систем «по умолчанию» включены практически все возможные сервисы. Но. Например зачем нужен демон печати, если нет принтера? А зачем напримен нужно целых три планировщика заданий, тем более если нет необходимости/знания и одним из них пользоваться?
Конечно, кто то может сказать:
-У меня очень мощный компьютер, на его производительности это никак не отразится!
Но это заблуждение, а отключить ненужные сервисы нужно по трем причинам:
- Уменьшается время загрузки — понятно, что чем меньше сервисов запускается при запуске системы, тем быстрее она загружается;
- Уменьшается загрузка процессора и оперативной памяти — ведь сервисы находятся в памяти в течение всего времени работы системы, следовательно, они занимают процессорное время и оперативную память;
- Каждый сервис нужно расценивать как потенциальную в системе безопасности
Основные практические рекомендации:
Linux Chapter 18 — Daemons
— Если сервис не нужен, необходимо выключить его;
— Нужный сервис нужно правильно настроить и использовать;
— Если сервис нужен, но нет времени его настроить (нет знания как это сделать), лучше выключить его (включить его можно потом).
В современных GNU/Linux системах можно обнаружить следующие сервисы:
abrt (Automatic Bug Reporting Too) — собирает информацию о крахе системы и отправляет разработчикам, его можно смело выключать (хотя лично я его оставила);
acpid — управляет ACPI-событиями, по большому счету, он просто не нужен;
apmd — нужен только на ноутбуках;
anacron, atd, crond — демоны-планировщики, которые запускают указанные пользователем команды в определенное время. Домашнему пользователю они вряд ли нужны, во всяком случае три сразу (два можно отключить с чистой совестью);
avahi-daemon — демон ZeroConf, реализующий стек mDNS (Multicast DNS), можно отключить;
auditd — система аудита Linux. Если этот сервис выключен, события аудита будут отправлены на syslog;
bluetooth — если вы не собираетесь использовать технологию Bluetooth, данный сервис можете отключить;
btseed — нужен для BitTorrent, если вы не используете BitTorrent, этот сервис можно выключить;
cpuspeed, haldaemon — не вдаваясь в подробности, просто отключите эти сервисы (например, haldaemon — собирает информацию об аппаратных средствах компьютера);
cups* — система печати CUPS (Common Unix Printing System). Нужна только, если есть принтер;
dm — диспетчер дисплея (display manager), нужен, если вы планируете работать в графическом режиме;
dnsmasq — запускает кэширующий DNS-сервер;
freshclam — обновление антивирусной базы ClamAV, естественно, если вы не используете эту антивирусную программу, то сервис можно отключить;
start, stop, restart Linux services (daemon HUNTING!!) // Linux for Hackers // EP 6
firstboot — сервис, запускаемый только при первой загрузке Fedora, затем он будет автоматически выключен;
hidd — демон HIDD (Human Interface Device Daemon) обеспечивает поддержку клавиатур, манипуляторов и других устройств дли ввода информации, работающих, через Bluetooth. Если таких устройств у вас нет, можно смело выключить этот демон;
hddtemp — предоставляет информацию о температуре жесткого диска. В большинстве случаев можно отключить;
httpd — Web-сервер Apache (в некоторых дистрибутивах этот сервис называется apache);
isdn — сервис поддержки ISDN-линий. Если у вас нет ISDN, выключите этот сервис;
ip6tables — версия брандмауэра iptables, работающая с протоколом IPv6 На данный момент основной является все-таки четвертая версия протокола IP (IPv4), для которой этот демон бесполезен;
iptables — брандмауэр Linux;
irqbalance — нужен только на SMP-машинах (многопроцессорных машинах);
kheader — выполняет автоматическую генерацию заголовков ядра в /boot. Не отключайте этот сервис;
kudzLi (в Mandriva — harddrake2) — сервис определения новых устройств. В целях экономии времени при загрузке системы его можно выключить, а запускать вручную после установки нового устройства;
lm_sensors — используется для мониторинга различных параметров системы (например, температуры процессора). Для правильной настройки этого сервиса нужно потратить много времени (к тому же не все его поддерживает), поэтому просто выключите его;
mandi — демон мониторинга сети. В большинстве случаев не нужен;
mdadm — демон мониторинга и управления программными RAID-массивами;
messagebus — сообщений, в современных дистрибутивах отключать этот сервис не рекомендуется (а раньше можно было просто выключить);
mDN SResponder, nifd — можете просто выключить эти два сервиса;
mdmonitor — используется для мониторинга программных RAID-массивов;
msec — включает политику безопасности MSEC, по умолчанию выключен;
netconsole — протоколирование сетевой консоли, по умолчанию отключен;
Network Manager — сервис поддержки сети, используется вместо устаревшего сервиса network. В новых дистрибутивах есть оба сервиса; Network Manager и network. Первый по умолчанию включен, а второй — выключен. В некоторых случаях Network Manager нужно отключить. Тогда для поддержки сети следует включить сервис network;
network — поддержка сети, не выключайте данный сервис (если он изначально был включен). Это устаревший сервис, но он до сих пор используется в современных дистрибутивах, например, в Mandriva 2010;
netfs — обеспечивает поддержку различных сетевых файловых систем (в том числе и для поддержки SMB). Нужен в локальной сети, где есть необходимость в сетевых файловых системах (это никак не относится к протоколу FTP);
netplugd — демон управления нестатическими сетевыми интерфейсами. Можно с чистой совестью отключить;
partmon — проверяет наличие свободного места на разделах жесткого диска;
pcmcia (pccsd) — нужен для поддержки PCMCIA-карт, Если у вас не ноутбук, можете смело выключить этот сервис;
portmap — обеспечивает маппинг портов. Домашнему пользователю не нужен, а вот на сервере пригодится;
resolvconf — менеджер информации о доменных серверах, не отключайте этот сервис даже на клиентах;
rhnsd — можно смело выключить;
грс* — поддержка удаленного вызова процедур RPC (Remote Procedure Call), в большинстве случаев данный сервис не востребован;
sendmail (или postfix)- служит для организации собственного SMTP-сервера, то есть для сервера отправки сообщений электронной почты. Довольно сложен в настройке, поэтому лучше пока выключить его. Когда у вас будет необходимость в собственном SMTP-сервере, включить этот Сервис особых проблем не составит;
shorewall (в других дистрибутивах — iptables) — пакетный фильтр (брандмауэр). Если вы еще не настраивали пакетный фильтр, то лучше пока его отключить;
smartd — нужен для поддержки S.M.A.R.T-устройств. Если у вас нет таких устройств, можете выключить этот сервис;
snmp* — поддержка SNMP (Simple Network Management Protocol). Если вам SNMP не нужен, отключите этот сервис;
sshd — необходим для безопасного удаленного доступа к консоли системы. В большинстве случаев не нужен;
winbind — часть Samba, нужен в Windows-сетях;
Полный набор сервисов зависит от GNU/Linux системы, версии и также от его конфигурации. Для настройки сервисов (служб) используется специальные конфигураторы (консольные и графические), так же это можно сделать правкой соответствующих конфигурационных файлов. После отключения/включения сервисов помеченных /*/ нужно перезагрузить компьютер (reboot). Необходимо отметить, что в некоторых специальных сборках «по умолчанию» запускается довольно мало сервисов, потому в них не устанавливается «что попало», а устанавливаются только самые необходимые сервисы.
Источник: zenway.ru
Все о демонах в Linux
В среде Linux запуск демонов происходит во время загрузки. Поскольку система Linux является идеальным клоном Unix, процесс инициализации квалифицируется как родительский процесс для демона.
S Поскольку операционная система Linux характеризуется как многозадачная операционная система, демон по определению представляет собой программу, которая непрерывно выполняется в фоновом режиме. Короче говоря, выполнение этого процесса не зависит от активного взаимодействия пользователя с системой. Обычный системный пользователь не может контролировать периодическое выполнение процесса демона.
Соглашение об именах, которое определяет большинство процессов-демонов, — это одна буква «суффикс». d. Это соглашение об именах позволяет различать обычные системные процессы и процессы, управляемые демонами. Например, sshd это процесс-демон, отвечающий за управление входящимиSSH соединения. Другой пример процесса демона:syslogd.
Он отвечает за средство ведения системного журнала Linux.
В среде Linux запуск демонов происходит во время загрузки. Поскольку система Linux является идеальным клоном Unix, процесс инициализации квалифицируется как родительский процесс для демона. Чтобы запускать и останавливать демонов в вашей операционной системе Linux, вам сначала нужно получить доступ к
/etc/init.d каталог скриптов в вашей ОС.
Общие функции демонов
- Это позволяет вашей системе правильно отвечать на сетевые запросы, связывая каждый запрос с совместимым сетевым портом. Типичный сетевой порт, обрабатываемый демонами, — это порт 80.
- Демоны позволяют запускать или выполнять запланированные системные задачи. Демон, отвечающий за эту конкретную задачу, называется cron. Это создаст cron работа который будет обрабатывать периодическое выполнение ваших запланированных задач.
- Демоны также предлагают бесценный вклад в мониторинг производительности вашей системы. Например, они могут проверить состояние RAID-массива или жесткого диска.
Полезные сервисные демоны Linux
- amd: Демон автоустановки
- анакрон: Выполнение отложенных задач cron во время загрузки
- apmd: Демон расширенного управления питанием
- atd: Использует функциональные возможности инструмента для выполнения заданий в очереди
- autofs: работает рука об руку с демоном автомонтирования, чтобы упростить установку и демонтаж системных устройств по требованию.
- crond: демон, который обрабатывает планирование задач
- cupsd: демон, который обрабатывает печать CUPS
- DHCP: демон для сервера протокола Internet Bootstrap и протокола динамической конфигурации хоста.
- закрыто: демон маршрутизации, отвечающий за несколько протоколов маршрутизации. Заменяет routed и egpup
- httpd: демон, который работает с веб-серверами, такими как Apache
- inetd: демон, связанный с Internet Superserver
- imapd: демон для сервера IMAP
- lpd: Демон линейного принтера
- memcached: демон кэширования объектов, распределенный в памяти
- mountd: монтировать демон
- MySQL: демон для сервера базы данных MySQL
- по имени: демон для DNS-сервера
- nfsd: Демон обмена сетевыми файлами
- nfslock: Поскольку nfsd связан со службами блокировки файлов, этот демон может запускать и останавливать эти службы.
- nmbd: демон для сетевого блока сообщений
- ntpd: демон для службы протокола сетевого времени
- постфикс: демон, который служит агентом почтового транспорта. Это альтернатива sendmail.
- Postgresql: демон для сервера базы данных Postgres
- направлено: демон для управления таблицами маршрутизации
- rpcbind: демон, связанный с привязкой удаленного вызова процедур
- Отправить почту: демон, который служит агентом пересылки почты
- smbd: демон для Samba SMB сервера
- smtpd: демон для простого протокола передачи почты
- snmpd: демон для простого протокола управления сетью
- Кальмар: демон, связанный с прокси-сервером для кэширования веб-страниц
- sshd: демон, связанный с Secure Shell Server
- синхронизация: демон для синхронизации системной памяти с системными файлами
- Системный журнал: демон, который ведет системный журнал
- tcpd: эта оболочка службы демона выполняет протоколы ограничения доступа, относящиеся к службам демона на основе inetd. Он реализует эти ограничения через hosts.allow и hosts.deny.
- Telnetd: демон для telnet-сервера
- vsftpd: демон для очень безопасного протокола передачи файлов
- webmin: демон для веб-сервера администрирования
- xinetd: демон, связанный с Enhanced Internet Supervisor
- xntd: демон для сетевого сервера времени
Независимо от того, являетесь ли вы новичком, средним или опытным пользователем в мире операционной системы Linux, вы никогда не забудете ознакомьтесь с любым из вышеперечисленных демонов по мере развития своих навыков и опыта в этой ОС. окружающая обстановка.
Запуск / остановка / перезапуск демонов: терминальный подход
Теперь, когда у вас есть список полезных демонов Linux, которые нужно запомнить и изучить, первое, что вам нужно знать, это как запускать, останавливать или перезапускать эти демоны. Запустив терминал Linux, примите во внимание следующие правила синтаксиса для запуска, остановки и перезапуска демона в операционной системе Linux.
запуск предпочтительного имени-демона службыостановка предпочтительного имени-демона службы перезапуск предпочтительного имени-демона службы
Заменить предпочтительное-имя-демона аргумент синтаксиса с именем системного демона Linux по вашему выбору. Вы можете выбрать его из списка демонов, выделенного выше, если он активен или уже определен в вашей системе Linux. Например, мы можем реализовать на практике вышеуказанный синтаксис, пытаясь запустить, остановить и перезапустить adaemon. Перейдите к /etc/init.d каталог на вашем терминале для получения списка доступных демонов в вашей системе Linux.
Список демонов вашей системы Linux
Более эффективный способ отметить доступные демоны в вашей системе Linux вместо перехода к /etc/init.d directory — вывести список всех определенных активных и неактивных демонов из этого каталога с помощью одной команды. Следующая команда эффективна для достижения этой цели.
$ service –status-all
Положительные [+] и отрицательные [-] в скобках знаки перед перечисленными именами демонов означают, что они либо активны, либо неактивны, соответственно.
Работа с пользовательскими демонами
Для успешного создания и реализации определенного пользователем демона необходимо соблюдать определенные правила или протоколы. Эти протоколы помогут вам полностью понять выполнение демонов в любой среде Linux. Демоны также достаточно гибки, чтобы взаимодействовать с модулями ядра через системные вызовы. Это расширение функциональности демона поддерживает его взаимодействие с аппаратными устройствами, такими как КПК (персональные цифровые помощники), принтеры и жизнеспособные внешние платы контроллеров. Строительные блоки демонов также вносят свой вклад в характерную мощность и гибкость операционной системы Linux.
Реализация связанного демона с использованием Python тщательно продемонстрирована и задокументирована Сандер Марешал . Следите за порядком выполнения при создании этого демона. Во-первых, ваша система Linux нуждается в установке пакетов Python для успешной разработки демонов. Чтобы установить Python, вы можете использовать следующую команду.
$ sudo apt установить python3-pip python3-dev
Ссылка на код демона authoredPython Сандера Марешала также предлагает усовершенствованную версию кода Python 3. Было бы полезно, если бы вы подумали о его реализации, чтобы лучше понять, как работают демоны.
Если вы не уверены, установлен ли у вас Python, выполните следующую команду на своем терминале Linux.
$ python3 —version
Цель любого демона
Поскольку один демон предназначен для обработки конкретной задачи, он должен выполнять ее безупречно. Рассматриваемая задача может быть такой же простой, как создание отчета и его отправка администратору через sendmail, или столь же сложной, как управление несколькими доменами, связанными с несколькими почтовыми ящиками. В какой-то момент демон, который вы собираетесь создать, должен будет взаимодействовать с другими существующими демонами.
взаимодействие пользователя с демоном
Не рекомендуется, чтобы системный пользователь и созданный демон взаимодействовали напрямую. Если это необходимо для демона, вы создаете его для связи с системным пользователем. Эту связь можно облегчить с помощью чего-то вроде графического интерфейса пользователя. Эта коммуникационная платформа может иметь сложный графический интерфейс GTK + или простоту набора сигналов.
Создание вашего демона
Многочисленные подходы поддерживают создание демонов. Например, вы можете использовать интерфейс командной строки для демонстрации скрипта Python следующим образом:
$ python my_python_script.py https://wowgold-seller.com/ru/stories/7143-everything-about-daemons-in-linux» target=»_blank»]wowgold-seller.com[/mask_link]
Что такое демоны в понятии Linux
В Linux демон (daemon) — это процесс, который работает в фоновом режиме без прямого участия пользователя. Демоны являются частью операционной системы и обеспечивают ряд функций, таких как службы сети, дисковые службы, службы печати и т.д.
Какие демоны запущены на компьютере
Обычно запускаются при старте системы и остаются активными в фоновом режиме, пока система не будет выключена. Они не имеют прямого интерфейса пользователя и обычно управляются через конфигурационные файлы или команды командной строки.
Демоны в Linux имеют обычно имя, заканчивающееся на букву «d», например, httpd, named и sshd. Они запускаются с помощью специальных команд, таких как systemctl, service или daemon. Являются важной частью операционной системы Linux, поскольку они обеспечивают функциональность и работоспособность различных служб и приложений в фоновом режиме.
Проверяем запущенные процессы
Демоны в Linux могут быть запущены несколькими способами. Рассмотрим наиболее распространенные методы запуска.
Использование команды service
С помощью команды «service» можно запустить, остановить и перезапустить демон на Linux-системах, использующих init-скрипты. Например, чтобы запустить демон Apache HTTP Server, нужно выполнить следующую команду:
sudo service apache2 start
Использование команды systemctl
Команда «systemctl» используется для управления демонами в Linux-системах, использующих systemd. Например, чтобы запустить демон SSH, нужно выполнить следующую команду:
sudo systemctl start sshd
Использование init-скрипта
В некоторых Linux-дистрибутивах демоны могут быть запущены через init-скрипты, которые находятся в директории /etc/init.d. Например, чтобы запустить демон MySQL, нужно выполнить следующую команду:
sudo /etc/init.d/mysql start
Использование systemd unit-файла
В Linux-системах, использующих systemd, для запуска демонов рекомендуется использовать unit-файлы. Unit-файлы являются текстовыми файлами, которые содержат описание службы или процесса, который необходимо запустить в системе. В них указываются параметры запуска демона, такие как пользователь, группа, рабочая директория, команда запуска и другие опции.
Unit-файлы хранятся в директории /etc/systemd/system/. В этой директории можно создавать свои собственные unit-файлы или изменять уже существующие. После создания или изменения unit-файла, необходимо перезагрузить systemd с помощью команды systemctl daemon-reload , чтобы изменения вступили в силу.
Источник: pq.hosting