Debian. Шпаргалка сисадмина. Операции с пользователями

Debian. Шпаргалка сисадмина. Операции с пользователями

www.debian.org

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


Если интересуетесь ОС Debian, рекомендую обратиться к тегу Debian на моем блоге.


Debian. Шпаргалка сисадмина. Операции с пользователями

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

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

И некоторые другие. Далее небольшие примеры использования каждой команды.

useradd

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

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

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

Создаем пользователя 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@debian7:~# passwd -S

Отображение состояния всех учетных записей:
root@debian7:~# passwd -S -a

Задать пароль для учетной записи testuser02:
root@debian7:~# 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@debian7:~# 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@debian7:~# mesg y

su — изменяет ID пользователя или делает его суперпользователем
sudo, sudoedit — execute a command as another user
По поводу корректности использований той или иной команды есть масса рассуждений, например, в статье «su или sudo?»
Но кратко вывод можно сформулировать следующим образом — пользоваться «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


Использованные источники:

Linux-шпаргалка

Программы и утилиты UNIX-подобных операционных систем в Debian — Управление системой

Пользователи и группы. Управление пользователями

Пользователи и группы

comments powered by HyperComments