Нет корневых привилегий при использовании графического интерфейса

Таким образом, я вошел в систему как пользователь 'Shannon', но не могу получить root-доступ через GUI, когда мне предлагается установить программу, например. Однако, используя sudo su, введите пароль пользователя root, получите доступ через терминал, а затем установите программы оттуда. Разве эти пароли не должны быть идентичными?

Кто-нибудь знает, как исправить этот пароль?

2
задан 12 September 2013 в 11:43

2 ответа

По умолчанию root заблокирован в Ubuntu.

Чтобы получить привилегии root, мы используем sudo su, где он запрашивает наш пароль.

При установке любого программного обеспечения также запрашивается тот же пароль.

Чтобы разблокировать корневую учетную запись, используйте sudo -i и passwd, таким образом, вы можете разблокировать корневую учетную запись, однако это не рекомендуется.

0
ответ дан 12 September 2013 в 11:43

Хорошо, позвольте мне написать краткое пояснение. Есть два разных пользователя: Shannon и root. В Ubuntu по умолчанию root вообще не имеет пароля и не может войти в вообще . Если Shannon хочет выполнить задачу, требующую прав суперпользователя, он использует команду sudo, которая обращается к файлу с именем /etc/sudoers и имеет возможность превратить Shannon в root.

По умолчанию sudo хочет убедиться, что Shannon на самом деле Shannon, а не его собака, которая только что взяла на себя клавиатуру. Вот почему sudo запрашивает у пользователя Shannon его пароль (а не root). Также обратите внимание, что «задачей, требующей привилегий суперпользователя», может быть оболочка bash, что по сути означает, что вы можете войти в систему как root (без использования пароля root!).

Таким образом, дело не в том, что два пользователя (Shannon и root) имеют разные пароли, а в том, что пароль из root фактически не запрашивается для вообще . [тысяча сто сорок четыре] 1145 Лично у меня нет собаки; Вот почему я изменил /etc/sudoers таким образом, чтобы он никогда не спрашивал меня о моем пароле - достаточно того, что он есть. Используя команду sudo visudo, я отредактировал /etc/sudoers и отредактировал следующую строку:

%sudo ALL=(ALL:ALL) ALL

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

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

Ах, но теперь директива NOPASSWD гарантирует, что не только я могу запускать любую программу от имени пользователя root, но и запускать ее без вреда для ввода пароля. Обратите внимание, что для редактирования этого файла я должен использовать программу visudo, которая гарантирует, что я не сделаю никакой синтаксической ошибки. Синтаксическая ошибка в файле sudoers может полностью отключить систему sudo - и затем, если у пользователя root нет пароля, вы попадаете в глубокую кака.

Чтобы добавить путаницу, существует еще одна программа, позволяющая получить привилегии root, временно называемая su. Однако, su гораздо более примитивен - он просто запрашивает пароль для корня . Следовательно, он не работает в установке Ubuntu по умолчанию.

Итак, какой пароль на самом деле запрашивается при вводе sudo su? Ну, команда, которую вы запускаете первой, это sudo, а не su. Таким образом, вас спрашивают пароль Shannon, а не root. sudo затем получает привилегии root и запускает su как root. Но когда рут запускается su, su не запрашивает пароль. В любом случае, не делайте этого - это то, для чего sudo -i предназначен (делает то же самое).

0
ответ дан 12 September 2013 в 11:43

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

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