sudo удалено [дубликат]

На этот вопрос уже есть ответ здесь:

Как установить sudo пакет?

$ apt-get install sudo
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
11
задан 22 January 2017 в 09:29

5 ответов

Если Вы на самом деле удалили sudo команда, можно переустановить пакет, который обеспечивает ее путем выполнения:

pkexec apt-get update
pkexec apt-get --reinstall install sudo

Это работает, потому что большинство систем Ubuntu имеет два отдельных пути, которые позволяют администраторам выполнить действия как корень, sudo и Polkit. Когда sudo повреждается, Polkit обычно все еще неповрежден.

Вы должны быть зарегистрированы как администратор, чтобы сделать это, конечно. Если Вы используете учетную запись, кому разрешили использовать sudo (назад, когда sudo существовавший в системе), который должен хорошо работать.

В минимальной системе или системе сервера Ubuntu, Polkit может быть недоступным, и с некоторыми конфигурациями Вы не сможете работать pkexec управляйте по сессии SSH.


Вы указали на это pkexec, в то время как не удаленный как sudo, также повреждается. А именно, в Вашей системе это имеет неправильное владение или полномочия. Это, как предполагается, корень setuid, но это не, и поэтому это не может использоваться.

Было бы полезно знать как /usr/bin/sudo был удален, и как /usr/bin/pkexecполномочия (или владение) были изменены. Они равняются двум, на вид отдельным изменениям повреждения в Вашей системе. Если рекурсивное (-R) chown или chmod был выполнен на /, /usr, или /usr/bin, это объяснило бы как pkexecполномочия были изменены, и соответствующая фиксация сделает больше, чем просто возврат их для того одного исполняемого файла.

После этих слов если эти только две вещи неправильно с Вашей системой - это sudo отсутствует и pkexec имеет неправильные полномочия или владение, это все еще легко фиксируется, хотя необходимо будет перезагрузить в режим восстановления или chroot в от продуктивной среды. Я предлагаю режим восстановления.

  1. Начальная загрузка в режиме восстановления.
  2. Повторно смонтироваться / чтение-запись путем выполнения: mount -o remount,rw /
  3. Удостовериться pkexec имеет корректное владение: chown root:root /usr/bin/pkexec
  4. Зафиксировать pkexecполномочия: chmod 4755 /usr/bin/pkexec
  5. Загрузитесь в свою систему (exit и следуйте за подсказками), или перезагрузка с reboot.
  6. Следуйте вышеупомянутым инструкциям для переустановки sudo пакет путем выполнения apt-get с pkexec.

Это имеет преимущество работы, доступно ли какое-либо Интернет-соединение в режиме восстановления, не включая загрузку .deb файлы и вручную установка их. С --reinstall, apt-get заменит все файлы пакета для sudo, который может решить дополнительные проблемы. Плюс, это также фиксирует Ваш поврежденный pkexec.

Однако это не единственный подход. В частности, метод, данный в ответе San Lin Naing, должен работать, также. Основное различие - то, что, в методе, данном здесь, никакие операции управления пакетом не выполняются в chroot, который только используется для восстановления pkexec таким образом, это может затем использоваться для управления пакетами при нормальной начальной загрузке.

20
ответ дан 23 November 2019 в 03:55

да я acidentlly удалил sudo файл. вывод ls-l/usr/bin/sudo, не может получить доступ к '/usr/bin/sudo': Никакой такой файл или каталог

Просто мысль:

у Вас все еще есть медиа (DVD / карта с интерфейсом USB), от которого Вы установили Ubuntu на своей системе?

  1. Начальная загрузка от него и монтируют системный раздел Вашего ПК.
  2. Копия /usr/bin/sudo от живой системы до смонтированного раздела.
  3. Проверка, что владелец и полномочия файла являются тем же.
  4. Перезагрузка к Вашей системе.
2
ответ дан 23 November 2019 в 03:55

Возможно, Вы могли загрузить свою систему к режиму восстановления через личинку. Оттуда Вы могли попытаться проверить системную интеграцию через dpkg, который, возможно, позволяет Вам решить свою проблему. Или, после этого, так как Ваш раздел был смонтирован с полномочиями чтения-записи, Вы могли установить sudo, не используя команду sudo при помощи записи главного меню. Необходимо обновить через Кв. - получают и возможно пробуют использование apt-get install -f и dpkg --configure -a сначала.

0
ответ дан 23 November 2019 в 03:55

Можно создать sudo из источника

mkdir sudo-src
cd sudo-src
apt-get source sudo
cd sudo-x.y.z
./configure --prefix=$HOME
make
make install
0
ответ дан 23 November 2019 в 03:55

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

Если у Вас есть доступ как a root, Вы можете устанавливать sudo снова.

Ссылка на этот ответ.

Попытайтесь запуститься с bash mode с root пользователь.

  1. Перезагрузите свою систему.
  2. Долго нажимайте Shift ключ или Esc ключ.
  3. Выбрать Advanced options for Ubuntu.
  4. Выбрать Ubuntu, with Linux x.x.x-xx-generic (recovery mode).
  5. Выбрать root Drop to root shell prompt
  6. Ввести mount -o rw,remount / управляйте для получения доступа для записи чтения.
  7. Ввести apt install sudo. Последуйте экранные инструкции.

Если установка закончилась, Она сделана!

В противном случае этому, возможно, понадобится сетевое соединение.

Позволяет перезагрузке, Ваша система к нормальной начальной загрузке и загрузке потребовала файлов. Если так, Ctrl + D пойдет страница меню снова и выберет resume. Это перейдет к нормальной начальной загрузке.

Вы, возможно, должны установить sudo офлайн. Это может быть другим исследованием. Здесь можно найти .deb пакет. Можно загрузить версией ОС. Загрузите свой файл, который является sudo_1.8.19-3_xxxx.deb. И затем помните свою загрузку file path.

Перезагрузите свою систему в bash mode (recovery mode) снова и выполните 1-6 шагов.

И затем dpkg -i *file_path/sudo_1.8.19-3_xxxx.deb. Это установит sudo. Законченный! Ctrl + D и выберите resume к нормальной начальной загрузке.

Готово!

2
ответ дан 23 November 2019 в 03:55

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

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