Внезапно не могу запустить sudo

Я ничего не делал на компьютере, кроме Интернета, в течение нескольких дней, и внезапно, когда я попытался сделать:

$ sudo apt-get update 

я получил:

sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set
      or an NFS file system without root privileges?

У меня нет Я понял, что произошло, когда я в последний раз запустил sudo, когда обновлялся.

4
задан 19 May 2015 в 12:12

1 ответ

sudo работы с механизмом, который называют setuid (Идентификатор пользователя аппарата или также называют suid). Если тот бит установлен на исполняемом файле (как sudo), затем приложение выполняется в соответствии с полномочиями пользователя, который является владельцем того файла (в случае sudo, владелец root пользователь).

Это означает, sudo выполняется как root.Пока все хорошо. Но, теперь ничто не препятствует тому, чтобы Вы вставили Карту памяти с оболочкой на нем, которая имеет setuid набор битов. У Вас есть полный корневой доступ! Вот почему обычно Карты памяти смонтированы с опцией монтирования noexec, предотвратить выполняющийся двоичный файл/сценарии на таком устройстве. Другие монтируют опцию, если Вы все еще хотите выполнить файлы, тот, который упоминается в сообщении об ошибке в Вашем вопросе: nosuid.

Посмотрите что выборка страницы руководства монтирования:

[...]
nosuid     Do not allow set-user-identifier or set-group-identifier bits to take effect.
[...]

С mount команда, можно определить, если корневая файловая система смонтирована с той опцией. Просто введите:

$ mount

Можно теперь повторно смонтировать, что файловая система на лету и изменение монтируют опции:

$ mount -n -o remount,suid /

Это устанавливает suid опция, которая является полной противоположностью nosuid.

3
ответ дан 19 May 2015 в 12:12

Другие вопросы по тегам:

Похожие вопросы: