Как в Linux удалить пользовательский аккаунт вместе с домашней директорией
Оригинал: How to Delete User Accounts with Home Directory in Linux
Автор: Aaron Kili
Дата публикации: 4 декабря 2015 года
Перевод: А. Кривошей
Дата перевода: ноябрь 2016 г.
Системному администратору Linux может потребоваться удалить пользовательский аккаунт, который долгое время не используется, или если пользователь покинул компанию, либо по каким-либо другим причинам.
При удалении аккаунта пользователя в Linux также важно удалить его домашнюю директорию, чтобы освободить дисковое пространство.
Вместо команды adduser можно использовать команду useradd, они предназначены для одного и того же.
2. Теперь давайте посмотрим, как удалить аккаунт пользователя в Linux с помощью команд deluser (для Debian и его производных) и userdel (для систем на базе RedHat/CentOS)
Директивы в конфигурационном файле для команд deluser и userdel определяют, как они работают с пользовательскими файлами и директориями.
Давайте посмострим на конфигурационный файл для команды deluser, расположенный в /etc/deluser.conf для производных Debian, таких как Ubuntu, Kali, Mint; и расположенный в /etc/login.defs для RHEL/CentOS/Fedora.
Значения в этих файлах заданы по умолчанию и могут быть изменены в соответствии с вашими нуждами.
3. Если пользователь авторизован на сервере, он пользуется различными службами и запускает разные процессы. Необходимо помнить, что полностью удалить пользователя можно только тогда, когда он не авторизован на сервере.
Блокирование пользовательского аккаунта в Linux
Сначала заблокируем пользовательский аккаунт, чтобы пользователь не имел доступа в систему. Это предотвратит запуск процессов в системе от его имени. Для этого используется команда passwd с ключом –lock:
Поиск и завершение всех запущенных процессов пользователя
Далее необходимо найти все работающие процессы этого пользователя и завершить их, определив PID процессов, принадлежащих нашему пользователю:
Затем вы можете вы можете вывести список процессов с более подробной информацией:
После того, как вы нашли все запущенные процессы пользователя, вы можете завершить их с помощью команды killall:
Замечание: в последних релизах RedHat/CentOS 7.x и Fedora 21+ вы можете получить следующую ошибку:
Для ее предотвращения необходимо установить соответствующий пакет, как показано ниже:
Резервное копирование данных пользователя перед удалением
Далее вы можете сделать резервную копию пользовательских файлов, если нужно. Для создания архива с резервной копией домашней директории пользователя я использовал утилиту tar:
Удаление аккаунта и файлов пользователя
Удалить пользователя из группы Linux
Группы пользователей в Linux используются для тонкой настройки доступа к файлам операционной системы. И поскольку в Linux все объекты ОС являются файлами, то с помощью групп можно настроить или ограничить доступ к любой возможности системы.
В одной из предыдущих статей мы говорили о том, как посмотреть список групп Linux, в которых состоит пользователь. В этой же заметке разберём, как удалить юзера из группы Linux, чтобы он больше не мог иметь доступа к файлам, которые находятся в этой группе.
Удаление пользователя из группы Linux
Очень много слов вступления, а дела не более чем на одну команду. Мы будем использовать gpasswd. Она имеет такой синтаксис:
Опция -d сообщает, что нужно выполнить удаление, далее мы указываем пользователя, с которым будем работать и в конце группу, из которой его надо удалить. Теперь откройте терминал с помощью сочетания клавиш Ctrl+Alt+T и наберите следующую команду, чтобы удалить пользователя testuser из группы wheel:
С помощью команды usermod вы можете удалить текущего пользователя из всех дополнительных групп:
Только будьте осторожны с этой командой, применяя её к текущему пользователю, иначе вы удалите себя из группы sudo и больше не сможете выполнять административные действия. В Ubuntu, где нет прямого доступа к пользователю root это может создать серьёзные проблемы для новичков, смотрите статью сброс пароля в Ubuntu.
В некоторых дистрибутивах можно использовать ещё и команду deluser. Точно также указываем сначала имя пользователя, а затем группу, из которой собираемся его удалить:
sudo deluser testuser adm
Если вы случайно удалили пользователя из группы, в которой он должен быть, можно всё вернуть обратно. Смотрите статью «как добавить пользователя в группу Linux».
Выводы
В этой небольшой статье мы рассмотрели, как удалить пользователя из группы Linux. Как видите, это совсем не сложно, только надо соблюдать осторожность, чтобы не удалить ничего лишнего и не создать себе проблем. Если у вас остались вопросы, спрашивайте в комментариях! Почитать более подробно о группах можно в статье «группы пользователей Linux».
Как добавлять и удалять пользователей в Ubuntu 20.04
Одна из первых задач при подготовке новой системы Ubuntu — это добавление и удаление пользователей. У каждого пользователя могут быть разные уровни разрешений и определенные настройки для различных приложений командной строки и графического интерфейса.
В этой статье объясняется, как добавлять и удалять учетные записи пользователей в Ubuntu 18.04.
Подготовка
Только root или пользователи с привилегиями sudo могут создавать и удалять пользователей.
Новых пользователей можно создать двумя способами:
Добавление пользователя из командной строки
Добавление нового пользователя происходит быстро и легко, просто вызовите команду adduser за которой следует имя пользователя. Например, чтобы создать новую учетную запись пользователя с именем username вы должны запустить:
Вам будет задан ряд вопросов. Введите и подтвердите новый пароль пользователя. Ответить на все остальные вопросы необязательно.
В конце вам будет предложено подтвердить, что введенная вами информация верна.
Если вы хотите, чтобы новый пользователь мог выполнять административные задачи, вам необходимо добавить пользователя в группу sudo :
Добавление пользователя через графический интерфейс
Если вас не устраивает командная строка, вы можете добавить новую учетную запись пользователя через графический интерфейс. Для этого выполните следующие действия:
Откройте окно настроек и перейдите на вкладку «Пользователи».
Нажмите кнопку «Разблокировать» и при появлении запроса введите пароль пользователя.
После ввода пароля кнопка «Разблокировать» изменится на зеленую кнопку «Добавить пользователя».
Нажмите кнопку «Добавить пользователя», появится диалоговое окно «Добавить пользователя»:
Выберите, должен ли новый пользователь быть стандартным пользователем или администратором, и введите информацию. После этого нажмите кнопку «Добавить».
Удаление пользователя из командной строки
Чтобы удалить пользователя, вызовите команду deluser и передайте имя пользователя в качестве аргумента:
Приведенная выше команда не удаляет пользовательские файлы.
Удаление пользователя через графический интерфейс
Откройте окно настроек и перейдите на вкладку «Пользователи».
Нажмите кнопку «Разблокировать» и при появлении запроса введите пароль пользователя.
Нажмите на имя пользователя, которое хотите удалить, и в правом нижнем углу вы увидите красную кнопку «Удалить пользователя …».
Нажмите кнопку «Удалить пользователя …», и вам будет предложено сохранить или удалить домашний каталог пользователя. Нажатие на одну из этих кнопок удаляет пользователя.
Выводы
Мы показали вам, как добавлять и удалять пользователей в Ubuntu 20.04. Знание того, как добавлять и удалять пользователей — один из основных навыков, которые должен знать пользователь Linux.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Создание и управление пользователями в Linux
В отличие от архитектуры MS-DOS, этой предшественницы Windows, архитектура Linux изначально разрабатывалась как многопользовательская. И даже сегодня, когда Windows проделала немалый путь в своем развитии, создание пользователей и назначение им прав в Linux отличается большей логичностью и прозрачностью. В только что установленной Ubuntu или Mint имеются два пользователя — вы и root, присутствующий в системе как-бы неявно.
Но обладающий полными правами на выполнении любых операций и могущий делегировать свои права вам как администратору по первому же требованию. Есть еще системные пользователи, так называемые демоны — запускаемые системой процессы, аналогичные службам в Windows, но это отдельная тема.
Создание пользователя в графическом интерфейсе
Использование для создания пользователя Linux в графическом конфигураторе — самый простой, но и наименее гибкий способ.
Откройте настройки системы, перейдите в раздел «Пользователи» и нажмите «Разблокировать»,
чтобы приступить к работе с учетными записями.
Как только вы это сделаете, появится кнопка добавления нового юзера.
Возможности конфигурирования нового пользователя невелики: вы можете лишь присвоить ему имя, установить пароль и назначить администратором.
Создание пользователя в терминале
Использование терминала для создания пользователя открывает как минимум на порядок больше возможностей. Чтобы не нагружать мало знакомого с Linux читателя избыточной информацией, мы намерено решили опустить тему синтаксиса приведенных ниже команд управления учетными записями, коснувшись только некоторых ее сторон, но посчитали нужным дать определение используемым в статье терминам.
Назначение домашнего каталога по умолчанию, блокировка учетной записи по истечении указанной даты, добавление пользователя в другие группы, создание пользователя без GUI и домашней папки, смена папки с конфигурационными файлами пользователя и назначение ему уникального ID и шелла — всё это и многое другое можно сделать с помощью терминала.
Используя ключи, можно создать нового пользователя с определённым набором прав и функций, например, очень часто приступающие к изучению Linux люди интересуются, как создать рутового пользователя.
Только вот делать так не рекомендуем.
Где хранятся данные о пользователях
Сведения обо всех пользователях хранятся в нескольких файлах, с содержимым которых мы познакомимся на примерах. Для вывода содержимого этих файлов в терминал мы будем использовать команду cat, выполненную с правами суперадминистратора.
Для наглядности мы использовали цветовую идентификацию.
/etc/shadow — хранит пароли пользователей в зашифрованном виде. Строка представлена именем пользователя и зашифрованным паролем, разделяемыми двоеточием.
Цвета на изображении означают:
/etc/group — этот файл хранит названия групп. Его содержимое представлено названием группы, меткой пароля, идентификатором группы и ее названием. Если в группу входит несколько пользователей, они перечисляются через запятую.
Цветом на изображении выделены:
Управление пользователями
Удаление пользователей
Удалить пользователя проще всего в настройках через раздел «Пользователи». Для этого мы должны входить в группу администраторов и обладать правами root.
Тут всё очень просто: выбираем юзера, жмем разблокировать, вводим свой пароль, жмем кнопку «Удалить пользователя».
И выбираем, оставлять на диске его файлы (домашнюю папку) или нет.
Например, чтобы вместе с пользователем удалить его домашний каталог, нужно добавить ключ —remove-home, вот так:
Шаблон, в котором хранятся настройки удаления пользователя командой deluser без использования аргументов, представлен файлом /etc/deluser.conf.
Давайте его откроем в редакторе nano и кое-чего подправим, сделав так, чтобы выполненная без аргументов команда deluser удаляла юзера вместе с его домашним каталогом.
Открываем и видим, что REMOVE_HOME имеет значение 0,
что означает не удалять папку профиля. Заменяем 0 на 1, сохраняем конфиг-файл,
удаляем юзера deluser без параметров и видим, что папка тоже удалена!
Удаление рутового пользователя
Ну хорошо, но у нас есть еще пользователь с рутовым правами и именем newroot, помните, мы его создали, а потом хотели удалить, но безуспешно? Этот юзер использует корневой процесс unit с ID 1, — убьёте его командой killall — тут же уложите систему.
Как быть в этой ситуации? Вероятно, есть более элегантное решение проблемы, но мы решили пойти ва-банк и удалить запись зеркального рута прямо из конфигурационных файлов.
Точно так же поступаем с файлом /etc/shadow.
Заключение
Создание и управление пользователями через графический интерфейс в Linux имеет много общего с аналогичной процедурой в Windows, но стоит только углубиться в тему, задействуя командную строку, как тут же становится очевидным, насколько более широкие возможности в этом плане предоставляет Linux.
Управление пользователями на Ubuntu и Debian
В инструкции описано создание, удаление и изменение пользователей операционной системы Ubuntu или Debian.
Первоначальные требования для системы Debian
Многие из команд в этом руководстве требуют привилегий суперпользователя. Если при использовании команды sudo появляется следующая ошибка:
bash: sudo: command not found
Вам необходимо активировать режим суперпользователя, установить команду sudo и добавить своего пользователя в группу sudo:
Как добавить нового пользователя?
В Ubuntu и Debian есть два инструмента командной строки, которые вы можете использовать для создания новой учетной записи пользователя: useradd и adduser.
Для создания новой учетной записи пользователя операционной системы с именем username с помощью команды adduser, выполните следующую команду:
sudo adduser username
В результате появится диалог, в котором необходимо ввести пароль и дополнительную информацию:
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
Work Phone []: 123-45-45
Is the information correct? [Y/n] Y
Команда создает домашний каталог для нового пользователя и скопирует туда файлы из каталога /etc/skel.
По умолчанию членам группы sudo предоставляется доступ sudo.
Если необходимо, чтобы у вновь созданного пользователя были права администратора, добавьте его в группу sudo:
Как удалить пользователя?
Существует два инструмента командной строки, которые можно использовать для удаления учетной записи пользователя: userdel и deluser. Рекомендуем использовать команду deluser, так как она более дружественная, чем низкоуровневая userdel.
Чтобы удалить пользователя, не удаляя пользовательские файлы и каталоги, выполните:
sudo deluser username
В результате появится следующее сообщение:
Warning: group `username’ has no more members.
Как изменить пароль пользователя?
Для изменения собственного пароля используйте команду passwd без дополнительных аргументов:
В системном диалоге необходимо будет ввести старый пароль и указать новый:
Changing password for username.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Для изменения пароля для другого пользователя необходимы права администратора и имя пользователя: