В Linux для контроля доступа к файловой системе используются пользователи и группы. Каждый файл имеет пользователя владельца и группу, пользователи из которой могут получить к нему доступ. Это очень простая, но в то же время гибкая система привилегий.
Поэтому пользователи используются не только для людей, работающих за компьютером, но и для запущенных процессов, позволяя таким образом ограничить их сферу влияния. В этой небольшой статье мы рассмотрим как добавить пользователя в Debian.
Содержание статьи
Как добавить пользователя в Debian
1. Графический интерфейс
Проще всего добавить пользователя в графическом интерфейсе. Для этого откройте утилиту Параметры системы, перейдите в раздел Подробности, затем откройте пункт Пользователи:
Здесь, первым делом необходимо нажать кнопку Разблокировать чтобы получить доступ к созданию и редактированию пользователей. После этого система запросит ваш пароль. Только после его ввода появится кнопка Добавить пользователя в верху окна, нажмите на неё:
В окне создания нового пользователя надо ввести его имя и логин, а также пароль два раза:
Вы можете создать обычного пользователя или администратора. Они отличаются только одним, администратор по умолчанию добавлен в группу sudo. Далее новый пользователь появится в списке пользователей:
2. Терминал
Добавление пользователей debian через терминал даже проще, чем в графическом интерфейсе. Чтобы создать пользователя в терминале следует использовать команду adduser. Она интерактивная и во время создания пользователя надо будет ответить на несколько вопросов. Например, для создания пользователя losst выполните:
sudo adduser losst
Введите два раза пароль для нового пользователя:
Дальше можно заполнить полное имя пользователя, информацию о его рабочем месте, телефон и другую нужную вам информацию:
Если вы хотите создать sudo пользователя в Debian, то надо добавить только что созданного пользователя в группу sudo. Например:
usermod -aG sudo losst
Обратите внимание, что опция a здесь обязательна, иначе команда заменит все группы пользователя на sudo и тогда он может потерять доступ к некоторым системным ресурсам. Вы можете проверить добавлен ли пользователь в эту группу выполнив:
getent group sudo
Выводы
Как видите, создание пользователя Debian не такая уже сложная задача, которая может быть выполнена как через терминал, так и через графический интерфейс. Если у вас остались вопросы, спрашивайте в комментариях!
Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали












> Если у вас остались вопросы, спрашивайте в комментариях!
Да, вопросы есть.
1). Вообще, для чего нужны пользователи в случае, когда за компьютером только один человек?
2). Как правильно создать пользователя без доступа к интернету и запускать от него программы?
1. В первом случае не нужны. Первый пользователь создаётся в процессе установки системы. Справедливо, если с системой вы работаете только один.
2. Что-то не увидел необходимости подключения к Интернет в механизме создания нового пользователя. Поэтому первая часть вопроса вызывает недоумение. Ответ на вторую часть вопроса требует более пространных пояснений и знаний основ работы с терминалом.
1. В данной статье написано: "Поэтому пользователи используются не только для людей, работающих за компьютером, но и для запущенных процессов, позволяя таким образом ограничить их сферу влияния."
Т.е. с помощью пользователей можно ограничивать сферу влияния процессов. Я хотел бы узнать примеры таких процессов.
2. Я не доверяю какой-то программе, поэтому хочу заблокировать для неё выход в интернет с помощью стандартных средств Линукс: запуская программу от имени пользователя, которому ограничен доступ к интернету. У меня возникли проблемы с реализацией, поэтому спрашиваю здесь.
Можно реализовать с помощью Iptables. Создается пользователь и ограничиваем его уже на файрволле:
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
Создаём группу пользователей без интернета: "group_no_inet":
sudo groupadd group_no_inet
Создаём пользователя:
sudo useradd user_no_inet -M -g group_no_inet -s /bin/bash
Задаём пароль:
sudo passwd user_no_inet
Вообще, я блокировал пользователя так:
sudo iptables -A OUTPUT -p all -m owner --uid-owner user_no_inet -j DROP
Запускаем программу:
sudo -u user_no_inet firefox
И получаем ошибку:
Error: no DISPLAY environment variable specified
Ошибка: не указана переменная среды DISPLAY
Запускаем оперу:
mkdir: cannot create directory '/run/user/1003': Permission denied
[14407:14407:1027/213147.752833:ERROR:browser_main_loop.cc(1400)] Unable to open X display.
Что с этим делать я не знаю.
Вообще, я не уверен, что нужно специально создавать группу - здесь блокировка идёт по пользователю.
Домашний каталог скорей всего нужен, так что -M лишнее.
Проблема с доступом к X, скорее всего, решаема (no DISPLAY environment variable specified) - https://losst.pro/oshibka-cannot-open-display-linux. А вот почему не работает mkdir мне не понятно.
Кстати, говоря, от пользователя user_no_inet локальная сеть и адреса в интернете не пингуются, т.е. сама блокировка сети работает, другое дело, что и программы не запускаются - разные ошибки лезут.
Спасибо за руководство.
Помогло.
не помогло
useradd -m -d /home/(домашняя директория пользователя) -c ("пояснение что за пользователь") (имя пользователя)
passwd (название пользователя) этой командой вы задаете ему пароль.
Автор, спасибо за труд!
Вопрос:
создал юзера. Пытаюсь ему дать права командой usermod -aG sudo но выдаётся ошибка: usermod: comand not found, ну и соответственно, в группе sudo его нет. В чём ошибка?
У меня такая была когда писал usermode
команду надо запускать с sudo:
sudo usermod -aG sudo username