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

Как мне сбросить право собственности на / usr / bin / sudo в Linux?

Я случайно сменил владельца /usr/bin/sudo для моего текущего пользователя (я также сделал это для некоторых других вещей в моем /usr каталог). Я не могу вернуть ни одного из них, потому что мне нужно владеть /usr/bin/sudo быть root, чтобы сделать это. У меня нет корневого доступа, потому что я использую инстанс Amazon EC2 под управлением Linux.

Вот что я сделал (по глупости знаю):

sudo chown -R ec2-user.ec2-user /usr/

Я также добавил кучу других вещей в процессе, но я думаю, что все это можно решить, если я смогу сбросить право собственности на /usr/bin/sudo

Пожалуйста помоги. Я новичок в администрировании Linux и делаю все из командной строки.

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

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

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

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

(перефразируя это, поскольку, очевидно, некоторые люди этого не поняли)

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

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

(повторяя мой ответ SE)

Вы используете том EBS? Можете ли вы позволить себе выключить инстанс на несколько минут?

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

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

Перезагрузите компьютер и удерживайте 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 и случайно отключил мои разрешения. К счастью, у меня был ноутбук с таким же дистрибутивом и почти такой же набор установленных пакетов. Я скопировал с него разрешения и решил свои проблемы с разрешениями менее чем за час.