Аутентификация клиентов Linux с помощью Active Directory

Начинающие мастера часто сталкиваются с проблемой, когда заканчивается свободное место на хостинге или VPS с Linux. При этом объёмных работ по наполнению сайтов, работающих на сервере, не производилось. У моего коллеги был случай, когда из-за нехватки места не могли создастся файлы сессий на сайте. Давайте разберёмся, как это предотвратить на реальном примере.

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

Создание новых групп — это не то, что многие пользователи делают, так как большинство дистрибутивов Linux не нуждается в этом. Если вы устанавливаете программное обеспечение или управляете вещами таким образом, что требуется новая группа, самый быстрый способ выполнить это с помощью командной строки с помощью команды использовать groupadd, вам потребуется root-доступ или, по крайней мере, возможность взаимодействовать с системой через sudo-привилегии. Подтвердите, что ваш пользователь может это сделать, затем откройте терминал и выполните следующие действия для создания новой группы:

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

su — groupadd newgroupили, в качестве альтернативы, создать новую группу с sudo: sudo groupadd newgroupальтернативно, создавать сразу несколько групп: su — groupadd newgroup, newgroup2, newgroup3или sudo groupadd newgroup, newgroup2, newgroup3Groupadd создаст новую группу в вашей системе Linux. Чтобы подтвердить, что группа существует, подумайте о фильтрации по списку групп на вашем ПК. cut -d: -f1 / etc / group | grep newgroupКомбинируя указанную команду с grep, можно отфильтровать новую группу, которую вы создали. Если команда ничего не возвращает, попробуйте снова создать группу пользователей. Удалить группы Linux Если вы не используете какую-либо группу на своем Linux-ПК, рекомендуется удалить ее. Удаление группы пользователей в Linux так же просто, как создание новой. Сначала войдите в систему как su или подтвердите, что ваш пользователь может выполнять команды sudo. Затем запустите команду groupdel, чтобы избавиться от существующей группы. su- groupdel newgroupили sudo groupdel newgroupЗапуск groupdel должен избавиться от него. Перечислите все доступные группы на вашем ПК. cut -d: -f1 / etc / group | grep newgroupЕсли Grep ничего не вернет, вы наверняка узнаете, что группа ушла. Добавить / удалить пользователей в группы Linux Чтобы добавить существующих пользователей во вновь созданную группу, вам нужно будет использовать команду usermod. Откройте терминал и используйте команду cut для просмотра всех групп. Перейдите по списку и найдите имена групп, в которые вы хотели бы добавить своего пользователя. Кроме того, используйте имя группы пользователей, созданной Как и прежде, подтвердите, что вы можете войти в Root с помощью su или использовать sudo до изменения важной информации о пользователе. su — usermod -a -G newgroup yourusernameили sudo usermod -a -G newgroup yourusernameПодтвердите, что ваш пользователь добавлен в новую группу, выполнив следующую команду: groups Управление пользователями Linux Помимо управления группами в Linux, изучение того, как создавать и управлять пользователями, также является ключом к поддержанию гармоничной системы Linux. В отличие от управления группами, инструменты пользователя намного менее сложны. Это не так уж сложно. В этом разделе руководства мы рассмотрим, как создать нового пользователя в Linux с помощью командной строки и как удалить пользователя. Создать нового пользователя Linux Вам нужно создать нового пользователя в вашей Linux-системе? Начните с открытия окна терминала. В терминале получить доступ root с помощью su или sudo. su — или sudo -sТеперь, когда у вас есть корневая оболочка, гораздо проще манипулировать пользователями, не добавляя «sudo» и пароль снова и снова. Чтобы создать нового пользователя с полным домашним каталогом, выполните приведенную ниже На некоторых Linux-ПК вам может потребоваться заменить «useradd» на «adduser». useradd newuserВ качестве альтернативы, можно создать нового пользователя и назначить группы одновременно: useradd -G group1, group2, group3, group4, group5, group6 newuserПосле создания нового пользователя установите пароль: passwd newuser Удалить пользователя Linux Удаление пользователей в Linux довольно легко и просто. Избавление от пользователя можно легко выполнить в Linux, используя команду Прежде чем продолжить удаление пользователей, обязательно выйдите из системы. Это очень плохая идея удалить пользователя, который в настоящее время используется. Все может пойти не так, и вы это того, как вы убедитесь, что не вошли в пользователь, которого вы планируете удалить, запустите: su — или sudo -sС последующим: userdel -r newuserЧтобы удалить пользователя, но сохраните домашний каталог, выполните следующую команду:userdel newuser

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

Как дать права на папку Linux

Операционные системы Линукс позволяют давать права на каталог с помощью команды «chmod». Выполнена она может быть символьным или абсолютным видом. В первом случае присваиваются параметры r, w или x, которые определяют, можно ли тому или иному пользователю читать, просматривать или изменять данные.

Читайте также:  Linux Ubuntu проти Windows 10. Личный опыт

Как добавить пользователя в группу Linux — описание способов

Гораздо практичнее воспользоваться абсолютным способом. Он основан на команде «rw-r—». Эти символы означают то, что User способен лишь читать и изменять файл (ключи r и w соответственно). При этом участники группы, в которой он состоит. Могут лишь просматривать содержимое.

Как дать права на папку Linux

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

Для работы с абсолютным редактированием прав, необходимо переводить параметры в восьмеричную систему счисления. К примеру, если человек может читать файл или папку, то это «1». Если еще и редактировать, то это тоже «1».  Запуск ограничен, поэтому «0». Получается число «110». Перевод его в восьмеричную систему дает результат «6». После этого по образцу шифруют права группы и посторонних людей. Получается три цифры, которые будут использованы в команде «chmod ХХХ имя_файла», где ХХХ – цифры привилегий в восьмеричной системе, а «имя файла» – наименование папки или файла, права которых редактируются.

Таблица перевода параметров из двоичной в восьмеричную систему

Управление текстом

  • cut file — выделение из файла file указанных последовательностей и отправка на стандартный вывод
  • cat file – отображение содержимого file на стандартный вывод
    • -E — отображение концов строк
    • -n — нумерация строк
  • tac file – отображение содержимого file на стандартный вывод в обратном порядке
  • echo file — отображение содержимого file на стандартный вывод
    • echo string > file запись строки string в файл file (при наличии в файле других строк, файл перезаписывется)
    • echo string >> file ДОзапись строки string в КОНЕЦ файла file (при наличии в файле других строк, строка string дописывается в конец файла file )
    • -e — интерпретировать управляющие символы, такие как (\n — новая строка,\t -горизонтальаня табуляция и т.п.)
  • expand — Конвертирует символы табуляции в пробелы
  • rev  file — Меняет в заданном файле порядок строк на обратный
  • seq — Выдает последовательность чисел из указанного диапазона с указанным значением приращения
  • shred — Удаляет указанные файлы, путем перезаписывания на их место данных по сложным образцам, что усложняет восстановление удаляемых файлов
  • shuf — Перемешивает строки текста
  • sort — сортировка строк текстовых файлов по указанным параметрам
    • -k — указание номера поля, по которому сортируем
    • -t — разделитель
    • -n — числовая сортировка, т.е. сравнение ведётся по числовому значению (используют совместно с параметром -b)
    • -r — сортировка в обратном порядке
    • -R — в произвольном порядке
    • -u — исключение повторяющихся строк
  • tail file – вывести последние 10 строк file
    • -f – вывести содержимое file по мере роста, начинает с последних 10 строк
  • tailf file — аналог tail -f
  • wc File — печатает число строк, слов и байт в файле File
    • -c, —bytes — байтов
    • -m, —chars — символов
    • -l, —lines — строк
    • -L, —max-line-length — число символов в строе максимальной длины
  • tr string1 string2— символьное преобразование символов из string1 в string2(echo mama | tr abcd ABCD)
    • -s — замена повторяющихся символов на один
    • -d — убрать из вывода символы (abcd)
  • unexpand — Конвертирует символы пробелов в символы табуляции
  • uniq — Удаляются все повторяющиеся копии уже имеющихся строк

Установка переменных среды

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

Создадим новую переменную оболочки с именем MY_VAR и значением Abuzov, для этого введём:

MY_VAR=’Abuzov’

Вы можете проверить, что переменная установлена, используя echo $MY_VAR. Для фильтрации вывода команды set с помощью grep set | grep MY_VAR:

echo $MY_VAR

Используйте команду printenv, чтобы проверить, является ли эта переменная переменной среды:

printenv MY_VAR

bash -c ‘echo $MY_VAR’

Команда export используется для установки переменных окружения. Чтобы создать переменную, просто экспортируйте переменную оболочки как переменную среды:

export MY_VAR

Теперь выполнение команды printenv MY_VAR выведет на экран значение Abuzov. Дополнительно, можно устанавливать переменные среды командой в одну строку:

export MY_NEW_VAR=»My New Var»

Переменные среды, созданные таким образом, доступны только в текущем сеансе. Если вы откроете новую оболочку или выйдете из системы, все переменные будут потеряны.

Как создать пользователя с помощью другого домашнего каталога

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

sudo useradd -m -d / test test

Вышеупомянутая команда создаст папку под названием test для пользовательского теста в корневой папке.

Как создать пользователя с помощью другого домашнего каталога

Примечание. Внутри -m-переключателя папка может не создаваться. Это зависит от настройки в /etc/

Чтобы заставить это работать, не указав ключ -m, отредактируйте файл /etc/, а в нижней части файла добавьте следующую строку:

CREATE_HOME да

Логи ошибок в Ubuntu

Рассмотрим теперь вопрос с расположением лога ошибок в Ubuntu. Как такового отдельного error log в традиционных linux системах нет. И Убунта тут не исключение. Ошибки придется искать по системным и программным логам выборкой ключевых слов. Обычно используют следующие фразы:

  • error или err
  • critical или crit
  • debug
  • warn
Логи ошибок в Ubuntu

Например, посмотрим в логе загрузки dmesg все сообщения уровня предупреждений (warn).

sudo dmesg -l warn

А теперь проверим ошибки в системном логе.

sudo cat /var/log/syslog | grep error

Логи ошибок в Ubuntu

Видим некоторые ошибки в службе systemd-resolved.

Регистр имен

Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы и будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.

Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:

Регистр имен

Стандарт иерархии файловой системы

  • / — root каталог. Содержит в себе всю иерархию системы;
  • /bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);
  • /boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);
  • /dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;
  • /etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;
  • /home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;
  • /lib — содержит системные библиотеки, с которыми работают программы и модули ядра;
  • /lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;
  • /media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;
  • /mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;
  • /opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);
  • /proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;
  • /root — директория, которая содержит файлы и личные настройки суперпользователя;
  • /run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;
  • /sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;
  • /srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);
  • /sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;
  • /tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;
  • /usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;
  • /var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.
Читайте также:  Как удалить файлы и каталоги в терминале Linux

Детальное исследование занятого места на дисках в Linux

Для детального исследования занятого пространства в linux рекомендую использовать утилиту ncdu. Установить ее можно командой:

sudo apt-get install ncdu

Если у вас yum, вместо apt-get, то:

sudo yum install

Детальное исследование занятого места на дисках в Linux

После установки перейдите в любую папку и выполните в консоли команду:

ncdu

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

Таким образом, можно искать папки, занимающие большие объёмы дискового пространства.

Смена владельцев и групп

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

Две команды доступны для изменения владельца и группы файлов —

  • chown — команда chown означает «сменить владельца» и используется для смены владельца файла.

  • chgrp — команда chgrp расшифровывается как «изменить группу» и используется для изменения группы файла.

chown — команда chown означает «сменить владельца» и используется для смены владельца файла.

chgrp — команда chgrp расшифровывается как «изменить группу» и используется для изменения группы файла.

Настройка работы Linux с сетью

Чтобы проверять подлинность с помощью Active Directory, компьютер Linux должен иметь возможность связываться с контроллером домена. Чтобы это могло произойти, необходимо настроить три параметра сети.

Во-первых, важно убедиться, что сетевой интерфейс на компьютере Linux настроен должным образом либо путем использования протокола DHCP, либо путем назначения ему соответствующего IP-адреса и сетевой маски с помощью команды ifconfig. В случае RHEL5 можно настроить работу с сетью, выбрав ее (Network) из меню System | Administration (Система | Администрирование), как показано на рис. 8.

Рис 8. Настройка сети

Далее убедитесь, что служба разрешения имен DNS для компьютера Linux установлена на использование того же сервера имен DNS, который используют контроллеры домена; в большинстве случаев это контроллер домена в домене, к которому требуется присоединить компьютер Linux, предполагая, что используется DNS, интегрированная с Active Directory. Средство разрешения DNS настраивается на вкладке DNS той же служебной программы настройки сети, которая использовалась для настройки сети, как показано на рис. 9.

Рис 9. Установка основного средства разрешения DNS

Наконец, по завершении этих действий, нужно установить имя компьютера Linux для отражения его имени в домене. Хотя это имя можно установить, используя приложение настройки сети, это, похоже, не всегда работает должным образом.

Вместо этого измените файл /etc/hosts и добавьте запись под записью в форме <ip адрес> <полное доменное имя> <имя компьютера>. (Пример: "10.7.5.2 linuxauth".) Мне следует отметить, что если этого не сделать, то после присоединения компьютера Linux к домену в каталоге будет создан неверный объект компьютера.