Удаление пользователя в Unix, Linux

Если вы когда-нибудь сталкивались с ОС Linux, вы наверняка слышали слово «терминал». Новички обычно воспринимают терминал как что-то страшное и зловещее. Но не все так страшно.

Блокировка пользователя

Возможно вам не требуется полное удаление пользователя, а требуется пока только заблокировать.

passwd -l username # добавит в /etc/passwd !! в поле пароль, такой же эффект можно добиться и командой vipw passwd -u username # а этой командой можно будет его разблокировать usermod -s /sbin/nologin username # устанавливает только shell в значение nologin, а по ftp пользователь сможет зайти usermod -s /sbin/bash # установит ему shell bash

Помните, что почтовые ящики, пользователе СУБД и прочих сервисов нужно блокировать и удалять в соответствующих местах.

Перечень встроенных ограничений rbash

Ограниченный командный интерпретатор rbash ведет себя аналогично bash, но следующие действия не разрешены или не выполняются:

  • запрещена смена текущего каталога командой cd
  • запрещено изменять переменные окружения PATH, SHELL, ENV, BASH_ENV
  • запрещен доступ к переменной SHELLOPTS
  • запрещено перенаправление вывода
  • запрещен вызов утилит, в названии которых присутствует хотя бы один символ «слэш» (/)
  • запрещен вызов команды exec для запуска другого процесса
  • запрещен ряд других команд, которые могут использовать сценарий для выполнения непредусмотренных действий
  • запрещен выход из ограниченного режима

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

Введение в терминал Linux

Моя бабушка называет любой терминал «терминатором», что добавляет антуража. На самом деле терминал (bash) — это всего лишь командная строка с гораздо более широким набором функций, если сравнивать с Windows. Почти любое действие можно выполнить командой из терминала, но далеко не любое действие можно выполнить через окружения пользователя.

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

Статья рассчитана на новичков и написана таким же новичком, в этом нет ничего зазорного — все когда-то начинали с нуля. Любое сообщество существует только до тех пор, пока есть приток новых участников.

Список команд в данной статье не является полным списком команд Linux. Во-первых, команд слишком много, чтобы перечислять их все, во-вторых, новичкам они не нужны, а профессионалы уже помнят их наизусть. Однако, не стоит расстраиваться, если у вас не получается запомнить команды — запоминание приходит с практикой. Чем чаще вы пользуетесь теми или иными командами, тем скорее вы их запомните.

Читайте также:  Rkhunter — сканирование системы Linux на вирусы.

Различные сценарии при добавлении пользователя в группу

При добавлении пользователя в группу необходимо учитывать множество факторов:

§  Существование пользователя — команды обычно различаются в зависимости от того, существует ли пользователь в системе,

§  Категория группы — основная группа, к которой принадлежит пользователь, называется основной группой. Как правило, эта группа имеет то же имя, что и имя пользователя. Другие группы, к которым принадлежит пользователь, называются вторичными группами. Есть и другие группы, в которые пользователь вообще не входит.

§  Права пользователя — это основной фактор, так как только суперпользователи могут добавлять любого пользователя в любую группу. Это разрешение ограничивает пользователей с точки зрения того, какие группы и каких пользователей они могут редактировать.

Учитывая все эти факторы, мы представляем только две команды для добавления пользователей в группы. Но они представлены с учетом того, что пользователь, вводящий эти команды, является суперпользователем /root (может выполнять sudo).

Добавление и удаление пользователей на сервере CentOS 7

Павел Соловьёв Full Stack Developer #администрирование 05 ноября, 2014 311 Введение

При создании сервера на Linux, добавление и удаление пользователей — одна из первых задач, с которой вам придется столкнуться. При первом запуске вы получаете только пользователя под именем root. Конечно он открывает вам полный доступ к системе, но использование такого пользователя всегда — не самая разумная идея, так как этот пользователь намного больше подвержен к атакам по безопасности, чем любой другой пользователь. Причиной тому является тот факт, что в таком случае все команды исполняются с правами администратора.

Хорошей практикой считается создание пользователя с ограниченным набором прав. Для каждого нового пользователя лучше создавать дополнительный аккаунт на вашем сервере, таким образом вы сможете легко отслеживать действия каждого пользователя. Тем не менее каждому пользователю вы можете открыть права администратора, которые будут доступны для него через команду sudo.

Добавление пользователей

Если вы находитесь в системе под пользователем root, то создать нового пользователя можно следующей командой:

adduser username

Если же вы авторизованны как другой пользователь, имеющий sudo права, то тогда используйте следующую команду:

sudo adduser username

Теперь следует назначить пользователю пароль:

passwd username

не забывайте добавлять sudo перед командой, если вы находитесь не под пользователем root.

Вы должны будете дважды ввести пароль. Новый пользователь создан и готов к использованию. Вы можете теперь войти под новым пользователем при помощи только что созданного пароля.

Добавление sudo прав пользователю

Если вашему пользователю необходимо выполнять команды с администраторскими правами, то ему необходимо открыть доступ к команде sudo.

Можно добавить пользователя в группу wheel (каждый её член автоматически получает доступ к sudo) при помощи команды gpasswd. Такой подход является самым безопасным и простым для управления доступа к sudo.

Наберите следующую команду если находитесь под пользователем root:

gpasswd -a username wheel

Если вы под другим пользователем, то выполните следующее:

sudo gpasswd -a username wheel

Теперь новому пользователю открыт доступ к sudo и он может выполнять команды от роли администратора. Для этого просто добавьте sudo перед командой:

sudo some_command

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

Управление пользователями с правами sudo

Команда gpasswd позволяет вам добавлять и удалять пользователей из групп (например wheel), но она не покажет вам членов определенной группы. Чтобы получить список пользователей, принадлежащих к группе wheel (то есть увидеть пользователей с правами sudo), вам понадобится команда lid. По-умолчанию, эта команда выводит список групп, к которым принадлежит пользователь, но при помощи ключа -g вы можете увидеть список членов какой-либо группы.

Читайте также:  Как настроить свой формат времени и даты в Ubuntu

sudo lid -g wheel

Вы получите имена пользователей и соответствующие UID пользователей группы wheel. Таким образом вы легко сможете проверить были ли предыдущие команды выполнены успешно и получил лм ваш новый пользователь необходимые права.

Удаление пользователей

Если у вас есть ненужные пользователи, то их аккаунты следует удалить. Вы можете это сделать несколькими способами, выбор которого, конечно, зависит от текущей ситуации на вашем сервере.

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

userdel username

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

userdel — r username

не забывайте добавлять sudo перед командой если вы находитесь под отличным от root пользователем с правами администратора.

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

Заключение

Теперь у вас должна быть полная картина как удалять и добавлять пользователей на вашем CentOS 7 сервере. Такой подход управления пользователями позволит вам разделить их и выдавать только те права, которые им необходимы для выполнения работы. Теперь вы можете перейти к дальнейшей настройке сервера, например, установке LAMP или LEMP.

centos 7

Об авторе Павел Соловьёв Комментарии Пока что нет комментариев, вы можете быть первым. Войти или Регистрация , чтобы оставлять комментарии.

Создать пользователя в терминале linux

Что приплюсовать нового пользователя. Используйте команду «useradd». Бросать либо с помощью «sudo» либо из под «root». Синтаксис бригады такой:

# useradd параметры имя-пользователя

Главные опции команды:

-b — базовый каталог пользователя. По умолчанию /home; -с — объяснение; -d — домашний каталог с файлами пользователя; -D — показать или менять настройки по умолчанию для useradd; -e — дата устаревания переписной записи. Формат ГГГ;МММ;ДДД; -f — блокировать запись после творения; -g — группа пользователя по умолчанию; -G — Дополнительные группы; -k — другой каталог с шаблонами; -l — не добавлять пользователя в базы этих lastlog и faillog; -m — создать домашний каталог юзера; -М — не создавать домашний каталог пользователя; -N — не создавать группу с тем же именованием что и у пользователя; -o — разрешить создание пользователей с повторяющимися (не чудесными) UID; -p — создать пароль; -r — создать системную учётную запись без оболочки ввода и домашней директории; -s — оболочка для пользователя; -u — пользовательский ID новоиспеченной учётной записи;

Подробно можно посмотреть про функции и команды:

# useradd —help или man useradd

Основываю, для примера, пользователя «test» с домашним каталогом бригадой:

# useradd -m -d /home/test test

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

Управление группами

Создание группы

Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию. Пример использования:

sudo groupadd testgroup

Основные ключи:

Ключ Описание
-g Установить собственный GID.
-p Пароль группы.
-r Создать системную группу.
Читайте также:  Linux для настольных ПК – несбывшаяся мечта

Изменение группы

Сменить название группы, ее GID или пароль можно при помощи groupmod. Пример:

sudo groupmod -n newtestgroup testgroup #Имя группы изменено с testgroup на newtestgroup

Опции groupmod:

Ключ Описание
-g Установить другой GID.
-n Новое имя группы.
-p Изменить пароль группы.

Удаление группы

Удаление группы происходит так:

sudo groupdel testgroup

groupdel не имеет никаких дополнительных параметров.

Пример применения команды usermod

Допустим, нам нужно добавить пользователя alexey в группу test. Используем команду:

# usermod -a -G test alexey

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

# usermod -g test alexey

Все эти элементарные действия помогут добавить пользователя в группу на ОС Linux. И вообще, данная система крайне гибкая, и практически любые задачи можно решить с помощью терминала, когда необходимого функционала в интерфейсе не предусмотрено. С обновлением некоторые функции будут пропадать из панели, некоторые появляться, однако список команд и их предназначение не меняются и вряд ли когда-нибудь изменятся. Это будет просто глупо. Поэтому всегда пытайтесь управлять операционной системой Linux, Ubuntu в частности, с помощью простых команд. Это будет экономить много времени.

На этом все. Сохраните эти сведения, ведь невозможно запоминать подобные команды быстро. Так вы не будете тратить время на поиск нужной информации.

  1. find

    Осуществляет поиск в файловой системе, файлах и папках. Для результатов поиска можно выполнять дополнительные команды.

  2. pwd

    Отображает на экране текущий каталог.

  3. clear

    Команда полной очистки окна терминала удаляет все ранее выведенные сообщения.

  4. history

    Показывает ранее введённые пользователем команды. Перемещаться по списку введённых команд можно, нажимая на клавиатуре «Вверх» и «Вниз».

  5. locate

    Быстрый поиск файлов по базе данных updatedb для шаблонов имён файлов. Эта БД работает со снимком файловой системы, что многократно ускоряет процесс поиска. Но тут есть и существенный минус. Точность поиска зависит от того, насколько актуальны данные о файловой системе в текущей версии снимка.

  6. zcat / zless / zmore

    Утилиты для просмотра сжатых файлов. С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore — только вперёд.

  7. ;

    Точка с запятой — ещё один оператор для последовательного запуска нескольких команд в одной строке. Если нужно, чтобы команды выполнялись параллельно, используйте оператор так:

    (команда_№1 &); (команда_№2 &); (команда_№3 &)

Как узнать, в какие группы входит пользователь

Чтобы просмотреть группы, которым назначена текущая учетная запись пользователя, выполните команду groups . Вы увидите список групп.

Чтобы просмотреть числовые идентификаторы, связанные с каждой группой, выполните команду id :

Для просмотра групп в которые входит другая учетная запись пользователя, запустите команду groups и укажите имя учетной записи пользователя.

Groups user_name

Вы также можете просмотреть числовые идентификаторы, связанные с каждой группой, запустив команду id и указав имя пользователя.

Id user_name

Первой группой в списке групп или группой, показанной после «gid= » в списке идентификаторов, является первичная группа учетной записи пользователя. Другие группы — это вторичные группы. Итак, на скриншоте ниже основной группой учетной записи пользователя является mial .