Назад | Перейти на главную страницу

Объяснение nodev и nosuid в fstab

Я вижу эти два варианта, которые постоянно предлагаются в Интернете, когда кто-то описывает, как смонтировать tmpfs или ramfs. Часто также с noexec, но меня особенно интересуют nodev и nosuid. Я ненавижу слепо повторять то, что кто-то предлагает, без реального понимания. И так как я вижу только инструкции по копированию / вставке в сети по этому поводу, я спрашиваю здесь.

Это из документации:
nodev - Не интерпретируйте специальные устройства в файловой системе.
без жидкости - Блокировать работу битов suid и sgid.

Но мне хотелось бы получить практическое объяснение того, что могло бы случиться, если бы я не упомянул этих двоих. Допустим, я настроил tmpfs или ramfs (без этих двух указанных параметров), которые доступны (чтение + запись) определенному (не root) пользователю в системе. Что этот пользователь может сделать, чтобы нанести вред системе? Исключая случай использования всей доступной системной памяти в случае ramfs

Вам не нужно слепо следовать этому правилу. Но аргументы в пользу ситуаций, в большей степени ориентированных на безопасность, заключаются в следующем.

  • Опция монтирования nodev указывает, что файловая система не может содержать специальные устройства: это мера безопасности. Вы не хотите, чтобы файловая система, доступная всем пользователям, как эта, имела потенциал для создания символьные устройства или доступ к произвольному оборудованию устройства.

  • Параметр монтирования nosuid указывает, что файловая система не может содержать файлы с установленными идентификаторами пользователя. Предотвращение двоичных файлов setuid в файловой системе, доступной для записи всем, имеет смысл, потому что существует риск эскалации корневого доступа или других неприятностей.

Как бы то ни было, я не часто использую эти параметры ... только в общедоступных системах, где есть другие соображения соответствия.