На чтение 3 мин Просмотров 22 Опубликовано 01.08.2021
Часто при установке дистрибутива, нам не дают создать короткий и удобный пароль суперпользователя. Для администратора это конечно оправдано, но для домашнего компьютера сложный пароль не имеет смысла. Давайте рассмотрим как просто изменить пароль на удобный для нас с помощью команды passwd.
Чтобы изменить пароль sudo из командной строки, необходимо выполнить следующие действия:
Содержание
- Открыть терминал
- Войти в систему как суперпользователь
- Измените пароль sudo с помощью команды passwd
- Завершить сессию суперпользователя
- Альтернативный способ смены пароля
Открыть терминал
Чтобы изменить пароль пользователя sudo, вы должны сначала открыть терминал в вашей системе. Для этого вы можете использовать комбинацию клавиш Ctrl + Alt + t или выбрать значок терминала из меню.
Войти в систему как суперпользователь
Пользователь root может изменить только свой собственный пароль. Поэтому войдите в систему как пользователь root. Для этого вам в терминале необходимо набрать следующею команду:
$ sudo -i
Вас попросят ввести пароль вашей учётной записи root. Введите пароль и нажмите Enter, чтобы войти в систему как пользователь root.
Вы вошли в систему как пользователь root, смотреть на изображении выше.
Измените пароль sudo с помощью команды passwd
Теперь, когда вы вошли в систему как пользователь root, вы можете изменить пароль учетной записи root, выполнив команду passwd следующим образом:
# passwd
После выполнения команды passwd в терминале система предлагает ввести новый пароль пользователя root. Вы вводите новый пароль и нажимаете Enter, система снова предложит вам ввести новый пароль. Введите указанный выше пароль еще раз и нажмите Enter. В терминале отобразится подтверждающее сообщение о том, что пароль был успешно обновлен.
Теперь можете использовать обновленный пароль для своей учетной записи во всех установках программного обеспечения и конфигурации файлов, требующих авторизации.
Завершить сессию суперпользователя
Теперь, когда вы изменили пароль root, введите следующую команду:
# exit
После выполнения указанной выше команды на терминале будет отображаться статус выхода, что означает, что вы вышли из учетной записи root.
Альтернативный способ смены пароля
Есть еще одна альтернатива для изменения пароля пользователя root. Вы используете следующую команду на терминале, с помощью которой вы входите в систему как пользователь root и вводите пароль учетной записи root. С помощью одной команды вы можете изменить таким образом пароль.
$ sudo passwd root
После выполнения указанной выше команды на терминале появится уведомление о смене пароля. Теперь введите новый пароль и нажмите Enter. Введите вновь выбранный пароль еще раз и снова нажмите Enter. После этого появится сообщение о том, что пароль root был успешно изменен.
В этой статье вы узнали, как изменить пароль учетной записи root с помощью терминала, надеюсь вам это поможет.
Если вы новичок в Ubuntu, Возможно, вы захотите узнать, как изменить пароль в вашей системе Ubuntu, используя оболочку bash или командную строку.
В конце концов, изменение паролей для любого пользователя является хорошей практикой безопасности., особенно суперпользователя, который может выполнять все конфиденциальные операции в Ubuntu.
Только суперпользователь или root может изменить пароль любой учетной записи.. Другие пользователи могут изменять только свои пароли.
Пароли пользователей меняются в Ubuntu с помощью команды passwd. В этой статье мы объясним, как пользователь root может изменить свой пароль в Ubuntu.
Индекс
- 1 Процесс изменения пароля пользователя в Ubuntu и производных
- 2 Как изменить пароль другого пользователя в Ubuntu и производных?
- 3 Как восстановить пароль root?
Чтобы осуществить этот процесс нам нужно использовать командную строку в Ubuntu, поэтому вы можете открыть ее, выполнив поиск терминала в меню приложения или с помощью сочетания клавиш «Ctrl + Alt + T».
Сейчас мы должны войти в систему как пользователь root, поскольку только пользователь root может изменить свой собственный пароль, для этого в терминале мы собираемся ввести следующую команду:
sudo -i
Система попросит вас ввести текущий пароль sudo. Это сделано, pЧтобы изменить пароль пользователя root, в терминале мы собираемся ввести следующую команду:
passwd
Когда они вводят команду passwd, система попросит вас ввести новый пароль для вашего пользователя root, затем система попросит вас повторно ввести новый пароль. После этого система подтвердит, что пароль обновлен правильно.
Теперь всякий раз, когда вам нужно войти в систему как root или выполнить какие-либо операции по установке и настройке, требующие полномочий root, вы используете этот новый пароль.
Как только этот процесс будет завершен, достаточно закрыть корневой сеанс, для этого в терминале мы должны ввести следующую команду:
exit
Но что происходит, когда вам нужно изменить пароль другого пользователя, если вы являетесь системным администратором.
Как изменить пароль другого пользователя в Ubuntu и производных?
Что ж, если вам нужно сменить пароль другого пользователя, вы можете сделать это аналогично предыдущему процессуТолько здесь необходимо указать имя пользователя, которому вы назначите новый пароль.
Вы можете сделать это с помощью следующей команды, В этом случае мы изменим пароль на root, хотя, как уже упоминалось, вы можете изменить пароль любого другого пользователя в системе:
sudo passwd root
При вводе этой команды он попросит их ввести новый пароль, как только это будет сделано, он снова запросит подтверждение, а затем продолжит вносить изменения,
Как видите, делать это от root необязательно.
Как восстановить пароль root?
Теперь вы, возможно, вошли в эту статью, думая, что заголовок относится к восстановлению забытого пароля.
Ну, Мы не будем оставлять это в стороне и объясним простой метод для этого.
Чтобы восстановить пароль root, необходимо перезагрузить компьютер. Когда это произойдет, после того, как экран BIOS вашего компьютера перейдет в разряд, вам придется нажимать клавишу ESC или SHIFT несколько раз в зависимости от случая.
Поскольку в зависимости от имеющейся у вас BIOS, вы можете выполнять некоторые действия с помощью ESC, поэтому вы должны использовать shift, хотя вы можете поискать в сети некоторые методы для доступа к режиму восстановления Ubuntu.
Эсто Вы должны сделать это так, чтобы были включены параметры grub, и, находясь здесь, вы должны выбрать параметр запуска, который в конце содержит «Режим восстановления».
Как только эта опция выбрана, вы вводите Enter, и она начинает загружать систему, все хорошо до этого момента. Через минуту или немного больше вы должны оказаться на экране с несколькими вариантами, в том числе с надписью «root».
Вы должны позиционировать себя в нем с помощью клавиатуры навигации по датам и нажать Enter. Здесь вы попадете в консоль.
В нем вы можете применить ту же предыдущую процедуру, которую мы объяснили вам, чтобы изменить пароль, но сначала вы должны смонтировать корневой раздел с помощью:
mount -rw -o remount /
А затем перейдите к изменению пароля с помощью:
passwd nombredeusuario
Наконец, в качестве дополнительного комментария, этот процесс может быть палкой о двух концах, поскольку кто-то неавторизованный может создать нового пользователя с правами администратора и получить доступ к вашей системе или изменить ваши учетные данные. В этом случае мне интересно, как мы можем отключить эту опцию?
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Вы можете быть заинтересованы
Содержание
- Меняем пароли в Linux
- Текущий пользователь
- Чужая учетная запись
- Принудительная задача смены пароля
- Локальные группы
- Root
- Вопросы и ответы
Стандартные правила безопасности дистрибутивов операционных систем Linux требуют указывать пароль для каждого пользователя при его создании. Дополнительно такие же ключи устанавливаются всем существующим группам, а основной пароль открывает доступ к root-правам. Все это иногда приходится менять, создавая новые ключи. Есть разные варианты осуществления поставленной задачи, что напрямую зависит от типа профиля или группы, для которой и происходит изменение. Далее мы хотим поговорить обо всех этих способах, затронув каждую деталь.
Как известно, все дистрибутивы отличаются друг от друга не только графическими оболочками, но и стандартными командами. К счастью, к утилитам, отвечающим за смену пароля, это не относится, поэтому приведенные далее инструкции можно считать универсальными. Единственное, что следует отметить, так это разницу в оболочках. Мы взяли за пример стандартный интерфейс Ubuntu, а вы, если желаете сменить ключ доступа через GUI, учитывайте особенности своей среды.
Текущий пользователь
Все приведенные далее руководства будут разбиты на несколько разделов, чтобы вы могли подобрать оптимальный метод. Чаще всего юзеров интересует смена собственного пароля, поэтому мы и предлагаем ознакомиться с этой процедурой в первую очередь.
Способ 1: Графический интерфейс
Инструменты графического интерфейса — идеальная замена «Терминала» для начинающих юзеров. Именно с ним мы и будем взаимодействовать в рамках данного метода. Обратимся к разделу «Параметры», чтобы выполнить поставленную цель.
- Откройте меню приложений и запустите соответствующий инструмент.
- Воспользуйтесь левой панелью, чтобы перейти в «Сведения о системе».
- Здесь вас интересует категория «Пользователи».
- Убедитесь в том, что выбрана необходимая учетная запись, а затем кликните по строке «Пароль».
- Отобразится новая форма для смены ключа доступа. В ней для начала укажите текущий пароль, а затем задайте новый, подтвердив его.
После вы будете уведомлены о том, что все изменения прошли корректно. Теперь при перезагрузке компьютера не забудьте, что с этого момента следует использовать новый пароль.
Способ 2: «Терминал»
Теперь поговорим о том, как сделать то же самое, но уже через «Терминал». Это будет актуально для тех юзеров, кто затрудняется отыскать соответствующий пункт в графическом меню, предпочитает задействовать консоль или же будет вносить последующие изменения путем введения команд.
- Откройте меню приложений и нажмите там на значок под названием «Терминал».
- Введите команду
passwd
и нажмите на Enter. - Сейчас потребуется вписать текущий ключ, чтобы подтвердить подлинность учетной записи. Учтите, что символы, написанные таким образом, не отображаются в строке, но при этом корректно вводятся.
- После укажите новый пароль.
- Подтвердите его, чтобы проверить правильность.
В новой строке отобразится информация о том, что пароль был изменен и следует использовать его для последующих авторизаций в системе. Как видите, ничего сложного в работе с консолью и стандартными командами нет, нужно лишь выяснить, какая именно опция отвечает за необходимый параметр.
Чужая учетная запись
Некоторые системные администраторы или профили, владеющие root-доступом в Linux, сталкиваются с надобностью изменения пароля от другой учетной записи. Это случается тогда, когда пользователь, например, забыл свой пароль и не может войти в операционную систему. В этом методе, как и в предыдущем, существуют два варианта достижения поставленной цели.
Способ 1: Графический интерфейс
Здесь так же придется задействовать окружение рабочего стола, изменяя настройки через соответствующее меню. Следующая инструкция поможет разобраться в каждом шаге.
- Для начала авторизуйтесь в Linux под учетной записью, которая включена в группу sudo или имеет прямой доступ к root.
- Откройте «Параметры», переместитесь в «Сведения о системе» и в окне юзеров щелкните по кнопке «Разблокировать».
- Введите пароль от sudo для подтверждения подлинности.
- Переключитесь на раздел учетной записи другого пользователя.
- Кликните по строке с паролем.
- Отметьте маркером пункт «Установить пароль сейчас» и заполните соответствующую форму.
После нажатия на кнопку «Изменить» новые параметры сразу же вступят в силу, а сам пользователь при следующем входе будет уведомлен о смене пароля и должен будет ввести его, чтобы авторизоваться.
Способ 2: Терминал
В инструкции по изменении своего пароля мы уже показывали консольную команду, отвечающую за осуществления этого действия. При смене ключа доступа другого юзера происходит примерно то же самое, но дополнительно придется указать несколько опций, описанных далее.
- Откройте «Терминал», например, через иконку на панели «Избранное».
- Напишите команду
sudo passwd lumpicsite
, где lumpicsite — имя учетной записи, для которой и будет указан новый пароль. - Подтвердите root-права, введя соответствующий ключ.
- Следуйте указаниям, отобразившимся в новых строках, чтобы завершить процедуру.
- Если требуется вовсе удалить пароль, напишите
sudo passwd -d lumpicsite
. В таком случае юзер больше не сможет авторизоваться в системе до того момента, как вы не измените эту настройку.
Принудительная задача смены пароля
В Linux для системных администраторов существует специальная опция, позволяющая заставить другие профили время от времени сменять свои пароли. Это может быть сделано, например, в целях безопасности. Как и в двух предыдущих случаях, выполняется эта настройка через «Терминал» или GUI.
Способ 1: Меню «Параметры»
Как обычно, начнем с графического интерфейса. Здесь тоже придется обратиться к разделу с системными настройками. Однако учитывайте, что гибкость конфигурации в этом случае ограничивается банальным требованием сменить ключ доступа при следующем входе в Linux. Если же вам требуется задать более сложные параметры, сразу переходите к рассмотрению терминальных команд в следующем способе.
- Откройте «Параметры» удобным для вас образом.
- Здесь снова перейдите к разделу «Пользователи» и разблокируйте управление.
- Нажмите на строку пароля необходимой учетной записи.
- Отметьте маркером пункт «Разрешить пользователю изменить пароль при следующем входе в систему».
- Не обращайте внимание на слово «Разрешить», поскольку здесь оно переведено неверно. При попытке следующей авторизации на экране появится уведомление, что изменение должно произойти в обязательном порядке.
Способ 2: Настройка срока действия пароля
Теперь предлагаем обратиться к консоли, чтобы настроить срок действия ключа. Как мы уже сказали выше, этот вариант более гибкий, чем управление через графический интерфейс, поскольку вам разрешается выбрать срок, через который должна произойти смена, а также можно настроить уведомления для целевого юзера. Все это осуществляется следующим образом:
- Для начала определите имя учетной записи, с которой будут производиться следующие манипуляции.
- Запустите консоль и просмотрите там текущее состояние пароля этого профиля, введя
sudo passwd -S lumpicsite
. Замените lumpicsite на определенное ранее имя. - Давайте разберем содержимое новой строки. Первое значение — имя профиля, далее идет значение P, отвечающее за то, что сейчас пароль установлен. Буква L означает, что профиль заблокирован, а если бы там была NP — ключ доступа еще не был задан. Следующая дата означает время последнего изменения, 0 — минимальное время до следующей смены, 99999 — допустимое время действия ключа. Число 7 значит, что за неделю до истечения действия пароля юзер будет уведомлен о надобности его смены, а -1 — через сутки после окончания действия ключа он будет деактивирован, и юзер не сможет войти в систему.
- Заставьте юзера сменить настройку, например, через месяц, напечатав
sudo passwd -x 30 lumpicsite
. - Начните показ уведомлений за три дня до окончания срока, указав
sudo passwd -w 3 lumpicsite
. - Если через пять дней после начала появлений уведомлений ключ доступа так и не будет смене, заблокируйте учетную запись. За это отвечает команда
sudo passwd -i 3 lumpicsite
. - Установите ограничение на частоту смены ключа через
sudo passwd -n 10 lumpicsite
. - Повторно напишите
sudo passwd -S lumpicsite
, чтобы просмотреть текущие параметры.
Как видите, в «Терминале» присутствует огромное количество опций, позволяющих создать гибкую конфигурацию рассматриваемого способа. Используйте приведенную выше инструкцию только в качестве примера, заменяя все значения на удобные для себя.
Локальные группы
Как известно, в Linux по умолчанию присутствует набор групп, куда входят учетные записи с определенными правами. Все эти группы может настраивать администратор, устанавливая пароли или создавая новые разделения с уникальными конфигурациями. Если возникла надобность изменить ключ доступа к группе, для этого потребуются права sudo и запущенный «Терминал».
- В консоли наберите
sudo gpasswd disk
, где disk — название группы. - Выше мы уже уточнили, что придется подтвердить подлинность root.
- В новой строке отобразится информация о том, что сейчас происходит изменение пароля для группы. Введите его.
- Если после повторного ввода все прошло успешно, тогда не появится никаких уведомлений и выведется новая строка для ввода. Можете закрывать консоль или проверять изменения.
Точно таким же образом осуществляется смена ключей абсолютно для всех существующих групп. Воспользуйтесь официальной документацией или командой passwd --help
, чтобы узнать о возможных дополнительных опциях при активации данной утилиты.
Root
Если вы ознакомились со всеми предыдущими инструкциями, то видели, что практически везде для подтверждения действий требуется вводить пароль sudo или root. В большинстве случаев эти два ключа одинаковые, поскольку при создании учетной записи администратора пользователи отмечают специальные пункты соответствия. Иногда возникает надобность сменить root-пароль или он теряется. В зависимости от сложившейся ситуации потребуется выбрать оптимальный метод.
Способ 1: Смена через sudo
Когда имеется возможность задействовать пароль sudo через стандартный сеанс «Терминала», это значит, что смена ключа доступа root должна пройти успешно всего за несколько простых шагов.
- Откройте консоль и напишите там
sudo passwd root
. Активируйте команду, нажав на клавишу Enter. - Подтвердите учетную запись sudo.
- Укажите новый подходящий ключ доступа и подтвердите его.
Способ 2: Изменение через Recovery Mode
Иногда юзер не знает одновременно root и sudo, что исключает возможность произведения каких-либо манипуляций через терминальную сессию. В таких ситуациях потребуется запускать режим восстановления и задействовать консоль с привилегиями.
- Перезагрузите компьютер и еще до появления логотипа запуска нажмите на Esc. В появившемся меню перемещайтесь с помощью стрелок на клавиатуре для выбора строки «Дополнительные параметры для Ubuntu».
- Отыщите текущую версию ядра и запустите ее в «Recovery Mode».
- Здесь вас интересует строка «Перейти в командный интерпретатор суперпользователя».
- Подтвердите запуск консоли нажатием на Enter.
- Введите команду
passwd root
. - Установите новый пароль.
- Напишите в консоли
exit
, чтобы закрыть ее, и продолжайте нормальную загрузку ОС. Теперь ключ доступа root считается измененным.
Сегодня вы узнали обо всех параметрах и командах, отвечающих за смену всевозможных паролей в операционных системах Linux. Используйте приведенные инструкции как универсальный помощник в этом деле, обращаясь к соответствующему разделу при необходимости.
I can sudo, but I don’t have the root password so I can’t su root
. Using sudo, can I change the root password?
asked Mar 17, 2011 at 12:30
So you want to run something like sudo passwd root
?
answered Mar 17, 2011 at 12:45
sakisksakisk
2,84320 silver badges18 bronze badges
0
You can also just use
sudo su
and keep the root account without password.
answered Mar 17, 2011 at 13:15
philfrphilfr
1,0365 silver badges11 bronze badges
2
Try this:
sudo passwd
Note that you also want to log in using su -
instead of su
(more info).
answered Mar 17, 2011 at 12:43
tshepangtshepang
63.2k85 gold badges220 silver badges286 bronze badges
If you have your sudo password then try the following (this is on Ubuntu 14.04LTS):
ewan@user-sbc-ihsw:~$ sudo -i
[sudo] password for ewan:
root@user-sbc-ihsw:~# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@user-sbc-ihsw:~# whoami
root
answered Dec 29, 2016 at 21:14
EwanEwan
1516 bronze badges
you can also use sudo with the «-i» option. this will log you in as root without using the su command.
sudo -i
answered Mar 17, 2011 at 14:44
You can change all these options in sudoers file, even make no password if you want( I would not recommend this though).
answered Mar 17, 2011 at 16:31
CraabCraab
511 bronze badge
Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как в Linux изменить пароль суперпользователя, если вы знаете текущий пароль, и если вы его не знаете .
-
1
Откройте терминал. Для этого нажмите Ctrl+Alt+T.[1]
(эта комбинация клавиш работает в большинстве дистрибутивов Linux со средой рабочего стола).- Если вы не пользуетесь средой рабочего стола, вы уже находитесь в терминале, поэтому перейдите к следующему шагу.
-
2
Введите su в терминале и нажмите ↵ Enter.[2]
На следующей строке появится слово Password: (Пароль). -
3
Введите текущий пароль суперпользователя, а затем нажмите ↵ Enter. Если введен верный пароль, вы получите права суперпользователя.
- Если вы ввели неверный пароль, введите su и повторите попытку.
- Пароли чувствительны к регистру.
-
4
Введите passwd и нажмите ↵ Enter. На новой строке появится Enter new UNIX password: (Введите новый пароль).
-
5
Введите новый пароль и нажмите ↵ Enter. Вводимый пароль не будет отображаться на экране.
-
6
Введите новый пароль еще раз и нажмите ↵ Enter. Вы увидите сообщение «Password updated successfully» (Пароль успешно обновлен).
-
7
Введите exit и нажмите ↵ Enter. Вы выйдете из аккаунта суперпользователя.
Реклама
-
1
Перезагрузите компьютер.
-
2
Нажмите E в меню Grub.[3]
Это меню появится сразу после перезагрузки компьютера. В большинстве случаев оно будет отображаться на экране в течение очень короткого промежутка времени.- Если вы не успели нажать E, и меню Grub исчезло с экрана, перезагрузите компьютер и попробуйте снова.
- Этот метод работает в большинстве популярных дистрибутивов Linux (Ubuntu, CentOS 7, Debian). Существует много дистрибутивов Linux, и если у вас не получается перейти в однопользовательский режим с помощью этого метода, почитайте инструкции к своему дистрибутиву (на сайте его разработчиков).
-
3
Перейдите к строке, которая начинается с linux/boot. Для этого используйте клавиши ↑ и ↓. Эту строку нужно изменить, чтобы загрузиться в однопользовательском режиме.
- В CentOS и некоторых других дистрибутивах нужная строка начинается с linux16, а не linux.
-
4
Переместите курсор в конец строки. Используйте клавиши →, ←, ↑ и ↓, чтобы поместить курсор сразу после ro.
-
5
Введите init=/bin/bash после ro. Конец строки должен выглядеть следующим образом:
ro init=/bin/bash
.- Обратите внимание на пробел между
ro
иinit=/bin/bash
.
- Обратите внимание на пробел между
-
6
Нажмите Ctrl+X. Это сообщит системе о том, что в однопользовательском режиме нужно сразу открыть терминал с правами суперпользователя.
-
7
Введите mount –o remount,rw / в терминале и нажмите ↵ Enter. Это приведет к монтированию файловой системы в режиме чтение/запись.
-
8
Введите passwd в терминале и нажмите ↵ Enter. Так как в однопользовательском режиме вы автоматически получаете права суперпользователя, нет необходимости добавлять в эту команду дополнительные параметры.
-
9
Введите новый пароль суперпользователя и нажмите ↵ Enter. Вводимый пароль не будет отображаться на экране.
-
10
Введите новый пароль еще раз и нажмите ↵ Enter. Когда система подтвердит, что оба пароля совпадают, вы увидите сообщение «Password updated successfully» (Пароль успешно обновлен).
-
11
Введите reboot –f и нажмите ↵ Enter. Эта команда перезагрузит систему в обычном режиме.
Реклама
Советы
- Пароль должен включать не менее 8 символов и содержать сочетание букв (прописных и строчных), цифр и символов.
- Чтобы изменить пароль для другого пользователя, введите su, чтобы получить права суперпользователя, а затем введите passwd <имя пользователя>.
Реклама
Об этой статье
Эту страницу просматривали 22 955 раз.
Была ли эта статья полезной?
Contents
- Background Information
-
Advantages and Disadvantages
- Benefits of using sudo
- Downsides of using sudo
-
Usage
- sudo
-
Graphical sudo
- Flavour-specific workarounds
- General workarounds
-
Users
- Allowing other users to run sudo
- Logging in as another user
-
root account
- Enabling the root account
- Re-disabling your root account
-
Other Information
- Misconceptions
- Special notes on sudo and shells
- Remove Password Prompt For sudo
- Reset sudo timeout
- Other Resources
|
March 14, 2019 PLEASE NOTE: This wiki article is being significanly rewritten as it contains a good deal of old, dated and possibly questionable material. Using caution and consulting with others on the Ubuntu Forums or Ask Ubuntu is highly recommended! |
|
Note: For help with configuring sudo privileges via its configuration file /etc/sudoers, please see Sudoers.
Background Information
In Linux (and Unix in general), there is a SuperUser named root. The Windows equivalent of root is the Administrators group. The SuperUser can do anything and everything, and thus doing daily work as the SuperUser can be dangerous. You could type a command incorrectly and destroy the system. Ideally, you run as a user that has only the privileges needed for the task at hand. In some cases, this is necessarily root, but most of the time it is a regular user.
By default, the root account password is locked in Ubuntu. This means that you cannot login as root directly or use the su command to become the root user. However, since the root account physically exists it is still possible to run programs with root-level privileges. This is where sudo comes in — it allows authorized users (normally «Administrative» users; for further information please refer to AddUsersHowto) to run certain programs as root without having to know the root password.
This means that in the terminal you should use sudo for commands that require root privileges; simply prepend sudo to all the commands you need to run as root. For more extensive usage examples, please see below. Similarly, when you run GUI programs that require root privileges (e.g. the network configuration applet), use graphical sudo and you will also be prompted for a password (more below). Just remember, when sudo asks for a password, it needs YOUR USER password, and not the root account password.
Please keep in mind, a substantial number of Ubuntu users are new to Linux. There is a learning curve associated with any OS and many new users try to take shortcuts by enabling the root account, logging in as root, and changing ownership of system files.
Example: Broken system via (ab)use of root by a new user
Please note: At the time of the post, this was the users’ first post on the Ubuntu forums. While some might call this a «learning experience», learning by breaking your system is frustrating and can result in data loss.
When giving advice on the Ubuntu Forums and IRC, please take the time to teach «the basics» such as ownership, permissions, and how to use sudo / gksu / kdesudo in such a way that new users do not break systems.
Advantages and Disadvantages
Benefits of using sudo
There are a number of benefits to Ubuntu leaving root logins disabled by default, including:
- The installer has fewer questions to ask.
- Users don’t have to remember an extra password for occasional use (i.e. the root password). If they did, they’d be likely to forget it (or record it unsafely, allowing anyone to easily crack into their system).
-
It avoids the «I can do anything» interactive login by default. You will be prompted for a password before major changes can happen, which should make you think about the consequences of what you are doing.
-
sudo adds a log entry of the command(s) run (in /var/log/auth.log). If you mess up, you can go back and see what commands were run.
-
On a server, every cracker trying to brute-force their way in will know it has an account named root and will try that first. What they don’t know is what the usernames of your other users are. Since the root account password is locked, this attack becomes essentially meaningless, since there is no password to crack or guess in the first place.
- Allows easy transfer for admin rights by adding and removing users from groups. When you use a single root password, the only way to de-authorize users is to change the root password.
- sudo can be setup with a much more fine-grained security policy.
- The root account password does not need to be shared with everybody who needs to perform some type of administrative task(s) on the system (see the previous bullet).
- The authentication automatically expires after a short time (which can be set to as little as desired or 0); so if you walk away from the terminal after running commands as root using sudo, you will not be leaving a root terminal open indefinitely.
Downsides of using sudo
Although for desktops the benefits of using sudo are great, there are possible issues which need to be noted:
-
Redirecting the output of commands run with sudo requires a different approach. For instance consider sudo ls > /root/somefile will not work since it is the shell that tries to write to that file. You can use ls | sudo tee -a /root/somefile to append, or ls | sudo tee /root/somefile to overwrite contents. You could also pass the whole command to a shell process run under sudo to have the file written to with root permissions, such as sudo sh -c «ls > /root/somefile».
- In a lot of office environments the ONLY local user on a system is root. All other users are imported using NSS techniques such as nss-ldap. To setup a workstation, or fix it, in the case of a network failure where nss-ldap is broken, root is required. This tends to leave the system unusable unless cracked. An extra local user, or an enabled root password is needed here. The local user account should have its $HOME on a local disk, _not_ on NFS (or any other networked filesystem), and a .profile/.bashrc that doesn’t reference any files on NFS mounts. This is usually the case for root, but if adding a non-root rescue account, you will have to take these precautions manually. However the advantage of using a local user with sudo is that commands can be easily tracked, as mentioned in the benefits above.
Usage
- When using sudo, your password is stored by default for 15 minutes. After that time, you will need to enter your password again.
-
Your password will not be shown on the screen as you type it, not even as a row of stars (******). It is being entered with each keystroke!
sudo
To use sudo on the command line, preface the command with sudo, as below: Example #1
sudo chown bob:bob /home/bob/*
Example #2
sudo /etc/init.d/networking restart
To repeat the last command entered, except with sudo prepended to it, run:
sudo !!
Graphical sudo
You should never use normal sudo to start graphical applications as root. Using sudo with graphical apps has the potential to corrupt your environment by allowing root to take ownership of and/or change permissions on critical files that you must own. The forums frequently see panicked requests for help from users who can no longer log in after running graphical applications under sudo.
Please note that many websites and old threads advise the use of gksu. However, such search results are obsolete. gksudo has not been updated for years and is not even available in Bionic (18.04) and higher. gksu has been replaced by pkexec, but even pkexec is being deprecated by the mainline Ubuntu developers. They have taken the position that file manipulation and editing under root should be restricted to the command line.
We can only surmise what the motives were behind this decision: perhaps there are just too many users who run into problems running graphical apps as root. In any case, running graphical apps as root now requires workarounds and additional steps.
Flavour-specific workarounds
There are a number of flavour-specific options for running graphical applications as root:
-
You can use pkexec on those flavours that support this option. As of 18.04, only Xubuntu supports this option by default, as shown in the following examples:
-
pkexec thunar pkexec mousepad /etc/fstab
-
-
By default, Kubuntu allows easy access to a root file manager: KDE Launcher → Computer → Root-Dolphin
-
From there: (→ edit file) will open up a root instance of Kate.
-
-
Mainline Ubuntu and Gnome use Nautilus as their file manager. Any flavour running Nautilus will allow you to install the package nautilus-admin which will add two python extensions to Nautilus. These extensions add options that allow root access: Open as Administrator and Edit as Administrator
-
It is also possible to install the missing Policykit files for both Nautilus and Gedit. See this site for instructions and links. A knowledgeable user could build further Policykit files for alternate file managers and editors by using the linked files as templates. They are simple XML files that can be edited with a standard text editor.
-
General workarounds
The following methods will work on all flavours:
- Use the command line. Simple text editors like nano are quite easy to learn. If you prefer a quasi-graphical file manager, install Midnight Commander. Both of these apps run under sudo with no problems. Examples:
-
sudo mc sudo nano /etc/fstab
-
-
Notwithstanding the earlier warning, it is possible to use sudo with graphical apps provided you add the -H flag. This flag is critical: it properly sets root to its own environment instead of improperly inheriting the user’s environment. Use of the -H flag is mandatory. Failing to use this flag may corrupt critical system files and prevent you from logging in.
-
With sudo -H almost any graphical app can be launched under root within any ‘buntu flavour. This includes each flavour’s default graphical editor and file manager.
An appreciable danger with sudo -H is that the -H flag is easy to forget. And all it takes is one omission for the damage to be done.
-
Users
Allowing other users to run sudo
To add a new user to sudo, open the Settings window, then Details → Users menu. First click Unlock, then you can select a user and hit Administrator.
In the terminal (for Precise Pangolin, 12.04), this would be:
sudo adduser <username> sudo
where you replace <username> with the name of the user (without the <>).
In previous version of Ubuntu
sudo adduser <username> admin
would have been appropriate, but the admin group has been deprecated and no longer exists in Ubuntu 12.04.
Logging in as another user
Please don’t use this to become root, see further down in the page for more information about that.
sudo -i -u <username>
For example to become the user amanda for tape management purposes.
sudo -i -u amanda
The password being asked for is your own, not amanda’s.
root account
Enabling the root account
|
Enabling the root account is rarely necessary. Almost everything you need to do as administrator of an Ubuntu system can be done via sudo or gksudo. If you really need a persistent root login, the best alternative is to simulate a root login shell using the following command… |
|
sudo -i
To enable the root account (i.e. set a password) use:
sudo passwd root
Use at your own risk!
|
Logging in to X as root may cause very serious trouble. If you believe you need a root account to perform a certain action, please consult the official support channels first, to make sure there is not a better alternative. |
|
Re-disabling your root account
|
If for some reason you have enabled your root account and wish to disable it again, use the following command in terminal… |
|
sudo passwd -dl root
Other Information
Misconceptions
-
Isn’t sudo less secure than su?
-
The basic security model is the same, and therefore these two systems share their primary weaknesses. Any user who uses su or sudo must be considered to be a privileged user. If that user’s account is compromised by an attacker, the attacker can also gain root privileges the next time the user does so. The user account is the weak link in this chain, and so must be protected with the same care as root.
On a more esoteric level, sudo provides some features which encourage different work habits, which can positively impact the security of the system. sudo is commonly used to execute only a single command, while su is generally used to open a shell and execute multiple commands. The sudo approach reduces the likelihood of a root shell being left open indefinitely, and encourages the user to minimize their use of root privileges.
-
-
I won’t be able to enter single-user mode!
- The sulogin program in Ubuntu is patched to handle the default case of a locked root password.
-
I can get a root shell from the console without entering a password!
- You have to enter your password.
Console users have access to the boot loader, and can gain administrative privileges in various ways during the boot process. For example, by specifying an alternate init(8) program. Linux systems are not typically configured to be secure at the console, and additional steps (for example, setting a root password, a boot loader password and a BIOS password) are necessary in order to make them so. Note that console users usually have physical access to the machine and so can manipulate it in other ways as well.
- You have to enter your password.
Special notes on sudo and shells
None of the methods below are suggested or supported by the designers of Ubuntu.
Please do not suggest this to others unless you personally are available 24/7 to support the user if they have issues as a result of running a shell as root.
To start a root shell (i.e. a command window where you can run root commands), starting root’s environment and login scripts, use:
sudo -i (similar to sudo su - , gives you roots environment configuration)
To start a root shell, but keep the current shell’s environment, use:
sudo -s (similar to sudo su)
For a brief overview of some of the differences between su, su -, and sudo -{i,s} see : Ubuntu Forums Post with nice table .
Summary of the differences found —
corrupted by user's HOME=/root uses root's PATH env vars sudo -i Y Y[2] N sudo -s N Y[2] Y sudo bash N Y[2] Y sudo su Y N[1] Y [1] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games probably set by /etc/environment [2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
For a detailed description of the differences see man su and man sudo .
Remove Password Prompt For sudo
|
If you disable the sudo password for your account, you will seriously compromise the security of your computer. Anyone sitting at your unattended, logged in account will have complete root access, and remote exploits become much easier for malicious crackers. |
|
-
This method is NOT suggested nor supported by the designers of Ubuntu.
- Please do not suggest this to others unless you personally are available 24/7 to support the user if they have issues as a result of running a shell as root.
These instructions are to remove the prompt for a password when using the sudo command. The sudo command will still need to be used for root access though.
Edit the sudoers file
Open a Terminal window. Type in sudo visudo. Add the following line to the END of the file (if not at the end it can be nullified by later entries):
<username> ALL=NOPASSWD: ALL
Replace <username> with your user name (without the <>). This is assuming that Ubuntu has created a group with the same name as your user name, which is typical. You can alternately use the group users or any other such group you are in. Just make sure you are in that group. This can be checked by going to System->Administration->Users and Groups
Example:
michael ALL=NOPASSWD: ALL
Type in ^x to exit. This should prompt for an option to save the file, type in Y to save.
Log out, and then log back in. This should now allow you to run the sudo command without being prompted for a password.
Or to do this for the system wide group sudo
root$ echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Log out, and then back in.
Reset sudo timeout
You can make sure sudo asks for password next time by running:
sudo -k
The default sudo timeout length can be changed by following this article: RootSudoTimeout.
Other Resources
-
How to fix broken sudo
-
How to run Gedit and Nautilus as Root
-
Ubuntu Forums policy on enabling the root account
-
sudo man page
-
sudoers file man page
CategoryCommandLine CategorySecurity CategoryCommandLine
Пользователь root (или суперпользователь) — это специальная учетная запись, которая присутствует во всех Linux и Unix-подобных системах. Он имеет полный доступ к каждой команде и любому ресурсу в системе без каких-либо ограничений.
Если вы заходите в Ubuntu из другого дистрибутива Linux, вы можете спросить, что такое пароль root по умолчанию или как изменить пароль root. По умолчанию в Ubuntu учетная запись пользователя root отключена по соображениям безопасности.
Временное переключение на root
Пользователям Ubuntu рекомендуется выполнять системные административные задачи, предоставляя привилегии sudo обычным пользователям. Sudo позволяет авторизованным пользователям запускать программы от имени другого пользователя, обычно от имени пользователя root.
Первоначальный пользователь, созданный установщиком Ubuntu, уже является членом группы sudo. Скорее всего, вы вошли в систему как пользователь, которому уже предоставлены права администратора.
Чтобы временно повысить привилегии пользователя root, выполните команду с префиксом sudo
:
sudo command-name
При первом использовании sudo в сеансе вам будет предложено ввести пароль пользователя.
Чтобы временно переключиться на учетную запись root в текущем сеансе входа в систему, вы можете использовать команду sudo su
or или sudo -i
и ввести пароль пользователя:
sudo su -
Запустите whoami
команду, чтобы убедиться, что пользователь изменился:
whoami
root
Изменение корневого пароля
Пользователь root отключен, но это не означает, что учетная запись root удалена. Вход в систему от имени root невозможен, поскольку для учетной записи root не задан пароль.
Если по какой-либо причине вам необходимо включить учетную запись root , все, что вам нужно сделать, это установить пароль для пользователя root. В Ubuntu вы можете установить или изменить пароль учетной записи пользователя с помощью passwd
команды.
Чтобы изменить пароль пользователя root в Ubuntu, введите в качестве пользователя sudo следующую команду :
sudo passwd root
Вам будет предложено ввести и подтвердить новый пароль root.
При установке пароля убедитесь, что вы используете уникальный и надежный пароль. Наличие надежного пароля является наиболее важным аспектом безопасности вашей учетной записи. Часто надежный пароль содержит не менее 16 символов, как минимум одну заглавную букву, одну строчную букву, одно число и один специальный символ.
Пароль не отображается на экране при его вводе.
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Это оно! Пароль root был изменен.
Вывод
По умолчанию в Ubuntu для учетной записи root не задан пароль. Рекомендуемый подход — использовать sudo
команду для запуска команд с привилегиями корневого уровня.
Чтобы иметь возможность войти в систему как root напрямую, вам нужно установить пароль root.