Почему не работает setuid с mount?

В файле есть бит setuid .

user@host:~$ ls -l /bin/mount -rwsr-xr-x 1 root root 40152 May 26 19:31 /bin/mount 

Почему операционной системе требуется root-доступ для выполнения «монтирования»?

 user@host:~$ /bin/mount /dev/sdb1 /mnt mount: only root can do that user@host:~$ sudo /bin/mount /dev/sdb1 /mnt user@host:~$ lsblk | grep sdb sdb 8:16 0 102M 0 disk └─sdb1 8:17 0 101M 0 part /mnt 

Мой /etc/fstab

 # / was on /dev/sda1 during installation UUID=026bb2d9-1c0c-4163-85a1-f83b2221eb34 / ext4 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=aec6b039-13b1-4568-abb1-2be1f3429325 none swap sw 0 0 

One Solution collect form web for “Почему не работает setuid с mount?”

Unix имеет концепцию реальных и эффективных UID (и GID, если на то пошло).

Когда вы запускаете программу setuid, тогда действительный идентификатор процесса устанавливается владельцем файла.

Таким образом, в случае mount вас есть эффективный идентификатор root . Но у вас все еще есть реальный идентификатор user .

Такие программы, как passwd или su или mount могут проверить реальный идентификатор, чтобы узнать, кто его запускает, и действовать по-разному. Для passwd это позволяет пользователю root изменять пароль другого пользователя; для su это позволяет переключать пользователей, не зная пароля.

Для mount он позволяет пользователям монтировать свои собственные файловые системы, если они определены в /etc/fstab и имеют связанный с ними атрибут user

например, в моем Debian fstab меня есть:

 /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 

Это означает, что пользователь, не являющийся пользователем root, может запускать mount /dev/sr0 или mount /media/cdrom0 и он попытается установить CD / DVD.

Это логика встроена в программу mount ; он проверяет реальный идентификатор вызывающего абонента.

  • Почему Ubuntu не использует возможности для ping?
  • как записать команду, выполняющую программу suid
  • Разрешить setuid для сценариев оболочки
  • Как настроить параметры Unix для 360 Spatial Workstation (в частности, аудио-плагины vst и aax), чтобы заставить его работать как не-администратор?
  • SUID не влияет на каталоги с Linux
  • Как работает sudo (помимо setuid)?
  • Какой был бы лучший способ обойти эту проблему glibc?
  • Как PAM проверяет пароль пользователя в непривилегированных процессах?
  • Проверка пользователя
  • Принцип наименьшей привилегии: действительно ли помощнику Authbind нужен root setuid или он может работать с cap_net_bind_services?
  • SUID-бит не работает для исполняемых файлов в каталоге / tmp
  • почему suid бит не отменяется после изменения файла
  • Interesting Posts

    что такое команда &&. "$ NVM_DIR / nvm.sh" делает

    Как объявить некоторые псевдонимы динамически в zsh?

    Cryptic Bash Crash

    Что означает это $ {@: 2} в сценариях оболочки

    sed ведет себя по-разному в FreeBSD и Linux?

    В чем разница между ttys0, ttyUSB0 и ttyAMA0 в Linux?

    Как я могу подсчитать количество строк файла с общими инструментами?

    Поддерживает ли клавиатурная интерактивная аутентификация два последовательных пароля?

    Как выводить rsync отправленные данные в реальном времени с использованием стандартных инструментов

    Очистить или отключить псевдонимы в zsh

    Что представляет собой стандартная программа (ы) CLI для управления пользователями и группами?

    Использование проклятий с консолью Linux

    Есть ли одна строка для печати самой длинной строки в файлах в каталоге?

    Какой практический пример использования команды suspend в Bash?

    Извлечение второго слова из строковой переменной

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