Работа с пользователями и группами
Изменение существующей учётной записи или пароля
id
— показывает текущее состояние пользователя, в том числе егоuid
,gid
,groups
;passwd
— позволяет пользователю изменить свой пароль, что обновляет файл/etc/shadow
;chpasswd
— позволяет администратору массово обновить пароли нескольких п ользователей;chfn
— (CHange Full Name) позволяет пользователю root изменить полеGECOS
;chsh
— (CHange SHell) позволяет пользователю выбрать оболочку из/etc/shells
;chage
— (CHange AGE) позволяет администратору изменить настройки срока действия пароля;passwd -e пользователь
— потребует от пользователя сменить пароль при следующем входе;usermod
— позволяет изменять все настройки, перечисленные выше.
Изменение групп
addgroup
иdelgroup
— добавляют и удаляют группуgroupmod
— изменяет информацию о группеgpasswd группа
— изменяет пароль группыgpasswd -r группа
— удаляет пароль группы
Команда getent
получает информацию из системных баз данных. Она использует библиотечные функции, которые обращаются к модулям NSS в соответствии с настройками из файла /etc/nsswitch.conf
.
Команда принимает один или два аргумента:
- имя базы данных, к которой нужно обратиться,
- опциональный ключ для поиска.
Например, команда getent passwd johndoe
вернёт информацию из базы данных пользователей, относящуюся к пользователю johndoe
.
Активация и деактивация учетной записи
При деактивации учётная запись становится недоступна, но учетная запись и связанные с ней файлы сохраняются.
Команда passwd
с соответствующими опциями -l
(lock) и -u
(unlock) выполняет эти операции:
passwd -u пользователь
- активировать пользователяpasswd -l пользователь
— деактивировать пользователя
Деактивация через passwd -l
запрещает только вход по паролю.
Пользователь сможет войти в систему с использованием SSH-ключа, если он добавлен.
Чтобы запретить вход по SSH, необходимо отключить пользователя одним из способов:
chage -E 1 пользователь
usermod -e 1 пользователь
Если в любую из этих команд подставить значение -1
, срок действия пароля станет бесконечным.
Команда chage -l пользователь
перечислит текущие настройки.
Чтобы временно деактивировать все учётные записи, нужно создать файл /etc/nologin
.
Деактивировать учётную запись можно путём изменения оболочки пользователя по умолчанию:
chsh -s оболочка пользователя
Возможные аргументы:
/usr/sbin/nologin
— пользователь получит сообщение о невозможности входа,/bin/false
— оболочка немедленно завершит выполнение, вернувfalse
.
Эти оболочки часто используются для системных пользователей, которым не требуется возможность входа в систему.
Опции для восстановления предыдущей выбранной оболочки не существует. Эту информацию нужно получить и запомнить перед изменением.