Удалить пользователя Linux — userdel и deluser

Если более одного человека используют ваш Linux-компьютер дома или вы управляете сервером, который предоставляет доступ нескольким пользователям, команда useradd необходима для создания пользователей.

Удаляем пользователя из группы – deluser

Теперь рассмотрим второй способ удаления пользователя из группы, это утилита “deluser”, которая присутствует в некоторых дистрибутивах Linux. Например, в Debian и Ubuntu она точно имеется, и так, процесс удаления выглядит следующим образом, сначала указывается команда “deluser”, затем вписываем имя пользователя “cyber-x” и последним указываем группу, к примеру все ту же самую “sambashare”:

Удаляем пользователя из группы – deluser

sudo deluser cyber-x sambashare

Групповая политика автоматического удаления старых профилей

В Windows есть встроенная групповая политика для автоматического удаления старых профилей пользователей старше xx дней. Эта политика находится в разделе Конфигурация компьютера -> Административные шаблоны -> Система -> Профили пользователей (Computer Configuration -> Administrative Templates -> System -> User Profiles) и называется “Удалять при перезагрузке системы профили пользователей по истечении указанного числа дней” (Delete user profiles older than a specified number days on system restart). Вы можете включить этот параметр в локальном редакторе политик () или с помощью доменных политик из консоли

Включите политику и укажите через сколько дней профиль пользователя считается неактивным и “Служба профилей пользователей Windows” можно автоматически удалить такой профиль при следующей перезагрузке. Обычно тут стоит указать не менее 45-90 дней.

Групповая политика автоматического удаления старых профилей

При использовании этой политики нужно быть уверенным, что при выключении/перезагрузки сервера нет проблем с системным временем (время не сбивается), иначе могут быть удалены профили активных пользователей.

Читайте также:  Анонимный чат с поддержкой шифрования — TOX.

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

Другие распространенные варианты

Домашние каталоги

Чтобы создать пользователя с домашним каталогом по умолчанию, используйте следующую опцию:

useradd -m test

Теперь у этого пользователя есть каталог /home/test.

Чтобы изменить домашний каталог, вы можете передать дополнительную опцию для изменения этого, например:

useradd -m -d /alternate test

Shell

По умолчанию созданные вами пользователи, скорее всего, будут иметь оболочку входа по умолчанию bin/bash или bin/sh, которая будет определена в /etc/default/useradd.

Вы можете переопределить это значение по умолчанию с помощью опции -s:

useradd -s usr/bin/zsh test

Создание и удаление пользователя в Linux – useradd

Для добавления пользователей используется команда useradd , а удаляются с помощью userdel . Давайте создадим две учетки, с одной будем работать дальше, а вторую удалим.

Перед тем как добавить учетную запись, на незнакомом сервере, сначала посмотрите какие параметры заданы по умолчанию для новых пользователей. useradd использует шаблон, который задается в файле /etc/default/useradd . Посмотрим, что там у нас:

Что тут для нас важно:

  • HOME=/home – директория где создастся домашняя папка пользователя, традиционно это /home
  • INACTIVE=-1 – количество дней, через которое навсегда заблокируется учетная запись, после устаревания пароля. -1 здесь означает, что возможность не используется.
  • EXPIRE= – дата, когда пользователь будет заблокирован. Сейчас пусто, значит никогда.
  • SHELL=/bin/bash – какая оболочка будет использоваться пользователем.
  • SKEL=/etc/skel – папка где лежат файлы, которые будут скопированы в домашнюю директорию нового пользователя.

По сути нас все устраивает, давайте уже создадим учётку:

-m указывает, что необходимо создать папку пользователя в /home , если ее там еще нет. И сразу создадим второго:

Для разнообразия, с помощью ключа -s я указал, что shell оболочкой будет не bash, a sh. А -с задает комментарий для пользователя, который используется, обычно, как полное имя пользователя.

Какие ключи еще понимает useradd : -b – задает базовый каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home -d – задает имя домашнего каталога. По умолчанию название совпадает с именем пользователя -e Дата, по достижении которой пользователь блокируется. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено. Соответствует EXPIRE в шаблоне /etc/default/useradd ; -f – соответствует INACTIVE в шаблоне, как уже говорилось, срок устаревания пароля до блокировки; -g – задает первичную группу для нового пользователя. Указывается GID или имя группы. Если параметр не задан, имя группы будет такое же как имя пользователя; -G – список дополнительных групп для создаваемого пользователя; -k – путь к каталогу шаблонов. Соответствует SKEL в шаблоне; -u – для установки UID пользователя вручную.

Удаление файлов и папок

Обычное удаление файла:

rm /etc/

Если с помощью обычного rm попробовать удалить папку в которой находятся файлы, появится ошибка. Для удаление папок используем другую команду:

rmdir backup

Добавляем атрибут -p для удаление пустых папок по всему пути. Будут удалены все три папки указанные ниже, если они не содержат файлов:

rmdir -p backup/one/two

Ошибка папки при удалении в Linux

Иногда при удалении папки в Linux пишется ошибка:

rmdir: не удалось удалить «название_папки»: Нет такого файла или каталога

Читайте также:  Как установить профиль разработчика для IOS?

При этом зайти в неё тоже не удаётся, пишется ровно противоположное:

— bash: cd: /название_папки: Нет такого файла или каталога

Также встречаются ошибки:

rm: невозможно удалить «/home/admin/web/public_html»: Это каталог rmdir: не удалось удалить «/home/admin/web/public_html»: Каталог не пуст

Удалить эту капризную папку (без предупреждений) поможет следующая команда:

rm -rf backup

или так:

rm -rf /home/admin/web/public_html

где — r – команда пройтись по всем папкам и файлам и попытаться удалить каждую из них — f – удалить без подтверждения

Зайти внутрь папки:

cd folder

Удалить все в этой папке:

sudo rm -rf ./*

Удаление файлов из директории Linux без удаления самой папки

Удаляем всё содержимое из папки files, которая находится по этому пути – /home/user/files/. Специальные ключи в команде ускоряют удаление содержимого с минимальной нагрузкой на сервер.

find /home/user/files/ -mindepth 1 -a -print0 | xargs -n 100 -0 rm -rf