showmount, nfsstat, gssd і idmapd. Переглянувши вміст скрипта запуску /etc/init.d/nfs-common, можна відстежити наступну послідовність роботи: скрипт перевіряє наявність виконуваного бінарного файлу /sbin/rpc.statd, перевіряє наявність у файлах/etc/default/nfs-common,/etc/ fstab і/etc/exports параметрів, що вимагають запуск демонів idmapd і gssd, запускає демона /sbin/rpc.statd, далі перед запуском /usr/sbin/rpc.idmapd і /usr/sbin/rpc.gssd перевіряє наявність цих виконуваних бінарних файлів , далі для демона /usr/sbin/rpc.idmapd перевіряє наявність модулів ядра sunrpc, nfs і nfsd, а так само підтримку файлової системи rpc_pipefs в ядрі (тобто наявність її у файлі/proc/filesystems), якщо все вдало, то запускає/usr/sbin/rpc.idmapd. Додатково, для демона /usr/sbin/rpc.gssd перевіряє модуль ядра rpcsec_gss_krb5 і запускає демон.
Якщо переглянути вміст скрипта запуску NFS-сервера на Debian (/etc/init.d/nfs-kernel-server), то можна простежити таку послідовність: при старті, скрипт перевіряє існування файлу/etc/exports , наявність модуля ядра nfsd, наявність підтримки файлової системи NFS в ядрі Linux (тобто у файлі/proc/filesystems), якщо все на місці, то запускається демон /usr/sbin/rpc.nfsd, далі перевіряє заданий параметр NEED_SVCGSSD (задається у файлі налаштувань сервера/etc/default/nfs-kernel-server) і, якщо заданий - запускає демона /usr/sbin/rpc.svcgssd, останнім запускає демона /usr/sbin/rpc.mountd. З даного скрипта видно, що робота сервера NFS складається з демонів rpc.nfsd, rpc.mountd і якщо використовується Kerberos-аутентифікація, то і демон rcp.svcgssd. У «червоному капелюсі» ще запускається демон rpc.rquotad і nfslogd.
З цього ставати зрозуміло, що сервер Network File System складається з наступних процесів, розташованих в каталогах/sbin і/usr/sbin:
· rpc.statd - Демон спостереження за мережевим станом (він же Network Status Monitor (NSM)). Він дозволяє коректно скасовувати блокування після збою/перезавантаження. Для повідомлення про збій використовує програму/usr/sbin/sm-notify. Демон statd працює як на серверах, так і на клієнтах. Раніше даний сервер був необхідний для роботи rpc.lockd, але за блокування зараз відповідає ядро ??(прим: якщо я не помиляюся). (RPC програма 100021 і 100024 - в нових версіях)
· rpc.lockd - Демон блокування lockd (він же NFS lock manager (NLM)) обробляє запити на блокування файлів. Демон блокування працює як на серверах, так і на клієнтах. Клієнти запитують блокування файлів, а сервери її дозволяють. (застарів і в нових дистрибутивах не використовується як демон. Його функції в сучасних дистрибутивах (з ядром старше 2.2.18) виконуються ядром, точніше модулем ядра (lockd).) (RPC програма 100024)
· rpc.nfsd - Основний демон сервера NFS - nfsd (в нових версіях іноді називається nfsd4). Цей демон обслуговує запити клієнтів NFS. Параметр RPCNFSDCOUNT у файлі/etc/default/nfs-kernel-server в Debian і NFSDCOUNT у файлі/etc/sysconfig/nfs в RedHat визначає число запускаються демонів (по-замовчуванням - 8). (RPC програма 100003)
· rpc.mountd - Демон монтування NFS mountd обробляє запити клієнтів на монтування каталогів. Демон mountd працює на серверах NFS. (RPC програма 100005)
· rpc.idmapd - Демон idmapd для NFSv4 на сервері перетворює локальні uid/gid користувачів у формат виду ім'я @ домен, а сервіс на клієнті перетворює імена користувачів/груп виду ім'я @ домен в локальні ідентифікатори користувача і групи (згідно конфігураційного файлу /etc/idmapd.conf, детальніше в man idmapd.conf)
· додатково, в старих версіях NFS використовувалися демони: nfslogd- демон журналів NFS фіксує активність для експортованих файлових систем, працює на серверах NFS і rquotad - сервер віддалених квот надає інформацію про квоти користувачів у віддалених файлових системах, може працювати як на серверах, так і на клієнтах. (RPC програма 100011)
У NFSv4 при використанні Kerberos додатково запускаються демони:
· rpc.gssd - Демон NFSv4 забезпечує методи аутентифікації через GSS-API (Kerberos-аутентифікація). Працює на клієнті і сервері.
· rpc.svcgssd - Демон сервера NFSv4, який забезпечує перевірку автентичності клієнта на стороні сервера.
. 1 рortmap і протокол RPC (Sun RPC)
Крім зазначених вище пакетів, для коректної роботи NFSv2 і v3 потрібен додатковий пакет portmap (в новіших дистрибутивах перейменований в rpcbind). Даний пакет зазвичай встановлюється автоматично з NFS як залежний і реалізує роботу сервера RPС, тобто відповідає за динамічне призначення портів для деяких служб, зареєстрованих у RPC сервері. Дослівно, згідно з документацією - це сервер, який перетворює номера програм RPC (Remote Procedure Call) в номери портів T...