- Я хочу получить список пользователей NFS (список клиентов) типа
smbstatus
- Я хочу увидеть, какой пользователь и IP-адрес использует тот или иной ресурс и когда он подключен.
- Я хочу убить пользователя nfs.
- Я хочу регистрировать действия пользователя, например «Создание, изменение, удаление».
Я хочу управлять пользователями nfs, но не могу найти информацию и инструменты для решения этой проблемы.
решение1
NFS структурирован совсем не так, как SMB, поэтому ваши запросы не будут иметь смысла с точки зрения NFS.
- Монтирование NFS выполняется для каждой системы, а не для каждого пользователя.
showmount -d
может сообщить вам, какие системы имеют смонтированный ресурс NFS с определенного сервера, если сервер готов раскрыть эту информацию. В Linux, еслиrpc_pipefs
смонтирована виртуальная файловая система, она также содержит информацию об активных соединениях NFS. Типичнаяrpc_pipefs
точка монтирования —/var/lib/nfs/rpc_pipefs
, или/run/rpc_pipefs
в Debian 9 и связанных дистрибутивах. Информацию о клиенте NFSv4 можно найти на сервере NFSv4<rpc_pipefs mount point>/nfsd4_cb/clnt*/info
, один клиентский каталог для каждого клиентского хоста. - Для клиентских IP-адресов см. предыдущий ответ. Отдельные пользователи не "подключены" как таковые; есть только одно подключение на смонтированную файловую систему, даже если есть несколько пользователей. В результате "при подключении" сообщает вам только о том, когда система была загружена в последний раз или когда системный администратор смонтировал общий ресурс NFS на клиенте, в зависимости от того, что произошло позже.
- Измените разрешения или ACL в общей файловой системе, чтобы заблокировать доступ пользователя, или подключитесь к клиенту, станьте пользователем root, используйте
lsof -N
для идентификации процессов пользователя с открытыми дескрипторами файлов NFS и убейте их. Или отмените экспорт общего ресурса NFS, чтобы «убить» всех пользователей NFS сразу. - Подсистема аудита на сервере NFS может выполнить эту работу, если вы уверены, что номера UID/GID на сервере и клиентах совпадают друг с другом (NFSv2 или v3) или что имена пользователей были правильно сопоставлены (NFSv4).
С NFSv2 или v3 сервер NFS по сути доверял клиенту NFS выполнять соответствующую идентификацию пользователя и контроль доступа от имени сервера. Вот почему стандартный совет — использовать NFS для совместного использования файловых систем только между доверенными хостами.
Аутентификация пользователей на основе Kerberos (и опциональное шифрование данных) была более поздним дополнением: ее можно использовать с NFSv2 и NFSv3, если и клиент, и сервер поддерживают эту опцию, но «протоколы боковой полосы» ( lockd
, mountd
, rquotad
и statd
) не будут использовать информацию аутентификации. Только в NFSv4 аутентификация была полностью интегрирована для охвата всех аспектов протокола; однако она по-прежнему необязательна.