Как добавлять и удалять пользователей в Debian 9
Debian, как и все другие дистрибутивы Linux, является многопользовательской операционной системой. У каждого пользователя могут быть разные уровни разрешений и определенные настройки для различных приложений командной строки и графического интерфейса.
Знание того, как добавлять и удалять пользователей — один из основных навыков, которые должен знать пользователь Linux.
В этом руководстве объясняется, как добавлять и удалять пользователей в Debian 9.
Подготовка
Вам нужно будет войти в систему как пользователь root или пользователь с доступом sudo, чтобы иметь возможность добавлять и удалять пользователей в вашей системе Debian.
Как добавить пользователя в Debian
В Debian есть два инструмента командной строки, которые вы можете использовать для создания новой учетной записи: useradd и adduser .
useradd — это низкоуровневая утилита для добавления пользователей, а adduser — дружественный интерактивный интерфейс для useradd написанный на Perl.
Чтобы создать новую учетную запись username с именем username с adduser команды adduser вы должны выполнить:
sudo adduser username
Adding user `username' . Adding new group `username' (1001) . Adding new user `username' (1001) with group `username' . Creating home directory `/home/username' . Copying files from `/etc/skel' .
Вам будет задан ряд вопросов. Пароль является обязательным, все остальные поля необязательны.
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for username Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n]
В последнем запросе вам нужно будет подтвердить правильность информации, введя Y
Команда создаст домашний каталог нового пользователя и скопирует файлы из каталога /etc/skel в домашний каталог пользователя. В домашнем каталоге пользователь может писать, редактировать и удалять файлы и каталоги.
По умолчанию в Debian членам группы sudo предоставляется доступ sudo.
Если вы хотите, чтобы у вновь созданного пользователя были права администратора, добавьте его в группу sudo :
sudo usermod -aG sudo username
Как удалить пользователя в Debian
Если учетная запись пользователя больше не нужна, вы можете удалить ее с помощью userdel или deluser . В Debian вам обычно следует использовать команду deluser поскольку она более дружелюбна, чем userdel низкого уровня.
Чтобы удалить пользователя, не удаляя файлы пользователя, запустите:
sudo deluser username
Если вы хотите удалить пользователя, его домашний каталог и почтовый ящик, используйте флаг —remove-home :
sudo deluser --remove-home username
Выводы
В этом руководстве вы узнали, как добавлять и удалять пользователей в Debian. Те же команды применимы для любого дистрибутива на основе Debian.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Добавляем пользователя в Debian
В Linux с целью доступа к файловой системе задействуются пользователи и группы. Каждый файл имеет пользователя владельца и группу, пользователи из которой могут получить к нему доступ. Это очень простая, но в то же время гибкая система привилегий. Юзеры используются не только для людей, работающих за ПК но и для запущенных процессов, позволяя ограничить их сферу влияния. Дальше рассмотрим как добавить новых юзеров в Debian.
Добавляем при помощи графического интерфейса
Проще всего добавить в графическом интерфейсе. Для этого откройте утилиту Параметры системы, перейдите в раздел Подробности, затем откройте пункт Пользователи:
В первую очередь необходимо нажать кнопку Разблокировать чтобы получить доступ к созданию и редактированию. После этого система запросит ваш пароль. Только после его ввода появится кнопка Добавить пользователя в верху окна, нажмите на неё:
В окне создания нового пользователя надо ввести его имя и логин, а также пароль два раза:
Юзер может создать обычного пользователя или администратора. Они отличаются только одним, администратор по умолчанию добавлен в группу sudo. Далее новый пользователь появится в списке пользователей.
Терминал
Добавление debian через терминал даже проще, чем в графическом интерфейсе. Чтобы создать юзера в терминале следует использовать команду adduser. Она интерактивная и во время создания пользователя надо будет ответить на несколько вопросов. Например, для создания пользователя losst выполните:
Введите два раза пароль для новой учетной записи:
Теперь можно заполнить полное имя, информацию о его рабочем месте, телефон и другую нужную вам информацию:
Если нужно создать sudo пользователя в Debian, то надо добавить только что созданного пользователя в группу sudo. Например:
Обратите внимание, что опция a здесь обязательна, иначе команда заменит все группы пользователя на sudo и тогда он может потерять доступ к некоторым системным ресурсам. Вы можете проверить добавлен ли пользователь в эту группу выполнив:
Создание пользователя Debian не такая уже сложная задача, которая может быть выполнена как через терминал, так и через графический интерфейс.
Debian как создать пользователя
Местоположение домашней директории определяется администратором при «создании» пользователя, а почтовые ящики все расположены в одной директории, имя которой зависит от типа ОС — например, во FreeBSD это /var/mail/ .
Каждому пользователю также могут быть назначены дисковые квоты, но здесь мы этот вопрос рассматривать не будем.
Кроме того, при использовании сетевых информационных систем NIS или NIS+ часть содержимого файлов /etc/passwd и /etc/group может быть распределена по сети.
Необходимым и достаточным условием «существования» пользователя в системе является его наличие в файле /etc/passwd .
Это текстовый файл, в каждой строке которого находится информация об одном пользователе. Каждая строка состоит из 7 полей, разделенных двоеточиями:
Поля имеют следующий смысл: account Имя пользователя. encpassword Зашифрованный пароль. UID Числовой идентификатор пользователя (User IDentifier). GID Числовой идентификатор первичной группы этого пользователя (Group IDentifier). GECOS Информация о пользователе — полное имя, телефон, комната и т.д. homedir Домашняя директория. shell Интерпретатор команд — программа, запускаемая для данного пользователя при входе в систему.
В «свежеустановленной» системе всегда есть пользователь » root » и некоторое количество псевдопользователей, необходимых для работы системы — » bin «, » mail «, » daemon » и т.д. У специальных пользователей UID всегда меньше 100.
| Во многих ОС информация из /etc/passwd «размазана» по нескольким файлам (в том числе в Linux — /etc/shadow ), поэтому просто редактировать /etc/passwd «руками» нельзя! |
Зашифрованный пароль. При записи паролей в Unix применяется необратимое шифрование по алгоритму DES. Поэтому даже имея доступ к зашифрованному паролю, нельзя узнать сам пароль. Система же, когда надо проверить пароль, зашифровывает строку, введенную пользователем и сравнивает ее с той, что содержится в /etc/passwd .
Однако эта схема не защищает от так называемых «словарных атак» (dictionary attacks), когда берется, например словарь, и все слова из него последовательно зашифровываются и сравниваются с тем, что записано в /etc/passwd .
Поэтому в большинстве современных систем применяются так называемые «теневые файлы паролей» (shadow passwords) — в /etc/passwd вместо пароля стоит «*» или «x», а сам шифрованный пароль содержится в файле /etc/shadow или подобном, доступ к которому есть только у пользователя » root «.
Linux также поддерживает /etc/shadow (стабильная поддержка в RedHat есть с версии 5.0, в 4.2 она несколько «кривая»), но это при необходимости надо отдельно включить, один раз выполнив команду pwconv .
Если шифрованный пароль (при наличии /etc/shadow — в нем, иначе — в /etc/passwd ) начинается с символа «*», то он не соответствует никакому реальному паролю. Поэтому такой пароль означает «вход пользователя заблокирован» — такие пароли стоят, к примеру, у псевдопользователей » bin «, » mail «, » daemon » и т.д.
Числовые идентификаторы — UID и GID. В ядре Unix для идентификации пользователя служит не имя, а 16-битное число — так называемый UID.
Имя же может быть практически любым — оно используется только при входе в систему, а также тогда, когда нужно именно имя пользователя (в адресах электронной почты, в finger , talk ) и в программах rsh , rlogin , ssh и им подобных.
Пользователь с UID=0 — супервизор, он имеет имя » root «.
В принципе, ничто не мешает создать нескольких пользователей с разными именами, паролями и home-директориями, но с одинаковыми UID — у всех у них будут одинаковые права. Но при создании Unix этот фокус не предусматривался, так что некоторые программы могут работать не совсем корректно.
Аналогично группа пользователя определяется числовым идентификатором GID. Но, в отличие от UID, один и тот же GID может быть присвоен нескольким пользователям — все они будут принадлежать к одной группе.
UID и GID должны совпадать на всех машинах. Аналогично тому, как имена пользователей используются в протоколах RLOGIN и SSH, и должны совпадать у одного пользователя на разных машинах, числовые идентификаторы используются сетевой файловой системой NFS. И если в rlogin и т.п. можно указать другое имя пользователя, в NFS такой возможности нет.
Поэтому для того, чтобы пользователь » vasya » на машине Bobby считался «эквивалентом» пользователя » vasya » на машине Garry, и имел по NFS доступ с правильными правами, числовые идентификаторы на обеих машинах должны совпадать . (Что интересно, одинаковость имен для NFS неважна.)
Поскольку каждый пользователь в ИЯФ «существует» на машине Sky (информация на которой берется из общеинститутской базы данных), лучше всего на всех компьютерах использовать идентификаторы оттуда.
Файл /etc/group по формату очень похож на /etc/passwd , но в нем перечислен список групп, существующих на машине, и пользователи, к ним принадлежащие.
Для работы с ним служат команды groupadd , groupdel и groupmod .
Манипуляции с пользователями
Хотя в принципе пользователей можно создавать «руками», путем редактирования файла /etc/passwd и еще некоторых действий, этого никогда не надо делать.
В разных ОС (и даже в разных версиях одной ОС) для манипуляций с пользователями зачастую служат разные команды. Пожалуй, единственной «универсальной» командой является passwd . Поэтому рассмотрим команды, используемые в RedHat Linux 5.2.
Создание пользователя. Для создания пользователя служит команда useradd . Самый простой вариант — useradd имя , при этом будут подобраны «первые попавшиеся» UID и GID, а в качестве home-директории и shell будут уставлены значения по умолчанию.
Лучше же всегда пользоваться такой формой команды:
Это позволяет создать пользователя «с нужными свойствами».
Ключ » -m » указывает useradd , что надо создать home-директорию данного пользователя (по умолчанию она может быть прописана в /etc/passwd , но не создана на диске) и сделать его ее владельцем. В нее будут скопированы файлы из директории /etc/skel/ («скелет» home-директории).
| В случае, если домашняя директория имеет вид » /home/group/user «, то директория /home/group/ должна уже существовать — useradd делает только саму home-директорию, а все промежуточные директории (в данном случае /home и /home/group ) должны уже существовать. |
Удаление пользователя. Для удаления служит команда userdel . Ей надо указать имя пользователя и ключ » -r » (для удаления home-директории). Пример:
Изменение «свойств» пользователя. Первое, что надо сделать после создания пользователя — назначить ему пароль. Для этого служит команда passwd .
Будучи запущена без параметров, она позволяет сменить пароль запустившего ее пользователя (предварительно спросив текущий пароль):
bobby:~% passwd Changing password for mickey (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully bobby:~% _
Root же может сменить пароль любого пользователя, что и надо сделать сразу после его создания:
bobby:~# passwd mickey New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully bobby:~# _
| Используя команду passwd из-под root, надо не забывать указать имя пользователя — иначе будет изменен пароль пользователя » root «. Это довольно распространенная ошибка. |
Изменить shell пользователя можно командой chsh , которая спросит полное имя shell (с директорией). В Linux и BSD-системах пользователь может сам менять свой shell, а в ОС клона SystemV — только супервизор. Примеры:
bobby:~% chsh Changing shell for mickey. Password: New shell [/bin/zsh]: /bin/bash Shell changed. bobby:~% _
bobby:~# chsh -s /bin/zsh mickey Changing shell for mickey. Shell changed. bobby:~# _
Пользователь не может поставить в качестве своего shell произвольную программу — только одну из тех, что перечислены в файле /etc/shells .
Где еще брать информацию о работе с пользователями
Следует посмотреть man-страницы passwd(5), group(5), useradd(8), userdel(8), usermod(8), groupadd(8), groupdel(8), groupmod(8), passwd(1), chsh(1), shells(5), chfn(1) .
Кроме того, много полезной информации содержится в главах 3, 5 и 6 книги «UNIX: руководство системного администратора» .
Debian как создать пользователя
Одним из первых действий, которые необходимо сделать администратору при первоначальной установке системы на машину, является создание учетной записи пользователя. Обычно это делают с командой adduser , которая при создании в качестве аргумента использует имя нового пользователя.
Несмотря на то, что команда adduser задает несколько вопросов еще до создания учетной записи (login пользователя), тем не менее ее использование остается сказочно простым. Его конфигурационный файл /etc/adduser.conf включает все важные настройки: можно настроить автоматически установливать квоту для каждого нового пользователя, определив здесь же шаблон для этого, или изменить месторасположение учётных записей пользователей; последнее обычно редко используется, но иногда эта возможность выручит вас в трудных ситуациях, если вы имеете большое количество пользователей и хотите разделить их учётные записи на несколько дисков. А также вы можете задать здесь различные командные интерпретаторы, которые будут использоваться по умолчанию для всех пользователей.
К ОСНОВАМ Квота (выделение объёмов для чего-либо)
Термин “квота” относится к ограничению каких-либо машинных ресурсов, выделенных в распоряжение пользователю. Это понятие часто применяют в отношении распределения емкости дискового пространства.
При создании пользователя, для него создается домашний каталог с заданными (разработчиками) параметрами, которые предусмотрены в шаблонах файлов, расположенных в /etc/skel/ . То есть для пользователя создаётся как бы заготовка (скелет) стандартного домашнего каталога и файлов настроек, которыми он будет пользоваться.
В некоторых случаях, может быть полезным добавить пользователя в другие группы также (отличные от его “главной” группы, которая создана для него «по умолчанию»). Это иногда необходимо для того, чтобы добавить пользователю ещё какие-то узкоспециализированные права доступа. Например, пользователь, включённый в группу audio может получить доступ к аудио-устройствам (или дать пользователю разрешение на работу с видео — video) (смотри вкладку К ОСНОВАМ Права доступа к устройству). Чтобы получить такой результат надо выполнить команду adduser user group (команду «adduser пользователь audio» выполнить через администратора).
К ОСНОВАМ Права доступа к устройству
Каждое устройство перифирии представлено в Unix-системах как специальный файл, обычно расположенный в каталоге /dev/ (DEV — сокращённое от «device»). Существует два типа специальных файлов, соответствующие реальным устройствам в системе: «символьный тип» (“character mode”) и «блочный тип» (“block mode”), с каждым типом файлов можно делать только определённое количество операций. Тогда как символьный тип файла ограничивается интерактивными операциями чтения/записи (обычно выполняется последовательной ввод-вывод символов), блочный тип позволяет также искать, записывать, перемещать данные внутри определённой области устройства (осуществляемое блоками). Наконец, каждому специальному файлу присвоено двузначное число (первая цифра слева — «главный» — “major” и вторая цифра — «меньший из двух, второстепенный» — “minor”), с помощью которых ядро может идентифицировать устройства своим, единственным в своем роде, образом. Файлы каких типов создаются с помощью команды mknod , а их название имеет простое символическое название (и более понятное для восприятия людьми, например «/dev/video0» — это устройство видео).
Карту прав доступа к файлам специального типа можно увидеть в упомянутом каталоге. Она показывает, какими правами пользователь должен обладать для доступа к самому устройству (к примеру — «crw-rw—-+ 1 root video 81, 0 окт 25 05:22 video0», то есть данный файл символьного типа «с» пользователь администратор может читать «r» и записывать в него «w», а члены группы video могут выполнять тоже «rw», другие пользователи не могут этого делать «—» -8-ая, 9-ая, 10-ая позиции). Таким образом можно увидеть, что для файла /dev/mixer , представляющее аудио микшер в системе (диспетчер управления настройками звуковой карты), имеют права доступа на чтение и запись только администратор и члены группы audio . И только эти пользователи могут производить операции (настройка и др.) с аудио микшером (буква «w»).
It should be noted that the combination of udev and policykit can add additional permissions to allow users physically connected to the console (and not through the network) to access to certain devices.