Таким образом, я вошел в систему как пользователь 'Shannon', но не могу получить root-доступ через GUI, когда мне предлагается установить программу, например. Однако, используя sudo su
, введите пароль пользователя root, получите доступ через терминал, а затем установите программы оттуда. Разве эти пароли не должны быть идентичными?
Кто-нибудь знает, как исправить этот пароль?
По умолчанию root заблокирован в Ubuntu.
Чтобы получить привилегии root, мы используем sudo su
, где он запрашивает наш пароль.
При установке любого программного обеспечения также запрашивается тот же пароль.
Чтобы разблокировать корневую учетную запись, используйте sudo -i
и passwd
, таким образом, вы можете разблокировать корневую учетную запись, однако это не рекомендуется.
Хорошо, позвольте мне написать краткое пояснение. Есть два разных пользователя: 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
предназначен (делает то же самое).