How to Change a Password in Linux: Root and Other Users
A password is the first line of defense when securing any system, including Linux. While passwordless SSH is a reliable alternative, we still recommend using a password to secure your VPS.
Changing the user password in Linux frequently helps reinforce security and makes the system harder to breach.
This article will show you how to change the password on your server using bash Linux commands and provide some tips on creating a strong one.
How to Change Your User Password
The first step is accessing your VPS using SSH. If you need more information, we have a complete guide on connecting to your VPS using the PuTTY SSH client. Alternatively, connect to SSH via our browser-based terminal:
- Once you’re in the command line for Linux, change password using this command:
- If you’re logged in not as a root user, you will need to enter your current password.
- After that, it will prompt you to enter the new password in the command line twice.
- Your password has been changed, you should see this message confirming it:
Important! If you’re logged in as a root user and don’t specify a user account, you’ll be changing the root password. Proceed with caution.
How to Change Passwords for Other Users
The bash passwd command can also change the password of another user account in the system. To do so, follow the steps above:
- Log in as the root user and use the passwd command followed by the user’s name.
For example, if you want to change the password of a user named edward, the command will look like this:
- Next, the terminal will prompt the same request to enter the new password in the command line twice.
- Once you have updated the other user password by using the passwd command, the following output will appear:
How to Change User Password Without the Old One
In some cases, you need to reset the password of a regular user who forgot their password.
The easiest way to do that is to log in as a root or sudo user, as you can use the passwd [username] command to change the user password easily.
Remember that non-root sudo users will have to use the sudo passwd command instead. Plus, they will have to enter their passwords to proceed with the command.
However, the command may require the user’s forgotten password if the system uses the LDAP authentication.
For example, you want to change the old password of a regular user named edward. When you enter the sudo passwd edward command on the terminal, you’ll have to enter the user password for edward.
To solve this problem, you can copy another user’s encrypted password within the /etc/shadow file. Use this command to open the file using the Nano text editor:
Look for the user whose password you want to change. The encrypted password is the string of characters after the user name, between the two colons (:).
Find another user whose password you know. For example, you know the password for the user leon, so you can use it as a temporary password for edward. Copy the encrypted password string and use that to replace edward’s old password.
Now that the user edward has the same password as user leon, use the passwd command to set a new one:
Enter the temporary password, and the terminal will prompt you to set a new password for edward.
Passwords and Linux
Password management in Linux involves two important files. The first is /etc/passwd, which contains all the users’ information, including the encrypted password, group ID, and home directory.
Use the following command to see the content of /etc/passwd:
The second Linux file strongly related to passwords is /etc/shadow. In the shadow file, you will be able to see the encrypted user passwords, SSH key ownership, and other related information such as the last password change and password expiration date.
Use the following command to see the content of /etc/shadow:
The last password change and password expiration date show which users haven’t updated their passwords recently and when they need to change them.
How to Create a Strong Password
Creating a strong user password helps prevent unauthorized users from logging in to your VPS account. A strong password must be unique, long, and contain no personal information.
Having a unique password means using it exclusively for one user account. For example, your VPS password should be different from the user password for your bank account.
If you reuse the same user password for multiple accounts, it only takes one compromised account for unauthorized users to log in to other accounts. Thus, you face higher risks of losing sensitive information and suffering financial losses.
Pro Tip
Use a password manager like 1Password or LastPass to store your unique passwords safely.
In addition, create a longer user password. Ideally, it should have more than 12 characters to make it harder to crack.
You can also try using a passphrase instead of creating a password. The passphrase should contain several words to make it long enough while still easy to remember, like CloudHostingIsBestForUptime.
When creating a passphrase like this, avoid using common sentences and song lyrics, as they are easy to guess. Lastly, avoid using personal information in your passwords, such as your name, initials, birthday, and hometown.
Use special symbols and numbers instead of well-known letters. For example, 41@bAm@! = Alabama! – easy to recall, harder to crack. Another idea is to use a pattern on the keyboard instead of actual words.
However, avoid common patterns like qpzmwoxn. Mixing these two methods will give you an even stronger password.
Change your password immediately if you experience a security breach or think that your account has been compromised.
Expert Tip
One key thing to remember is that even though the complexity of a password is important, the password’s length will always outweigh its complexity.
Cyber Security Specialist
Bonus: How to Set a Routine Password Change
One of the best ways to reinforce your security is to change passwords in Linux often. Unfortunately, some may overlook this and use the same password for a long time.
If you are the administrator of your Linux server, you can force other users to change their passwords. To do so, use the commands – chage and passwd with the —expire option.
Using the chage Command
The chage command changes the last password change date, password expiration date, and the limit of days between password changes.
There are several options you can use with the chage command. First, use the -l option to see the account information:
The output will display information like last password change, password expiration date, and the maximum number of days between password change. It should look like this:
You can make users change their passwords regularly by changing the maximum number of days between password changes. To do so, use the -M option in the following syntax:
For example, when you want to change the interval to 90 days for the user edward, use this command:
Once the user logs in 90 days after the last password change, they will have to change the password.
Important! Make sure to use an uppercase M, as a lowercase m will change the minimum number of days between password changes.
Using the passwd –expire Command
The next method to force other users to change their passwords is the passwd command using the —expire option. It will immediately expire the user’s password and force them to create a new one when they log in.
Use the following command:
The user will see this prompt on their next login:
The user must enter their current password and then create a new one to continue.
Conclusion
Passwords are crucial to protect your VPS and enhance its security. Changing passwords frequently makes your server security more robust and minimizes the risk of unauthorized access.
The Linux password change process is quite straightforward, as you just have to run a simple command and enter the new password. Also, these methods work on any Linux distribution.
If you have multiple users in the system, encourage them to change their password frequently by setting the maximum time a password is valid.
Master Other Linux Commands
Edward is a content editor with years of experience in IT writing, marketing, and Linux system administration. His goal is to encourage readers to establish an impactful online presence. He also really loves dogs, guitars, and everything related to space.
Leo is a WordPress fanatic and contributor. He likes keeping up with the latest WordPress news and updates, and sharing his knowledge to help people build successful websites. When he’s not working, he contributes to WordPress documentation team and pampers his dogs.
Как сменить пароль в 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 <<< YourPass
mkpasswd -m sha-512 -S salt -s <<< YourPass
perl -e ‘print crypt(«YourPass», «salt»),»\n»‘
openssl passwd -crypt -salt XRYourPass
Во всех этих примерах salt — это случайная строка для увеличения надёжности шифрования, а YourPass — ваш пароль. Что делать с полученным данными вы уже знаете.
Выводы
Из этой статьи вы узнали, как сменить пароль Linux. Я рассмотрел все возможные способы и даже не очень стандартные. Если у вас остались вопросы, пишите комментарии!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How To Use The Passwd Command In Linux
The passwd command modifies passwords for user accounts and manages the password validity period. This is a must-know utility for user account administration.
This article shows examples of how to use the passwd command in Linux, along with all the available options.
- Access to the terminal
- Superuser or root privileges (sudo)
Note: To check if you have sudo privileges, type sudo whoami in the terminal.
passwd Command in Linux With Examples
Using the passwd command, a superuser changes and modifies settings for any user. Regular users are only allowed to change their own password.
The general command is:
The terminal prints out what user you are changing the password for. Type your current password, and then define and confirm your new password.
Any password that does not meet basic requirements is rejected and a user must re-enter a new password. Using a strong password is an important security aspect, and it helps prevent brute force attacks.
See Password Status Info
Using passwd with the —status option displays all the information about a password and the validity periods. The shorter version is -S :
Check another user’s password status by entering:
The password status has seven fields:
1. A user’s login name.
2. Whether a user has a locked password (L), no password (NP), or a password (P).
3. Date of last password change.
4. Minimum password age.
5. Maximum password age.
6. Warning period for password change.
7. Inactivity period for the password change.
The last three fields are in days.
See Password Status Info for All the Accounts
Check the status info for all accounts using passwd with the sudo command with the -S and -a options, or the extended version —all :
Note: You can create a sudo user and assign elevated permissions. Make sure it’s a trusted user.
Change a User Password
To change a specific user’s password, run the passwd command with sudo privileges and the account you wish to update:
This option comes in handy if a user has forgotten their password.
Note: Reset or change the sudo or root password in case you forget it.
Delete User Password
If a user has a password and you need to remove it, use:
When you check the password status, it changes the second field from P to NP:
The passwd —delete and passwd -d commands are a quick way to disable a password for an account.
Expire Account Password
To force expire a password use the —expire or -e options with the passwd command:
When you check the status, the date of the last password change is now 01/01/1970. The next time this user logs in, they must change their password.
Set Number of Days After the Password Expires and the Account Deactivates
An account can automatically deactivate after its password has expired and not changed for a certain number of days. Use the -i or —inactive option and set the number of days as an integer:
The last number in the status changes to the number of days you set for that user.
Set the Minimum Number of Days Between Password Changes
To change the minimum number of days between password changes, use the —mindays or -n option with the number of days as an integer:
In the status report for that user, the set number appears after the date.
Set the Maximum Number of Days for Which the Password Remains Valid
To change the maximum number of days between password changes, use the —maxdays or -x option with the number of days as an integer:
The status of that user shows that maximum number of days for the password validity has changed.
Change the Expired Password
Once a password expires, a prompt appears during next login to change the password. Enter the old password and then a new one twice for confirmation. In this example, the expiry was root enforced:
Note: In this example, the su command switches to the user account, but use the sudo command if possible. Read about the difference between sudo and su.
Display the Warning for Expiring Password
The warning period message displays for expiring passwords. Use the option —warndays or -w to set how many days before the expiry the warning appears:
Lock the Password
Locking a password makes the user unable to log in using their password. However, they are still able to log in using other authentication methods. To lock a password, use:
The password status for that user changes to L. In the example below, it changes from P to L:
Unlock the Password of an Account
To unlock a password for a locked account (L), use the —unlock or -u option:
The password status changes from locked (L) to the previous state of the password for the account, allowing the user to log in regularly.
Use the Quiet Mode
Quiet mode hides the “Changing the password for <username>” message:
The password status changes from locked (L) to the previous state of the password for the account, allowing the user to log in regularly.
The passwd -q command is useful when you do not want to display the username you are changing the password for on your screen.
Note: When you need to update passwords of multiple users, use the chpasswd command.
Change Password for Repository Named “Repo”
For more advanced usage, the /etc/nsswitch.conf file specifies the repositories where the password changes happen. Specify the repository with the command:
Change the Root Directory for the passwd Command Process
The passwd command process runs from the default root directory. Modify the root directory by running the —root option:
Or the -R option:
You need to set a password for root for the information update.
See All passwd Commands
There are numerous commands to use with the passwd tool. List all the options if you forget any by running:
A list of all the options along with a short description prints out:
The passwd command is vital for managing account security, both for an individual user and a system administrator. Automating password validity periods is convenient and easily configurable.
If you find it hard to keep track of all the different passwords and changes, there are many enterprise solutions for password management.
Основы Linux от основателя Gentoo. Часть 3 (3/4): Управление аккаунтами в Linux
В этом разделе мы познакомимся с механизмом управления аккаунтами в Linux и начнем с файла /etc/passwd, в котором определены все пользователи, которые существуют в системе. Вы можете посмотреть свой файл /etc/passwd, набрав команду less /etc/passwd. Каждой строкой в /etc/passwd определяется аккаунт пользователя. Вот пример из моего /etc/passwd:
drobbins:x:1000:1000:Daniel Robbins:/home/drobbins:/bin/bash
Как видите, в одной строке не так уж много информации. Каждая из них содержит несколько полей, разделённых «:». Первое поле отвечает за имя пользователя (drobbins), второе поле содержит «x». На устаревших Linux-системах второе поле содержало зашифрованных пароль для аутентификации, но фактически, сейчас все Linux-системы хранят эту информацию в другом файле. Третье поле отвечает за числовой пользовательский идентификатор, связанный с конкретным пользователем, а четвертое поле ассоциирует этого пользователя с конкретной группой; скоро мы увидим, где определена группа 1000. Пятое поле содержит текстовое описание аккаунта, в нашем случае это имя пользователя. Шестое поле определяет домашний каталог пользователя, седьмое — устанавливает стартовую оболочку пользователя, которая будет автоматически запускаться когда пользователь входит в систему.
/etc/passwd, советы и хитрости
Вы вероятно заметили, что в системе намного больше пользовательских аккаунтов, которые определены в /etc/passwd, чем тех, которые логинятся в систему на самом деле. Всё это потому, что различные компоненты Linux используют некоторые аккаунты для повышения безопасности. Обычно, такие системные аккаунты имеют идентификатор (uid) меньший 100, и у многих из них в качестве стартовой оболочки установлена /bin/false. Так как эта программа ничего не делает, кроме как выходит и возвращает код ошибки, это эффективно препятствует использованию этих аккаунтов в качестве обычных аккаунтов для логина — т.е. они предназначены только для внутрисистемного пользования.
/etc/shadow
Итак, сами пользовательские аккаунты определены в /etc/passwd. Системы Linux вдобавок к /etc/passwd содержат его файл-компаньон /etc/shadow. Он, в отличие от /etc/passwd, доступен для чтения только суперпользователю и содержит зашифрованную информацию о паролях. Взглянем на образец строки из /etc/shadow:
drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0
Каждая строка определяет информацию о пароле конкретного аккаунта, поля в ней разделены знаком «:». Первое поле определяет конкретный пользовательский аккаунт, которому соответствует данная «теневая» запись. Во втором поле содержится зашифрованный пароль. Оставшиеся поля описаны в таблице ниже:
поле 3 — количество дней с 01.01.1970 до момента, когда пароль был изменен
поле 4 — количество дней до того, как будет разрешено сменить пароль («0» — «менять в любое время»)
поле 5 — количество дней до того, как система заставит пользователя сменить пароль («-1» — «никогда»)
поле 6 — количество дней до истечения срока действия пароля, когда пользователь получит предупреждение об этом («-1» — «не предупреждать»)
поле 7 — количество дней после истечения срока действия пароля, по прошествии которых аккаунт будет автоматически отключен системой («-1» — «не отключать»)
поле 8 — количество дней, прошедшее с момента отключения этого аккаунта («-1» — «этот аккаунт включен»)
поле 9 — зарезервировано для будущего использования
/etc/group
Теперь взглянем на файл /etc/group, который определяет группы в системе Linux. Вот примерная строка из него:
drobbins:x:1000:
Формат полей файла /etc/group следующий: первое поле определяет имя группы, второе поле — это поле остаточного пароля, которое сейчас просто зарезервировано x, и третье поле определяет числовой идентификатор для конкретной группы. Четвертое поле (которое пусто в примере выше) определяет всех членов группы.
Вспомните, что в нашем образце строки из /etc/passwd есть «ссылка» на группу с идентификатором 1000. Мы сможем поместить пользователя drobbins в группу drobbins, даже несмотря на отсутствие имени drobbins в четвертом поле /etc/group.
Примечания о группах
Замечание насчет соответствия пользователей с группами: на некоторых системах каждый новый логин-аккаунт связан с группой, имеющей то же имя (и обычно идентификатор). На других системах все логин-аккаунты будут принадлежать к одной группе пользователей. Какой из этих методов выбрать зависит от вас. Создание соответствующей группы для каждого пользователя имеет преимущество в том, что позволяет им более легко контролировать их собственный доступ просто помещая доверенных друзей в свою личную группу.
Ручное создание пользователей и групп
Теперь, я покажу как создать аккаунты для пользователя и группы. Лучший путь узнать как это сделать это добавить нового пользователя в систему вручную. Для начала убедитесь что вашей переменной окружения EDITOR соответствует ваш любимый редактор:
# echo $EDITOR
vim
Если это не так, то вы можете установить переменную EDITOR, набрав что-то, вроде:
# export EDITOR=/usr/bin/emacs
# vipw
Теперь ваш редактор должен быть запущен с уже загруженным /etc/passwd экране. Изменяя системные файлы passwd и group обязательно используйте команды vipw и vigr. Они имеют повышенные меры предосторожности, оберегая ваши файлы от участи быть испорченными.
Редактирование /etc/passwd
Итак, у вас уже есть готовый файл /etc/passwd, добавьте теперь следующую строку:
testuser:x:3000:3000:LPI tutorial test user:/home/testuser:/bin/false
Мы только что добавили пользователя «testuser» с идентификатором 3000. Мы определили его в группу с таким же идентификатором, которую еще не создали. Но мы можем добавить его к уже имеющейся группе пользователей, если нужно. У этого пользователя установлен комментарий, гласящий «LPI tutorial test user», домашний каталог установлен как «/home/testuser», а командная оболочка — как «/bin/false», в целях безопасности. Если бы мы создавали не тестовый аккаунт, мы бы установили командную оболочку как «/bin/bash». Отлично, теперь сохраните файл и выходите.
Редактирование /etc/shadow
Сейчас нам нужно добавить запись в /etc/shadow для этого пользователя. Для этого наберите vipw -s. Вас как всегда встретит ваш любимый редактор в котором уже открыт файл /etc/shadow. Теперь скопируйте строку существующего пользовательского аккаунта (того, у которого есть пароль и запись которого длиннее стандартных записей системных аккаунтов)
drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0
Замените имя пользователя в скопированной строке на имя вашего пользователя и убедитесь что все поля (особенно старый пароль) установлены как вам надо:
testuser:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0
Теперь сохраните и закройте.
Установка пароля
Вы вернетесь к командной строке. Теперь, самое время задать пароль для вашего нового пользователя.
# passwd testuser
Enter new UNIX password: (enter a password for testuser)
Retype new UNIX password: (enter testuser’s new password again)
Редактирование /etc/group
Теперь /etc/passwd и /etc/shadow готовы и самое время как следует настроить /etc/group. Для этого, наберите:
# vigr
Перед вами появится ваш /etc/group файл, готовый для редактирования. Итак, если ранее вы решили добавить созданного пользователя к уже имеющейся группе, то вам не понадобиться создавать новую группу в /etc/groups. Если это не так, вам нужно добавить новую группу для этого пользователя, введите следующую строку:
testuser:x:3000:
Теперь сохраните и закройте.
Создание домашней директории
Мы почти закончили. Выполните следующие команды для создания домашнего каталога testuser’а:
# cd /home
# mkdir testuser
# chown testuser:testuser testuser
# chmod o-rwx testuser
Наш каталог пользователя на месте и аккаунт готов к использованию. Уже почти готово. Если вы собираетесь использовать этот аккаунт, вам надо будет воспользоваться vipw для смены стартовой оболочки на /bin/bash, так, чтобы пользователь смог войти.
Утилиты администрирования учетных записей
Вы уже знаете как вручную добавить новые аккаунты и группы, давайте же теперь рассмотрим различные, экономящие время, утилиты для управления аккаунтами под Linux. Из-за некоторых ограничений мы не будем рассматривать множество деталей, описывающих эти команды. Запомните — вы всегда можете получить больше информации о какой-либо команде если посмотрите её man-страничку. Если вы планируете сдавать LPIC 101 экзамен, вам следует провести побольше времени на ознакомление с каждой из этих команд.
newgrp — По умолчанию, любой файл, который создает пользователь, сразу же присваивается к группе, в которой он состоит, определенной в /etc/passwd. Если пользователь принадлежит к другим группам, он или она может набрать newgrp thisgroup чтобы стать членом группы thisgroup. Затем, любые новые созданные файлы унаследуют членство в thisgroup.
chage — Команда chage используется для просмотра и изменения настроек срока действия паролей, сохраненных в /etc/shadow.
gpasswd — Основная утилита управления группами
groupadd/groupdel/groupmod — Используются для добавления/удаления/изменения групп в /etc/group
useradd/userdel/usermod — Используются для добавления/удаления/изменения пользователей в /etc/passwd. Эти команды могут выполнять и другие полезные функции. Смотрите man для получения дополнительной информации.
pwconv/grpconv — Используются для преобразования passwd и group файлов старого образца в новые shadow passwords. Фактически, все Linux системы уже используют shadow passwords, так что вам никогда не придется использовать эти команды.
Перевод выполнил коллективный разум с помощью notabenoid.com. Спасибо следующим benoid-юзерам (в алфавитном порядке): kindacute, nekjine, Rich. А также инициатору всей серии переводов, VBart.
Продолжение следует.
Об авторах
Daniel Robbins 
Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.
Chris Houser
Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.