Так как Linux — платформа многопользовательская, да еще и с особым уклоном в безопасность, то приходится иметь дела с полномочиями и паролями. Последний особенно часто нужен даже для выполнения тривиальных задач вроде установки свежего программного обеспечения.
Как и в других системах, пароли в Linux иногда приходится менять. В большинстве случаев это приходится делать чисто из соображений безопасности. Когда одним устройством пользуется группа людей, каждому выдается свой пароль. Время от времени их нужно менять для профилактики взлома и потенциальных утечек.
Если речь идет о каком-нибудь администрируемом сервере, то наверняка пользователь с наивысшими полномочиями вынуждает других менять пароль чуть ли не каждый месяц, а того и чаще. Все зависит от требований конкретного человека.
Собственно, об этом и поговорим. Как сменить пароль в Linux, каким должен быть этот пароль, как заставить поменять пароль других пользователей и так далее. Полный экскурс в мир безопасности на платформе Linux.
Утилита passwd
Вообще, в Linux есть несколько программ для управления паролями. Многие из них имеют графический интерфейс и визуально напоминают таковые из других операционных систем (Windows или macOS). Но использовать их все вовсе не обязательно, потому что есть универсальный способ изменения пароля, который вшит в Linux и поддерживается на любом дистрибутиве. Речь об утилите passwd.
Принцип ее работы заключается в изменении содержимого файла /etc/shadow. Это текстовый файл, в котором хранятся пароли. Пароли эти хранятся в зашифрованном виде, которые невозможно расшифровать. При этом пароль в этом файле можно заменить, но так как это процедура сложная, то проще воспользоваться специальной программой.
Также у passwd есть еще несколько преимуществ. С помощью нее можно вынуждать менять пароли других пользователей, а также ставить сроки действия пароля. То есть устанавливать некий таймер, по истечении работы которого пароль просрочится и перестанет работать. А еще можно проделывать любые махинациями с паролями других пользователей.
Синтаксис и опции утилиты passwd
Команды с использованием утилиты passwd строятся по следующей схеме: сначала пишем название самой программы, потом прописываем нужные опции, а потом имя пользователя, на которого будут применены описанные действия.
passwd (название утилиты) опции и имя пользователя.
Как видите, все довольно просто. Легко запомнить и самостоятельно разобраться.
А вот и список доступных опций:
- -d — с помощью этой опции можно удалить пароль у любого пользователя без возможности его вернуть (придется создавать новый). Естественно, после выполнения этой команды пользователь не сможет зайти в систему.
- -e — эта опция обозначает пароль выбранного пользователя устаревшим. Если ею воспользоваться, то система при следующей попытке пользователя войти, вынудит его сменить пароль, объясняя требование как раз-таки устаревшим паролем.
- -i и время — если воспользоваться этой опцией и указать определенный период времени, то после устаревания пароля, спустя этот временной отрезок пользователь будет удален из системы. Если в течение действия опции пользователь успеет заменить пароль на новый, то с учетной записью ничего не произойдет и она будет работать так же, как и раньше.
- -l — эта опция никак не связана с изменением пароля. Она выполняет одну простую функцию — блокирует пользователю доступ к системе.
- -u — а эта пригодится, чтобы разблокировать аккаунт и вернуть доступ выбранному пользователю.
- -n и количество — с помощью этой опции можно указать минимальное количество суток, которое должно пройти с последней смены пароля, чтобы вновь можно было изменить пароль выбранного пользователя.
- -S — воспользуйтесь этой опцией, чтобы получить полный перечень параметров, связанных с паролем у выбранной учетной записи. Она показывает, когда был установлен пароль, как часто он должен меняться, когда следующая смена, придет ли оповещение о необходимости сменить пароль и прочие полезные данные.
- -x и количество — этим параметром задается количество дней, в течение которого выбранный пользователем пароль будет являться актуальным.
- -w и количество — здесь тоже указывается количество дней. Спустя указанное количество суток после смены пароля (именно тогда вступает в действие эта опция) пользователь получит предупреждение о том, что его пароль устарел и его необходимо сменить.
Дальше поговорим о конкретных примерах использования passwd с некоторыми из перечисленных опций.
Меняем свой пароль
Начнем с самой простой и, наверное, самой востребованной операции. Обычная смена пароля для самого себя. То есть для пользователя, под данными которого вы выполнили вход и от лица которого запустили терминал.
- Для смены пароля просто вводим команду passwd. Никакие опции и параметры здесь не нужны. Программа сама определит, что вы за пользователь, а отсутствие опций даст ей понять, что нужно без лишней суеты просто поменять пароль.
- Затем вводим свой нынешний пароль.
Да, это важное условие. Естественно, никто не разрешит просто так изменить чей-то пароль, не зная актуальный. Это ставит крест на безопасности и контроле над системой. Поэтому важно помнить свой пароль даже для его смены.
- Потом вводим новый пароль.
В некоторых дистрибутивах (например, в Fedora) есть ряд требований к паролю. Он должен быть достаточно длинным (не менее 8 знаков) и достаточно сложным, то есть содержать в себе прописные буквы, специальные символы или цифры. А вот в той же Ubuntu таких требований нет. Но это не значит, что нужно делать простые легко подбираемые пароли. Усложняйте.
- А потом вводим его же еще раз.
Меняем пароль другого пользователя
Будучи администратором сервера, вам не раз придется заставлять других пользователей менять пароли. А иногда и самому выдавать новые пароли всей команде сотрудников и разработчиков.
Это можно довольно просто реализовать. Достаточно к команде для смены пароля добавить имя пользователя, пароль которого нужно изменить. Например:
sudo passwd имя пользователя.
В остальном процедура ничем не отличается от смены пароля для самого себя, поэтому подробно описывать ее второй раз не буду.
С помощью этой команды можно поменять пароль для любого пользователя. Даже для root
Меняем пароль для группы
Можно поменять пароль для группы, в которой состоят определенные пользователи. Для этого воспользуемся модифицированной версией программы passwd. Она выглядит так: gpasswd. Собственно g вначале обозначает Group.
Вводим в терминал команду sudo gpasswd название группы. Придумываем пароль для группы, набираем его и все. Так просто.
Подключаем отложенную смену пароля и напоминания
Из блока про опции команды passwd вы уже узнали, что о смене пароля можно напоминать, а также указывать сроки их действия.
Узнать сведения о пароле можно с помощью команды sudo passwd -S имя пользователя.
Вот как выглядит информация о пароле:
- Имя пользователя (space)
- Наличие или отсутствие пароля (P)
- Дата последней смены пароля (09/13/2019)
- Количество дней до смены пароля (0)
- Период времени, в течение которого будет действовать пароль (99999)
- За сколько дней сработает напоминание о смене пароля (7)
- Через сколько дней пароль будет деактивирован (–1)
Редактируем файл /etc/shadow
При желании пароль можно сменить вручную. Все пароли хранятся в файле /etc/shadow. И как я уже писал раньше, они находятся в зашифрованном виде. Расшифровать существующий пароль не выйдет, но создать новый или заменить существующий можно.
Для этого:
- Создаем новый пароль и шифруем его с помощью такой команды: openssl passwd -l -salt любые три буквы ваш новый пароль.
- Программа вернет ваш пароль в зашифрованном виде.
- Копируем созданный пароль.
- Затем открываем файл /etc/shadow с помощью команды sudo nano /etc/shadow.
- Ищем в списке имя пользователя, чей пароль нужно изменить.
- Удаляем старый зашифрованный пароль и вставляем новый.
- На этом все.
Автор материала: Владимир Ковылов
Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.