Sudo не работает: "/ etc / sudoers принадлежит uid 1005, должно быть 0" - Ubuntu

1422
Daz

Когда я попытался сменить пользователя на root с помощью sudo suкоманды. это показывает ошибку ниже. Есть ли далеко, чтобы решить эту проблему?

dasitha@dev-digin-io:~$ sudo su sudo: /etc/sudoers is owned by uid 1005, should be 0 sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin 

Я использую ниже Ubuntu 14.04.5 LTS Server операционной системы.

Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty 

Вот lsвывод:

dasitha@dev-digin-io:/etc$ ls -l /etc/sudoers -r--r----- 1 sajee root 900 Dec 9 07:02 /etc/sudoers 

Он размещен на облачной платформе Google (compute Engine / VM), поэтому у меня нет физического доступа к машине.

1
Пожалуйста, [отредактируйте] свой вопрос, чтобы включить вывод `ls -l / etc / sudoers`. Также, пожалуйста, сообщите нам, сможете ли вы загрузить сервер с альтернативного носителя (например, с живого CD). a CVn 7 лет назад 0
Вы установили пароль root? Можете ли вы запустить `su` без` sudo`? techraf 7 лет назад 0
@ MichaelKjörling это выход. `dasitha @ dev-digin-io: / etc $ ls -l / etc / sudoers -r - r ----- 1 sajee root 900 дек. 9 07:02 / etc / sudoers` Daz 7 лет назад 0
@techraf нет до сих пор я получил сообщение об ошибке сбоя аутентификации. `dasitha @ dev-digin-io: / etc $ su Пароль: su: Ошибка аутентификации` Daz 7 лет назад 0
Нет @techraf. Это размещено в облачной платформе Google. (вычислить Engine / VM) Daz 7 лет назад 0
@Daz Когда люди запрашивают дополнительную информацию, пожалуйста, отредактируйте пост, чтобы включить его. Я сделал редактирование для вас; пожалуйста, сделайте их сами в будущем. Спасибо. a CVn 7 лет назад 0
При непосредственном использовании `su` вам нужен пароль root. Это отличается от `sudo`, где вы используете пароль своего пользователя. Daniel B 7 лет назад 0
У меня есть пароль root @DanielB. Проблема в том, что я не могу получить доступ к / etc / sudoers. (Объяснил в проблеме) Daz 7 лет назад 0
Если вы знаете пароль пользователя root, то указали ли вы его в `su`? И вы получили "Ошибка аутентификации" в ответ на правильный (по крайней мере в теории) пароль root? techraf 7 лет назад 1
На самом деле вы можете получить доступ к `/ etc / sudoers`. Это просто больше не безопасно, поэтому sudo отказывается его использовать. `su` не использует` / etc / sudoers`. Однако, как я уже упоминал, вам нужно ввести пароль для пользователя root. При использовании исключительно sudo этот пароль может даже не быть установлен! Daniel B 7 лет назад 2
Спасибо за информацию @DanielB. То, что я хочу знать, Есть ли способ заставить эту вещь работать? Или мне нужно переустановить ОС? Daz 7 лет назад 0
Как уже было сказано: используйте `su` с паролем root, чтобы стать root, затем` chown root / etc / sudoers`, чтобы сделать его безопасным («принадлежащий uid 0»). dirkt 7 лет назад 1

1 ответ на вопрос

1
Fedor Dikarev

На Google Cloud Platform вы можете использовать сценарии запуска для запуска команд от имени root при запуске. Таким образом, вы можете добавить что-то похожее на chown 0 /etc/sudoersваш текущий скрипт и перезапустить виртуальную машину.

А о статье « Сценарии запуска» вы можете прочитать в статье на Google Cloud Platform.