Настройка Kali Linux – настройка сети, управление Unix пользователями и группами
Pirnazar
Настройки сети по умолчанию используют DHCP для получения IP-адреса, DNS-сервера и шлюза, но вы можете использовать значок шестеренки в правом нижнем углу, чтобы изменить конфигурацию разными способами (например, установить MAC-адрес, переключиться на статические настройки, включить или отключить IPv6 и добавить дополнительные маршруты). Вы можете создать профили для сохранения нескольких проводных сетевых конфигураций и легко переключаться между ними. Для беспроводных сетей эти настройки автоматически привязываются к их публичному идентификатору (SSID).
NetworkManager также обрабатывает соединения с помощью мобильного широкополосного канала (Wireless Wide Area Network WWAN), а также модемов использующих протокол передачи от точки к точке через Ethernet (point-to-point protocol over ethernet (PPPoE)). И последнее, но не менее важное: он обеспечивает интеграцию со многими типами виртуальных частных сетей (virtual private networks (VPN)) с помощью выделенных модулей: SSH, OpenVPN, Cisco’s VPNC, PPTP, Strongswan. Проверьте пакеты network-manager- *; большинство из них не установлены по умолчанию. Обратите внимание, что вам нужны пакеты с суффиксом -gnome, чтобы настроить их через графический интерфейс пользователя.
1.2 Через командную строку с помощью Ifupdown
В качестве альтернативы, в тех случаях, когда вы предпочитаете не использовать (или у вас просто нет доступа) графический интерфейс, вы можете настроить сеть с помощью уже установленного пакета ifupdown, который включает в себя инструменты ifup и ifdown. Эти инструменты считывают определения из файла конфигурации /etc/network/interfaces и лежат в основе сценария инициализации /etc/init.d/networking , который настраивает сеть во время загрузки.
Каждое сетевое устройство, управляемое ifupdown, может быть деконфигурировано в любое время с помощью сетевого устройства ifdown. Затем вы можете изменить /etc/network/interfaces и вернуть сеть (с новой конфигурацией) с помощью сетевого устройства ifup.
Давайте поближе познакомимся с тем, что мы можем вложить в файл конфигурации ifupdown. Существуют две основные директивы: автоматическое сетевое устройство, которое говорит ifupdown автоматически настроить сетевой интерфейс, как только он становится доступным, и iface сетевой интерфейс типа inet/inet6 для того, чтобы настраивать данный интерфейс. Например, простая конфигурация DHCP выглядит следующим образом:
Обратите внимание, что специальные конфигурации для устройства шлейфа, всегда должны присутствовать в этом файле. Для конфигурации фиксированного IP-адреса вам необходимо предоставить более подробную информацию, такую как IP-адрес, сеть и IP-адрес шлюза:
Для беспроводного интерфейса, у вас должен быть пакет wpasupplicant (включенный в Kali по умолчанию), который предоставляет множество wpa-* опций, которые в свою очередь могут быть использованы в /etc/network/interfaces. Для получения примеров и дополнительных разъяснений ознакомьтесь с /usr/share/doc/wpasupplicant/README.Debian.gz. Самыми часто используемыми опциями являются wpa-ssid (которая определяет имя беспроводной сети для присоединения) и wpa-psk (которая определяет идентификационную фразу или ключ, защищающий сеть).
1.3 Через командную строку с помощью systemd-networkd
Несмотря на то, что ifupdown является давно используемым инструментом в Debian, и то, что он до сих пор является стандартом для серверов или других минимальных установок, существует более новый инструмент, который заслуживает нашего внимания: systemd-networkd. Его интеграция с systemd инициализирующей системой делает его очень привлекательным. Он не является целевым для дистрибутивов на основе Debian (в отличие от ifupdown) и был разработан как очень маленький, эффективный и относительно простой в настройке, в том случае если вы хорошо понимаете синтаксис файлов systemd. Для вас это будет особенно привлекательным выбором, если вы считаете, что NetworkManager является чересчур раздутым и сложно настраиваемым.
Вы настраиваете systemd-networkd путем помещения сетевых файлов (.network files) в директорию /etc/systemd/network/. В качестве альтернативы вы можете использовать /lib/systemd/network/ для пакетированных файлов или /run/systemd/ network/ для файлов, сгенерированных во время выполнения программы. Формат этих файлов документируется в systemd. network(5). Раздел Match указывает сетевые интерфейсы, к которым применяется конфигурация. Вы можете указать интерфейс различными способами, например, по адресу управления доступом к среде (media access control (MAC)) или по типу устройства. Раздел Network определяет конфигурацию сети.
Конфигурация на базе DHCP в /etc/systemd/network/80-dhcp.network
Статическая конфигурация в /etc/systemd/network/50-static.network
Обратите внимание, что system-networkd отключен по умолчанию, поэтому, если вы хотите его использовать, его необходимо включить. Это также зависит от systemd-resolved для правильной интеграции DNS разрешения, что в свою очередь требует от вас замены /etc/resolv.conf символической ссылкой на /run/system/resolve/resolv.conf, которая управляется systemd-resolved.
Хотя systemd-networkd страдает от определенных ограничений, вроде недостатка интегрированной поддержки беспроводных сетей, вы все равно можете полагаться на ранее существовавшую внешнюю конфигурацию wpa_supplicant для поддержки беспроводной сети. Однако, она особенно полезна в контейнерах и виртуальных машинах и была первоначально разработана для сред, в которых конфигурация сети контейнера зависела от конфигурации сети хоста. В этом сценарии systemd-networkd упрощает управление обеими сторонами последовательно, поддерживая всевозможные виртуальные сетевые устройства, которые могут потребоваться в этом типе сценариев (смотри systemd.netdev(5)).
2. Управление Unix пользователями и Unix группами
База данных пользователей и групп Unix состоит из текстовых файлов /etc/passwd (список пользователей), /etc/shadow (зашифрованные пароли пользователей), /etc/group (список групп) и /etc/gshadow (зашифрованные пароли групп). Их форматы документируются в passwd(5), shadow(5), group(5), и gshadow(5) соответственно. Хотя эти файлы могут быть отредактированы вручную с помощью таких инструментов, как vipw и vigr, для выполнения наиболее распространенных операций существуют инструменты более высокого уровня.
2.1 Создание пользовательского аккаунта
Несмотря на то, что Kali чаще всего запускается, проводя аутентификации в качестве пользователя root, вам часто может понадобиться создавать непривилегированные учетные записи пользователей по разным причинам, особенно если вы используете Kali в качестве основной операционной системы. Самый простой способ добавить пользователя – это использовать команду adduser, которая требует определенный аргумент: имя пользователя (username) для нового пользователя, которого вы бы хотели создать.
Команда adduser задает несколько вопросов перед созданием учетной записи, но ее использование довольно простое. Его конфигурационный файл /etc/adduser.conf содержит множество интересных настроек. Вы можете, например, определить диапазон идентификаторов пользователей (user identifiers (UID)), который может быть использован для того, чтобы обозначить используют ли пользователи общую группу или нет, определить оболочку по умолчанию и многое другое.
Создание аккаунта запускает популяцию домашних директорий пользователей с содержимым шаблона /etc/skel/ . Это предоставляет пользователю набор стандартных директорий и файлов конфигурации.
В некоторых случаях будет очень полезно добавлять пользователя в группу (отличную от основной группы по умолчанию), чтобы предоставить дополнительные разрешения. Например, пользователь, включенный в группу sudo, имеет полные административные права через sudo команду. Подобного результата можно достичь с помощью использования следующей команды adduser группа пользователя.
Использование getent для обращения к базе данных пользователя:
Команда getent (получение записей (get entries)) проверяет системные базы данных (включая базы данных пользователей и групп) используя соответствующие функции библиотек, которые в свою очередь вызывают модули системы идентификации имен (name service switch (NSS)), настроенные в файле /etc/nsswitch.conf. Данная команда использует один или два аргумента: имя базы данных, которую необходимо проверить, и возможный ключ поиска. Таким образом, команда getent passwd kaliuserl выдаст информацию из пользовательской базы данных о пользователе kaliuserl.
2.2 Изменение существующей учетной записи или пароля
Следующие команды разрешают изменения информации, хранящейся в конкретных областях пользовательской базы данных:
- passwd — позволяет обычным пользователям изменять свой пароль, который в свою очередь, обновляет файл /etc/ shadow файл;
- chfn — (Сменить полное имя (CHange Full Name)), зарезервированное для суперпользователя (root), изменяет GECOS, или область ”общая информация”;
- chsh —(Сменить оболочку (CHange SHell)) изменяет оболочку входа пользователя. Однако доступные варианты будут ограничены теми, которые перечислены в /etc/shells ; администратор, с другой стороны, не связан этим ограничением и может установить оболочку в любую выбранную программу;
- chage—(CHange AGE) позволяет администратору изменять настройки срока действия пароля, указывая имя пользователя в качестве аргумента или отображая текущие настройки с помощью параметра -I пользователь. Кроме того, вы также можете принудительно завершить использование пароля с помощью команды passwd -e пользователь, которая заставляет пользователя менять свой пароль при следующем входе в систему.
2.3 Блокирование аккаунта
Вам может потребоваться отключить учетную запись (заблокировать пользователя) в качестве дисциплинарной меры в целях расследования или просто в случае длительного или окончательного отсутствия пользователя. Заблокированная учетная запись означает, что пользователь не может войти в систему или получить доступ к машине. Учетная запись остается неповрежденной на машине, и никакие файлы или данные не удаляются; она просто недоступна. Это достигается с помощью команды passwd -l пользователь (lock). Повторное включение учетной записи выполняется аналогичным образом с опцией -u (разблокировка).
2.4 Управление Unix группами
Команды addgroup и delgroup добавляют или удаляют группу, соответственно. Команда groupmod изменяет информацию о группе (ее gid или идентификатор). Команда gpasswdgroup изменяет пароль для группы, а команда gpasswd -r группа удаляет его.
Работа с несколькими группами:
Каждый пользователь может быть членом многих групп. Основная группа пользователей по умолчанию создается во время начальной настройки пользователя. По умолчанию каждый файл, созданный пользователем, принадлежит пользователю, а также основной группе пользователя. Это не всегда желательно; например, когда пользователь должен работать в директории, разделяемой группой, отличной от их основной группы. В этом случае пользователю необходимо изменить группы, используя одну из следующих команд: newgrp, которая запускает новую оболочку или sg, которая просто выполняет команду, используя предоставленную альтернативную группу. Эти команды также позволяют присоединиться к группе, к которой они в настоящее время не принадлежат. Если группа защищена паролем, им необходимо будет предоставить соответствующий пароль перед выполнением команды.
В качестве альтернативы, пользователь может установить setgid bit на директорию, что позволяет файлам, созданным в директории, автоматически принадлежать верной группе. Для получения большей информации, смотри заметку «директория setgid и sticky bit».
Команда id отображает текущее состояние пользователя, его личный идентификатор (переменную uid), текущую основную группу (переменную gid) и список групп, к которым они принадлежат (переменная groups).
Источник
Как создать пользователя Linux
Основу управления правами доступа в Linux и уровнем привилегий в Linux составляют именно пользователи. Изначально, еще при проектировании системы существовал пользователь root, которому позволено выполнять любые действия и другие пользователи, права которых настраиваются с помощью вступления их в группы Linux и установки прав на каталоги.
Многопользовательская архитектура, одна из первых особенностей Linux, которая существует еще с зарождения системы. В системе могут работать одновременно множество пользователей благодаря удаленному входу, а также пользователи используются для запуска определенных сервисов. В этой статье мы рассмотрим как создать пользователя linux, рассмотрим способ через терминал и в графическом интерфейсе.
Создание пользователя в Linux
Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.
Команда useradd
Это довольно простая команда, которая есть во всех дистрибутивах Linux. Она позволяет зарегистрировать нового пользователя или изменить информацию об уже имеющемся. Во время создания можно даже создать домашний каталог пользователя и скопировать в него системные файлы. Рассмотрим синтаксис команды:
$ useradd опции имя_пользователя
Все довольно просто, дальше нам нужно рассмотреть основные опции команды, с помощью которых вы будете настраивать нового пользователя:
- -b — базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
- -c — комментарий к учетной записи;
- -d — домашний каталог, в котором будут размещаться файлы пользователя;
- -e — дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
- -f — заблокировать учетную запись сразу после создания;
- -g — основная группа пользователя;
- -G — список дополнительных групп;
- -k — каталог с шаблонами конфигурационных файлов;
- -l — не сохранять информацию о входах пользователя в lastlog и faillog;
- -m — создавать домашний каталог пользователя, если он не существует;
- -M — не создавать домашнюю папку;
- -N — не создавать группу с именем пользователя;
- -o — разрешить создание пользователя linux с неуникальным идентификатором UID;
- -p — задать пароль пользователя;
- -r — создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
- -s — командная оболочка для пользователя;
- -u — идентификатор для пользователя;
- -D — отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.
Теперь, когда вы знаете основные необходимые нам параметры утилиты мы можем перейти к разбору того, как выполняется создание нового пользователя linux. Сначала давайте посмотрим какие параметры будут применены для пользователя по умолчанию:
Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:
sudo useradd test
Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:
sudo useradd -p password -s /bin/bash test1
Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:
sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash test2
Также, можно установить дату, когда аккаунт пользователя будет отключен автоматически, это может быть полезно для пользователей, которые будут работать временно:
sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash -e 01:01:2018 test2
Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:
sudo useradd -o -u 0 -g 0 -s /bin/bash newroot
Пожалуй, это все основные примеры как добавить пользователя linux. Дальше нам осталось взглянуть только на работу в графическом интерфейсе.
Создание нового пользователя linux в GUI
В графическом интерфейсе системы создать нового пользователя linux еще проще. Рассмотрим окружение Gnome, хотя и в KDE тоже есть аналогичная функция. Войдите в главное меню и откройте параметры системы:
Затем откройте «Пользователи»:
Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»:
Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:
В открывшемся окне нужно заполнить все поля. Но тут намного больше ограничений, чем в методе через терминал. Вы не можете задать слишком простой пароль, а также нельзя настроить группы. Можно только указать будет ли пользователь включен в группу wheel с помощью выбора типа пользователя — администратор или обычный:
После этого создание пользователя linux завершено, новый пользователь появится в списке.
Выводы
В этой статье мы рассмотрели как создать пользователя linux с помощью терминала или в графическом интерфейсе системы. Оба способа имеют свои преимущества. Например, способ в терминале намного гибче, но в то же время графический способ дает больше контроля над процессом. Если у вас остались вопросы, спрашивайте в комментариях!
Источник