Как я сбрасываю владение/usr/bin/sudo на Linux?

man ezmlmrc

это помогло немного...

1
задан 14 July 2011 в 03:44
5 ответов

После исчерпывающего поиска я не удался найти любой способ решить это и должен был восстановить сервер.

1
ответ дан 3 December 2019 в 18:02

(повторение моего ответа SE)

Вы работаете на объеме EBS? Можно ли позволить себе завершить работу экземпляра в течение нескольких минут?

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

1
ответ дан 3 December 2019 в 18:02

Если у Вас есть какие-либо сценарии, которые работают через крон как корень, и у Вас все еще есть способность отредактировать их, Вы могли добавить следующее.

# chown root.root /usr/bin/sudo
# chmod u+s /usr/bin/sudo

Иначе, когда Вы выясняете, как получить корень на поле, необходимо сделать те команды.

1
ответ дан 3 December 2019 в 18:02

(перефразирующий это, так как, по-видимому, это не было понято под некоторыми людьми),

Ядра Linux рекламируют _POSIX_CHOWN_RESTRICTED как верный, который определяется для значения этого только root может использовать chown(). Если бы это было установлено ложь, то это означало бы, что существует способ для обычных пользователей изменить владение их файлов.

chown(3) имеет формулировку, которая предполагает, что возможно измениться _POSIX_CHOWN_RESTRICTED на уровне ядра; Linux на самом деле не позволяет этому быть измененным, тем не менее, таким образом, нет просто никакого пути к не -root кому: chown их собственные файлы.

1
ответ дан 3 December 2019 в 18:02

Перезагрузите компьютер и удерживайте F8 после заставки BIOS, чтобы открыть меню загрузки GRUB. Если вы используете один из популярных дистрибутивов Linux (что-то вроде Ubuntu), должна быть возможность запустить Linux в режиме восстановления (этот параметр можно найти в подменю «Дополнительные параметры», если вы используете GRUB 2). Запустите Linux в режиме восстановления, и (если вы используете популярный дистрибутив) в конечном итоге вам должно быть представлено короткое меню параметров восстановления. Сначала выберите параметр восстановления fsck, чтобы перемонтировать / в режиме чтения-записи и смонтировать все остальные файловые системы в fstab. Затем выберите вариант, который даст вам приглашение root. Поскольку оболочка входит в систему как root, все команды будут запускаться как root без необходимости использования команды sudo. Вы можете использовать это для восстановления разрешений на / usr / bin / sudo:

chown root:root /usr/bin/sudo
chmod u+s /usr/bin/sudo
exit

После того, как вы это сделаете, вы можете выбрать вариант «возобновить нормальную загрузку» (или просто перезагрузить компьютер, если у вас его нет) и войдите в систему в обычном режиме и воспользуйтесь командой sudo для восстановления остальных ваших разрешений. Для этого вам обычно нужно скопировать разрешения с другого компьютера, у которого есть «достаточно близкие» разрешения. Я столкнулся с этой проблемой на своем рабочем столе, когда вручную установил кросс-компилятор, который я только что создал, используя rsync с флагом -a. После того, как я понял, что хочу, чтобы файлы кросс-компилятора были привязаны к root, а не ко мне, я по глупости запустил chown -R root: root / usr и случайно отключил мои разрешения. К счастью, у меня был ноутбук с таким же дистрибутивом и почти такой же набор установленных пакетов.

0
ответ дан 3 December 2019 в 18:02

Теги

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