Случайно удаленный файл / etc / sudoers

При попытке обновить свои репозитории я получаю следующую ошибку:

avinash@avinash-VirtualBox:~$ sudo apt-get update
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Кажется, что я случайно удалил свой файл /etc/sudoers. /etc/sudoers Файл на самом деле принадлежит пакету sudo, поэтому я пытаюсь переустановить sudo с помощью pkexec, но это не сработает.

avinash@avinash-VirtualBox:~$ pkexec apt-get install sudo
Reading package lists... Done
Building dependency tree       
Reading state information... Done
sudo is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 301 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up sudo (1.8.6p3-0ubuntu3.1) ...
WARNING:  /etc/sudoers not present!
chown: cannot access ‘/etc/sudoers’: No such file or directory
dpkg: error processing sudo (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 sudo
E: Sub-process /usr/bin/dpkg returned an error code (1)
avinash@avinash-VirtualBox:~$ 

А также я пытался,

avinash@avinash-VirtualBox:~$ pkexec apt-get install --reinstall sudo
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 301 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for sudo:amd64

Как заставить команду sudo снова работать?

3
задан 17.05.2020, 11:05

3 ответа

Просто начальная загрузка от Ubuntu живой диск и копия /etc/sudoers файл к установленному разделу Ubuntu /etc каталог.

  • Начальная загрузка Ubuntu живая скидка и щелчок пробуют опцию Ubuntu на запуске.

  • команда Run sudo blkid для знания идентификатора раздела установленного Ubuntu.

  • Монтируют, что раздел установленного Ubuntu на определенном каталоге как ниже,

    sudo mkdir /media/foo
    sudo mount /dev/sdaX /media/foo     # /dev/sdaX installed Ubuntu's partition id.
    
  • Теперь копируют файл живого диска sudoers в /etc каталог раздела установленного Ubuntu.

    sudo cp /etc/sudoers /media/foo/etc
    
  • Теперь начальная загрузка от жесткого диска (Загружают Вашу ОС Ubuntu).It будет работать.

2
ответ дан 17.05.2020, 11:06

После того, как я сделал резервное копирование для /etc/sudoers файл:

sudo mv /etc/sudoers{,.bak}

я получаю те же ошибки как в Вашем случае.

, Если Вы используете

pkexec apt-get install sudo

, не будет работать, потому что apt-get будет видеть что:

sudo is already the newest version.

, Если Вы используете:

pkexec apt-get install --reinstall sudo

не будет также работать, потому что /etc/sudoers файл, как находят, не удален и заменен.

, Но если Вы используете:

pkexec apt-get purge sudo
pkexec apt-get install sudo

, как описано в этот ответ , все будет работать как очарование. Я могу сказать это, потому что я просто тестирую его снова.

Так, нет никакого смысла потерять время и загрузить Вашу систему с живым диском.

6
ответ дан 17.05.2020, 11:07
  • 1
    ОСТОРОЖНОСТЬ! apt-get purge sudo также удалил несколько других очень важных пакетов с ним для меня, включая мою настольную среду и менеджера по оформлению (Commandline: /usr/bin/apt-get purge sudo Purge: casper:amd64 (1.340.2), cinnamon:amd64 (2.6.13+rafaela), sudo:amd64 (1.8.9p5-1ubuntu1.3), ubuntu-minimal:amd64 (1.325), lupin-casper:amd64 (0.55), mdm:amd64 (2.0.4+rafaela), gdebi:amd64 (0.9.5.3ubuntu2), gksu:amd64 (2.0.2-6ubuntu2)). Я провел 5 часов, пытаясь добраться до моего рабочего стола снова. Я рекомендую не делать этого – Yohan Liyanage 17.05.2020, 11:07
  • 2
    +1 для pkexec - можно также просто повторно добавить себя с pkexec к/etc/sudoers. Я просто скопировал значение по умолчанию sodoers файл из другого ответа в этом потоке. – Kate 17.05.2020, 11:08
  • 3
    После этого мой /etc/sudoers все еще пуст – kdelmonte 17.05.2020, 11:08

Вот необработанное содержание /etc/sudoers на Ubuntu 13.10:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
<час>

И полномочия:

-r--r----- 1 root root

Для применения тех это chmod 440 /etc/sudoers и chown root:root /etc/sudoers

2
ответ дан 17.05.2020, 11:07
  • 1
    @AvinashRaj Вы правы, которому было бы нужно sudo. Таким образом, что you' d должны сделать, загрузиться к живой сессии Linux, и создать файл (конечно, с полномочием пользователя root) и поместить содержание (предложенный в MrVaykadji' s ответ) в файле, сохраните его, закройте редактора, установите правильные полномочия и перезагрузку.. это должно зафиксировать часть проблемы (который я думаю, имеет больший домен).. – Vadim Kotov 17.05.2020, 11:07
  • 2
    Как я поместил бы этот файл в /etc? Этому нужно sudo. – bchhun 17.05.2020, 11:08
  • 3
    @AvinashRaj можно ли поместить файлы в /etc и измениться ли, полномочия, использующие..., предполагают что?... pkexec. – Steve Barnes 17.05.2020, 11:08
  • 4
    С корневой учетной записью, реальной, не Вашим обычным пользователем с sudo полномочиями. It' s доступный посредством Восстановления я думаю. – Kate 17.05.2020, 11:09

Теги

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