Случайно удаленный файл / 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
задан 24 March 2014 в 13:07

5 ответов

После того, как я сделал резервное копирование для /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

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

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

0
ответ дан 24 March 2014 в 13:07

Просто начальная загрузка от 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 будет работать.

0
ответ дан 24 March 2014 в 13:07

Вот необработанное содержание /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

0
ответ дан 24 March 2014 в 13:07

выполниться pkexec nano /etc/sudoers

и вставка

#
# 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
0
ответ дан 1 December 2019 в 13:10

Я просто хотел добавить это простое решение для переустановки sudo Если вы удалили sudo с помощью:

sudo apt-get remove sudo

Вы можете установить его снова. Используйте:

su -

Введите пароль root, а затем:

apt-get update
apt-get install sudo

выйдите

0
ответ дан 22 May 2020 в 14:13

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

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