Случайное изменение разрешений на запуск sudo, приводящее к невозможности его функционирования

Я запустил sudo chmod 777 -R /usr/bin, так как у меня там было несколько программ, которые я хотел, чтобы можно было запускать с большей легкостью, без постоянного ввода моего пароля root, но теперь /usr/bin/sudo продолжает выдавать ошибку при каждом запуске sudo. А именно эта ошибка:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

и я застрял, как это исправить.

2
задан 9 June 2015 в 05:46

2 ответа

Следующая процедура может также быть выполнена от начальной загрузки до Root выбора Режима Восстановления. Затем после начальной загрузки в корень, введите в следующем для монтирования диска в Read / Запись, таким образом, изменения могут быть внесены:

mount -o remount,rw /

Я рекомендовал бы после первого ответа на этом сайте загрузиться к Живому CD так, чтобы можно было смонтировать жесткий диск и восстановить файл (файлы). Остановитесь после совершающего нападки шага № 5 так, чтобы Ваш жесткий диск был смонтирован как пользователь root.

Как я могу восстановить личинку? (Как вернуть Ubuntu после установки Windows?)


после того, как диск смонтирован как пользователь root, необходимо смочь ввести из окна терминала:

chmod 4755 /usr/bin/sudo

установить "suid" назад для sudo файла.

Следующий список является всеми файлами в /usr это должно иметь набор "suid": (Я оставлю их как список, который можно скопировать и вставить как потребность быть),

chmod 4755 /usr/bin/pkexec
chmod 4755 /usr/bin/sudo
chmod 4755 /usr/bin/mtr
chmod 4755 /usr/bin/traceroute6.iputils
chmod 4755 /usr/bin/gpasswd
chmod 4755 /usr/bin/lppasswd
chmod 4755 /usr/bin/passwd
chmod 4755 /usr/bin/newgrp
chmod 4755 /usr/bin/chsh
chmod 4755 /usr/bin/chfn

РЕДАКТИРОВАНИЕ 2:

Следующие файлы имеют полномочия rwxr-sr-x и может быть сброшен копией и вставкой следующего в терминал после возвращения хоста: (некоторые могли бы отличаться затем Ваша система),

sudo chmod 2755 /usr/bin/mail-unlock
sudo chmod 2755 /usr/bin/dotlockfile
sudo chmod 2755 /usr/bin/ssh-agent
sudo chmod 2755 /usr/bin/wall
sudo chmod 2755 /usr/bin/dotlock.mailutils
sudo chmod 2755 /usr/bin/chage
sudo chmod 2755 /usr/bin/bsd-write
sudo chmod 2755 /usr/bin/crontab
sudo chmod 2755 /usr/bin/expiry
sudo chmod 2755 /usr/bin/mlocate
sudo chmod 2755 /usr/bin/mail-touchlock
sudo chmod 2755 /usr/bin/mail-lock

Так как все, что Вы выполнили, было chmod 777 -R /usr/bin и нет никаких подкаталогов в том каталоге, все файлы за исключением ссылок и очевидных выше в списке с "suid" набором полномочий на них, остальная часть файлов в том каталоге имеет настройки разрешения -rwxr-xr-x (или 755). Вы могли сбросить те полномочия в те файлы, не касаясь "suid" файлов или ссылок путем ввода:

sudo chmod go-w /usr/bin/*

это установит group и other полномочия к r-x и оставьте ссылки в покое как lrwxrwxrwx. НЕ ВЫПОЛНЯЙТЕ AS chmod 755, поскольку это испортит полномочия, мы зафиксировали!

Править: измененный на "suid", как был указан мне.

4
ответ дан 9 June 2015 в 05:46

Я думаю, что единственный соответствующий ответ должен переустановить Вашу систему. Иначе Вы будете навсегда обнаруживать вещи, которые не работают, как они должны.

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

Никогда не выполняет далеко идущее chmod -R по системным файлам. Существует только слишком много вещей, которые абсолютно требуют, чтобы полномочия были установлены определенный путь, который повредится, если они будут установлены на что-то еще, даже скажут, 777.

Это включает много исполняемых файлов, которые требуют "setuid", как указано в другом ответе. Но это также включает приложения и сервисы, которые проверяют, чтобы удостовериться, что их полномочия файла настраиваются надежно и отказываются работать, если они небезопасны. Это распространено из сетевых демонов, например.

нет до сих пор никакого простого способа сказать Ubuntu/Debian восстанавливать весь полномочия файла к их заводским настройкам. Это был бы грязный ручной процесс, чтобы начать восстанавливать их один за другим. Если Вы просто возвратились и починили вещи, которые были на самом деле повреждены, Вас все еще оставляют с ужасно небезопасной системой, особенно если это находится в сети и выполняет какие-либо серверы.

0
ответ дан 9 June 2015 в 05:46

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

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