файловая система uid и gid в Linux

Я наткнулся на учебник linux kernel, и там они говорили о 4 пар идентификаторов, а одна из них – файловая система uid и gid.

Может ли кто-нибудь объяснить мне, что это такое и как он отличается от uid и gid ?

One Solution collect form web for “файловая система uid и gid в Linux”

Кто думал, что этот вопрос затянет такую ​​коллекцию слишком самоуверенных ответов?

Файловая система uid или fsuid – это функция Linux, предназначенная для поддержки реализации NFS-сервера. Это дополнительный (не-POSIX) uid, который используется только для проверки прав доступа к файлам. Для любого процесса, который не вызывает setfsuid (в основном любой процесс, который не пытается быть сервером NFS), fsuid совпадает с эффективным uid.

Для этого есть даже справочная страница , поэтому извините за то, что она не существует.

Обновление : я был вдохновлен найти источник fsuid. Когда он был добавлен в Linux 1.1.44, этот комментарий был помещен выше новой функции sys_setfsuid :

 +/* + * "setfsuid()" sets the fsuid - the uid used for filesystem checks. This + * is used for "access()" and for the NFS deamon (letting nfsd stay at + * whatever uid it wants to). It normally shadows "euid", except when + * explicitly set by setfsuid() or for access.. + */ 

и это изменение было сделано в комментарии выше sys_access :

 - * XXX we should use the real ids for checking _all_ components of the - * path. Now we only use them for the final component of the path. + * access() needs to use the real uid/gid, not the effective uid/gid. + * We do this by temporarily setting fsuid/fsgid to the wanted values 

Таким образом, NFS была одной из двух оригинальных целей. Другой способ доступа () работает правильно. access () используется программами setuid, чтобы определить, будет ли реальный пользователь иметь доступ к файлу без дополнительных привилегий setuid. До 1.1.44 это было ошибкой. С тех пор он использовал временную смену fsuid для выполнения работы. Поскольку fsuid восстанавливается до возврата системного вызова access (), вы никогда не увидите изменения в пользовательском пространстве.

  • Как выполнить программу, когда вызывается текстовый файл и по-прежнему возвращает правильный текст
  • Где я могу разместить свои веб-сервисы?
  • В какую файловую систему включен мой файл?
  • как определить, является ли раздел пустым / неиспользуемым
  • Файловые системы и разделы
  • Прочитайте каталог, чтобы увидеть файл для отображения inode
  • Как сделать резервную копию (сделать копию) изменений LiveCD?
  • Файловые системы против разделов и каталогов
  • где на файловой системе идут пользовательские системные скрипты?
  • Библиотека libblkid: для чего предназначена функция 'blkid_superblocks_get_name'?
  • Как объединить один каталог в другой?
  • Interesting Posts

    Ошибка аутентификации NTP с кодом операции 108

    Почему Emacs, работающий в терминале, не выделяет Ctrl +; из ";"?

    Как удалить строку, если она начинается с. или a> с помощью sed?

    Устройства переименовываются при подключении диска SATA

    Попытка добиться поддельной прозрачности в Urxvt – может только получить черный фон?

    Найти несколько совпадений в табличном файле и распечатать второй столбец?

    Загрузка PXE через внешний сервер TFTP

    OpenSMTPD Консолидация не поддерживаемых сообщений

    Как разрешить SSH и SMTP использовать только IPTables?

    Как установить переменные среды на сервере / клиенте?

    Как «открыть» на «отфильтрованном» порту

    Изменение фоновых заданий и / или уведомление о завершении задания после запуска

    где ifconfig на suse studio

    Awk зависает во время математической операции в Solaris

    Предотвращение получения пользователем LX SIGHUP и закрытие при закрытии окна терминала

    Linux и Unix - лучшая ОС в мире.