Debian - операции с пользователями

Debian - операции с пользователями

Статья «Debian – операции с пользователями» — первая из серии статей-памяток для быстрого доступа к наиболее часто используемым командам с их описаниями и некоторыми нюансами использования. Статья не содержит какой-либо уникальной информации, полученной из собственного профессионального опыта или из других источников, а только примеры использования общеизвестных команд. Для большей наглядности в статье могут даваться ссылки на источники, где описание команд дано более интересно или полно. Основная информация получена из справочных страниц официального дистрибутива Debian 9.

Содержание

Debian – операции с пользователями

Для управления пользователями существует ряд основных команд:

useradd — регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях;
usermod — изменяет учётную запись пользователя;
userdel — удаляет учётную запись и файлы пользователя;
passwd — изменяет пароль пользователя.
И некоторые другие. Далее небольшие примеры использования каждой команды.

useradd

Создаем пользователя test01 (без домашнего каталога и без пароля):

useradd test01

Создаем пользователя test01 с домашним каталогом /home/test01:

useradd -m -d /home/test01 test01

-m — создать домашний каталог пользователя
-d — домашний каталог новой учётной записи

Примечание: удобство использования ключей -m и -d в том, что автоматически созданный каталог уже будет иметь необходимые права. Если каталог вы будете создавать отдельно, то придется менять владельца командой chown и возможно разрешения по умолчанию командой chmod.

Создаем пользователя testuser01 с домашним каталогом /home/testuser01, оболочкой /bin/bash и паролем Qwerty123:

useradd -g testgroup01 -m -d /home/testuser01 -s /bin/bash -p Qwerty123 testuser01

-g — имя или ID первичной группы новой учётной записи
-s — оболочка новой учётной записи
-p — зашифрованный пароль новой учётной записи

Примечание: если вы создаете учетную запись для служебных задач и не планируете чтобы кто-то под ней реально авторизовывался, то есть смысл установить окружение /bin/false.

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

useradd -g testgroup01 -m -d /home/testuser01 -s /bin/bash testuser01
passwd testuser01

В этом случае вы устанавливаете пароль отдельной командой и он не запоминается в кэше командной строки, этот способ более предпочтителен.

usermod

Смена имени пользователя testuser01 на testuser02:
usermod -l testuser02 testuser01
-l – Имя пользователя будет изменено с testuser01 на testuser02. Больше ничего не меняется. В частности, вероятно, должно быть изменено имя домашнего каталога и почтового ящика.
Изменение первичной группы пользователя testuser02 на группу testgroup02:
usermod -g testgroup02 testuser02

-g — Имя или числовой идентификатор новой первичной группы пользователя. Группа с таким именем должна существовать. Все файлы в домашнем каталоге пользователя, принадлежавшие предыдущей первичной группе пользователя, будут принадлежать новой группе. Группового владельца файлов вне домашнего каталога нужно изменить вручную.
Создание нового домашнего каталога /home/testuser02 пользователя testuser02 и перенос данных из старого в новый:

usermod -d /home/testuser02 -m testuser02

-d — Домашний каталог нового пользователя. Если указан параметр -m, то содержимое текущего домашнего каталога будет перемещено в новый домашний каталог, который будет создан, если он ещё не существует.
-m — Переместить содержимое домашнего каталога в новое место. Этот параметр можно использовать только с параметром -d (или —home). Команда usermod пытается изменить владельцев файлов и копирует права, ACL и расширенные атрибуты, но после неё всё равно могут потребоваться некоторые ручные действия.
В принципе для команды usermod ничего интересного больше нет, разве что кроме предупреждения в «манах»:

Вы должны убедиться, что от указанного пользователя не запущено никаких процессов, если при выполнении этой команды изменяется числовой пользовательский ID, имя пользователя или домашний каталог пользователя. В Linux команда usermod выполняет такую проверку, но на других архитектурах проверяется только присутствие пользователя в системе согласно данным utmp. Вы должны вручную изменить владельца всех файлов crontab или заданий at. Вы должны сделать все изменения NIS на сервере NIS самостоятельно.

userdel

Удаление пользователя testuser02. Домашний каталог и файлы в нем останутся нетронутыми:

userdel testuser02

Удаление пользователя testuser02 вместе с домашним каталогом и файлами в нем, а также почтового ящика, если он есть:

userdel -r testuser02

passwd

Отобразить состояние текущей учетной записи (имя, инф. о пароле, дата последнего изменения пароля, минимальный срок, максимальный срок, период выдачи предупреждения, период не активности пароля):

root@debian:~# passwd -S

Отображение состояния всех учетных записей:

root@debian:~# passwd -S -a

Задать пароль для учетной записи testuser02:

root@debian:~# passwd testuser02

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

Дополнительные команды

id — Print user and group information for the specified USERNAME, or (when USERNAME omitted) for the current user;
groups — print the groups a user is in;
last, lastb — show listing of last logged in users.
Отобразить информацию о трех последних входах в систему пользователя root:

root@debian:~# last -n 3 root

lastlog — выводит отчёт о последней регистрации в системе всех или указанного пользователя
logname — print user´s login name
whoami — Print the user name associated with the current effective user ID
mesg — control write access to your terminal

Включение приема сообщений от пользователей, отправленных с помощью команды write:
root@debian:~# mesg y

su — изменяет ID пользователя или делает его суперпользователем
sudo, sudoedit — execute a command as another user
Но кратко вывод можно сформулировать следующим образом — пользоваться «su» уже не кашерно. Вот так, например, можно поставить программу sudo (да и любые другие) от обычного пользователя, зная пароль рута:

su -c «apt-get install sudo» root

users — print the user names of users currently logged in to the current host

w — Show who is logged on and what they are doing
who — show who is logged on
write — send a message to another user


Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.