Setting linux root password

How to change root password in Ubuntu Linux

I am a new Ubuntu Linux server admin. How can I change root password in Ubuntu Linux server using the bash shell over ssh based session?

By default, the root user account password is locked in Ubuntu Linux for security reasons. As a result, you can not login using root user or use a command such as ‘su -‘ to become a SuperUser.

Tutorial details
Difficulty level Easy
Root privileges Yes
Requirements Ubuntu
Est. reading time 1m

You need to use the passwd command to change the password for user accounts on Ubuntu Linux. A typical user can only change the password for his/her account only. A SuperUser (root) can change the password for any user account. Your user account info stored in /etc/passswd and an encrypted password stored in /etc/shadow file.

How to change root password in Ubuntu

The procedure to change the root user password on Ubuntu Linux:

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

  1. Type the following command to become root user and issue passwd:
    sudo -i
    passwd
  2. OR set a password for root user in a single go:
    sudo passwd root
  3. Test it your root password by typing the following command:
    su —

How to disable your root account on Ubuntu

One can disable the root account by typing the following command:
$ sudo passwd -dl root
OR
$ sudo passwd —delete —lock root
Sample session from the above commands:

Understanding passwd command option

  • -d OR —delete : Delete a user’s password (make it empty for root user). This is a quick way to disable a password for an account. It will set the named account passwordless.
  • -l OR —lock : Lock the password of the named account such as root. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a ‘!’ at the beginning of the password)
  • root : Lock and disble root account i.e. re-disabling your root account

A note about root password on an Ubuntu server/desktop

Enabling the root account by setting the password is not needed. Almost everything you need to do as SuperUser (root) of an Ubuntu server can be done using sudo command. For example, restart apache server:
$ sudo systemctl restart apache2
You can add additional user to sudo by typing the following command:
$ sudo adduser sudo
For example, add a user named tom to sudo:
$ sudo adduser tom sudo
You can in as another user say logging as tom from jerry account:
< jerry@nixcraft >$ sudo -i -u tom
When prompted enter jerry’s password i.e. the password being asked for is your own, not tom’s. For more info see “How to create a new sudo user on Ubuntu Linux server” and RootSudo.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

How To Linux Set or Change User Password

Linux Set User Password

Type following passwd command to change your own password:
$ passwd
Sample Outputs:

The user is first prompted for his/her old password if one is present. This password is then encrypted and compared against the stored password. The user has only one chance to enter the correct password. The super user is permitted to bypass this step so that forgotten passwords may be changed. A new password is tested for complexity. As a general guideline, passwords should consist of 10 to 20 characters including one or more from each of following sets:

  1. Lower case alphabetics
  2. Upper case alphabetics
  3. Digits 0 thru 9
  4. Punctuation marks/spacial characters

Linux change password for other user account

You need to login as the root user, type the following command to change password for user vivek:
# passwd vivek
OR
$ sudo passwd vivek
Sample putput:

  • vivek – is username or account name.

Passwords do not display to the screen when you enter them. For example:

Linux changing user password using passwd

Linux Change Group Password

When the -g option is used, the password for the named group is changed. In this example, change password for group sales:
# passwd -g sales
The current group password is not prompted for. The -r option is used with the -g option to remove the current password from the named group. This allows group access to all members. The -R option is used with the -g option to restrict the named group for all users.

Changing user passwords on Linux

As a Linux system administrator (sysadmin) you can change password for any users on your server. To change a password on behalf of a user:

  1. First sign on or “su” or “sudo” to the “root” account on Linux, run: sudo -i
  2. Then type, passwd tom to change a password for tom user
  3. The system will prompt you to enter a password twice

To change or set a new root (superuser) password type:
$ sudo passwd

Forcing Linux user to change password at their next login

By default, Linux passwords never expire for users. However, we can force users to change their password the next time they log in via GUI or CLI methods. The syntax is straightforward:
$ sudo passwd -e
$ sudo passwd —expire
Let us immediately expire an account’s password:
$ sudo passwd -e marlena
The system will confirm it:

When user try to login via ssh command, they will see the following on screen:

Locking and Unlocking user password of the named account

Note that the following local command does not disable the account. The user may still be able to login using another authentication token, such as an SSH key. To disable the account, administrators should use either usermod —expiredate 1 or sudo passwd —expire command. Also, users with a locked password are not allowed to change their password to get around the security policy set by sysadmin.

We can lock the password as follows:
$ sudo passwd -l
This option disables a password by changing it to a value which matches no possible encrypted value (it adds a ! at the beginning of the password in the /etc/shadow file. Want to unlock the password, try:
$ sudo passwd -u
The above command option re-enables a password by changing the password back to its previous value. In other words, to the value before using the -l option.

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

A note about setting up a secure Linux password

Compromises in password security typically result from careless password selection. Avoid common password such as:

  1. Words which appears in a dictionary
  2. Your first and last name
  3. Pet names
  4. Kids or spouses names
  5. License number
  6. Date of birth (DoB)
  7. Home or office address

I strongly recommend that you generate a unique password for all user accounts using your chosen password manager.

Conclusion

The passwd command line utility is used to update or change user’s password. The encrypted password is stored in /etc/shadow file and account information is in /etc/passwd file. To see all user account try grep command or cat command as follows:
$ cat /etc/passwd
$ grep ‘^userNameHere’ /etc/passwd
$ grep ‘^tom’ /etc/passwd
The guidance given in this quick tutorial should work with any Linux distribution, including Alpine, Arch, Ubuntu, Debian, RHEL, Fedora, Oracle CentOS, SUSE/OpenSUSE and other popular Linux distros.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

Как сменить пароль в Linux

Операционная система Linux изначально проектировалась как многопользовательская и безопасная система. Поэтому здесь у каждого пользователя есть пароль. Полномочия пользователей и способ их аутентификации заложен на уровне системы.

Иногда возникает необходимость изменить пароль в Linux. Во-первых, это может произойти, если вы забыли пароль или просто хотите его поменять. Другая же причина — это безопасность. Пароли нужно менять по крайней мере несколько раз в год, и, если вы системный администратор компании, важно заставить ваших пользователей тоже менять пароли время от времени, и у Linux для этого тоже есть инструменты. В этой статье мы рассмотрим, как поменять пароль в Linux.

Основы

В Linux есть несколько утилит с помощью которых может быть выполнена смена пароля Linux. В этой статье мы будем рассматривать только способы сделать это с помощью терминала, с графическими способами, я думаю, вы и так без труда разберётесь, к тому же они не дают нужной нам гибкости.

Список пользователей в Linux хранится в файле /etc/passwd, вы можете без труда открыть его и посмотреть, пароли же выделены в отдельный файл — /etc/shadow. Этот файл можно открыть только с правами суперпользователя, и, более того, пароли здесь хранятся в зашифрованном виде, поэтому узнать пароль Linux не получиться, а поменять вручную будет сложно.

В большинстве случаев смена пароля выполняется с помощью утилиты passwd. Это очень мощная утилита, она позволяет не только менять пароль, но и управлять сроком его жизни. У неё такой синтаксис:

$ passwd опции пользователь

Рассмотрим опции, чтобы лучше ориентироваться в использовании утилиты:

  • -d — удалить пароль пользователя, после этого он не сможет войти
  • -e — сделать пароль устаревшим
  • -i — через сколько дней после того, как пароль устарел, отключить аккаунт, если пользователь не сменил пароль
  • -l — запретить пользователю входить в систему
  • -n — минимальное количество дней между сменами пароля
  • -S — отобразить информацию об аккаунте
  • -u — отменяет действие параметра -l
  • -x — максимальное количество дней, пока пароль можно использовать.
  • -w — количество дней, после которых нужно предупреждать пользователя о том, что надо сменить пароль.

Возможно, сейчас всё выглядит очень непонятно, но на примерах станет проще. Мы рассмотрим, зачем и в каких случаях нужно использовать все эти опции, чтобы сменить пароль в Linux. Переходим к практике.

Если вы забыли пароль и вам его надо не просто сменить, а сбросить, вам будут полезными эти две статьи:

Как сменить пароль пользователя

Вы можете сменить свой пароль, когда захотите. Для этого вам не нужно особых прав суперпользователя, только знать свой текущий пароль. Просто откройте терминал и выполните утилиту passwd без параметров:

Дальше необходимо ввести новый пароль — и готово, теперь он измеён. Он кодируетсятся с помощью необратимого шифрования и сохраняется в файле /etc/shadow Но заметьте, что вы не можете использовать здесь любой пароль. Система Linux заботится о том, чтобы пользователи выбирали достаточно сложные пароли. Если он будет очень коротким или будет содержать только цифры, вы не сможете его установить.

Общие требования для пароля такие: должен содержать от 6 до 8 символов, причём один или несколько из них должны относиться как минимум к двум из таких множеств:

  • Буквы нижнего регистра
  • Буквы верхнего регистра
  • Цифры от нуля до девяти
  • Знаки препинания и знак _

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

Как сменить пароль другого пользователя

Со своим паролем всё понятно, но если вы захотите поменять код для другого пользователя, то придётся вопользоваться правами суперпользователя. А во всём остальном процесс тот же:

sudo passwd user

Здесь user — это пользователь, для которого нужна смена пароля Linux. Требования для пароля такие же: вы не сможете установить слишком простой пароль.

Вы можете удалить пароль Linux для пользователя, тогда он не сможет войти в систему:

sudo passwd -d user

Как поменять пароль группы

Наверное вы видели в своей системе файл /etc/gshadow. Этот файл эквивалентен /etc/shadow, только содержат пароли для групп. Вы не можете войти от имени группы, но зато, зная её пароль, можете получить доступ к предоставляемым ею функциям в отдельной командной оболочке с помощью команды newgrp.

Для установки пароля на группу используется утилита очень похожая на passwd — gpasswd. Естественно, нам нужны права суперпользователя. Например:

sudo gpasswd disk

Теперь попробуем получить полномочия группы:

После ввода пароля мы временно оказываемся в этой группе и можем работать с теми файлами, к которым разрешен доступ этой группе. Чтобы удалить пароль Linux из группы, используется опция -r:

sudo gpasswd -r disk

Как заставить пользователя поменять пароль

Безопасность сервера — это одна из самых важных вещей. Часто причиной проблем с безопасностью становятся сами пользователи, которые недостаточно часто меняют пароли или делают их слишком простыми. Если вы администратор, у вас есть возможность заставить пользователей выполнять смену пароля время от времени, а также автоматически отсылать им предупреждения о том, что пора сменить пароль пользователя Linux.

Всё это позволяет сделать утилита passwd. Сначала давайте рассмотрим, как посмотреть информацию о пароле в passwd. Для этого используется опция -S:

  • Первое поле — имя пользователя
  • Второе поле показывает одно из значений: P — пароль установлен, L — пользователь заблокирован, NP — пароля нет.
  • 07/21/2016 — дата последнего изменения пароля.
  • 0 — минимальное время до смены пароля
  • 99999 — максимальное время действия пароля
  • 7 — за сколько дней нужно предупреждать об истечении срока действия пароля
  • -1 — через сколько дней пароль нужно деактивировать.

Например, через тридцать дней после смены, пароль пользователя станет устаревшим:

sudo passwd -x 30 test

За три дня до того, как пароль устареет, предупредим пользователя, что его нужно сменить:

sudo passwd -w 3 test

Если он этого не сделает в течении пяти дней, аккаунт нужно отключить:

sudo passwd -i 3 test

Пароль можно менять не чаще, чем раз в 10 дней:

sudo passwd -n 10 test

Смотрим теперь, что у нас получилось:

sudo passwd -S test

Как поменять пароль root

Изменить пароль Linux для root очень просто, точно так же, как и для любого другого пользователя. Только нужно иметь права суперпользователя. Вот так это будет выглядеть:

sudo passwd root

Всё работает. Таким же способом можно задать пароль root в Ubuntu.

Как вручную поменять пароль

Операционная система Linux не была бы Linux, если бы мы не имели возможность настроить пароль вручную безо всяких утилит. Как я уже говорил, пароли хранятся в файле /etc/shadow. И хранятся они там в зашифрованном виде. Расшифровать пароль невозможно.

Когда система сохраняет пароль, она выполняет шифрование по определённому алгоритму и сохраняет уже зашифрованный результат, а когда пользователю нужно войти в систему, она просто берёт его пароль, опять же шифрует и сверяет с тем, что хранится в /etc/shadow. Если совпадает — пользователь авторизован.

Даже таким способом сменить пароль пользователя Linux не так уж сложно. Итак, сначала нам нужно получить зашифрованный пароль. Это можно сделать несколькими способами, например с помощью openssl:

openssl passwd -1 -salt xyz yourpass

Замените xyz на любую случайную комбинацию символов, чем больше, тем лучше; yourpass — это ваш новый пароль.

Скопируйте полученный результат в буфер обмена, затем откройте файл /etc/shadow и найдите там нужного пользователя. Я хочу сменить пароль Linux для test:

sudo vi /etc/shadow

Синтаксис этого файла такой:

имя_пользователя: пароль: .

Следующее поле указывает на последнее изменение пароля в виде количества дней, прошедших с первого января 1970. Остальные поля нас не интересуют, да и вы с ними очень просто разберётесь, просто сопоставив данные.

Теперь замените пароль на полученный выше и сохраненный в буфер обмена. Сохраните файл и можете пробовать войти под новым паролем:

Всё работает. Как я уже говорил, есть ещё несколько алгоритмов шифрования, с помощью которых вы можете получить пароль, вот они:

makepasswd —clearfrom=- —crypt-md5 mkpasswd -m sha-512 -S salt -s
perl -e ‘print crypt(«YourPass», «salt»),»\n»‘
openssl passwd -crypt -salt XRYourPass

Во всех этих примерах salt — это случайная строка для увеличения надёжности шифрования, а YourPass — ваш пароль. Что делать с полученным данными вы уже знаете.

Выводы

Из этой статьи вы узнали, как сменить пароль Linux. Я рассмотрел все возможные способы и даже не очень стандартные. Если у вас остались вопросы, пишите комментарии!

Источник

Читайте также:  Run windows programs under linux
Оцените статью