Риски безопасности при использовании rhosts
Хранение файла .rhost в вашей системе открывает дверь для потенциальных угроз безопасности. Например, хакеры могут подделать IP-адреса или информацию DNS, чтобы получить доступ к вашей системе. Поэтому вы должны ограничить права на чтение и запись только для владельца.
В отличие от файлов hosts.equiv, которые защищены правами администратора, файлы .rhosts могут быть созданы любым пользователем, подвергая риску всю систему. Если вы являетесь администратором своей сети, вам следует запретить файлы .rhosts, хотя вам может потребоваться сохранить их в корневой учетной записи для резервного копирования сети.
Что такое Linux?
История и определение
В 1969 году в дочернем подразделении компании AT&T – Bell Laboratories – была выпущена операционная система Unix, которая стала основной для большого количества операционных систем того времени. UNIX была проприетарной системой, лицензия на нее стоила порядка 40 000 долларов. Таким образом, позволить себе ее покупку могли только крупные компании. Это послужило толчком для старта в 1983 году проекта GNU – GNU is Not Unix. Его основоположник, Ричард Столлман, объявил целью проекта создание свободно распространяемой операционной системы. Чуть позже Столлманом был написан знаменитый манифест GNU, который стал основой для лицензии GPL (GNU General Public License), актуальной и по сей день. К началу 1990-х годов в рамках проекта GNU было написано большинство компонентов ОС – оболочка bash, компиляторы, отладчик, текстовый редактор и др. Не хватало лишь ядра операционной системы.
В 1991 году Линус Торвальдс, будучи студентом финского университета, увлекся идеей написания ядра операционной системы для своего персонального компьютера с процессором Intel. Вдохновлением и прототипом для будущего Linux стала совместимая с Unix операционная система для персональных компьютеров Minix. Уже в августе 1991 года было написано ядро операционной системы, в нее были портированы оболочка bash и компилятор gсс из проекта GNU. По признанию самого Линуса, изначально это было не более, чем хобби, однако проект оказался весьма востребованным, к нему начали присоединяться разработчики со всего мира. Дополненная массой программ, разработанных в рамках проекта GNU, ОС Linux стала пригодна для практического использования. При этом ядро системы распространялось под лицензией GNU General Public License, что гарантировало свободное распространение кода ядра системы.
Читать подробнее: История Linux. Вкратце о главном
Итак, сегодня Linux (или GNU/Linux) – семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU. Linux-системы распространяются в виде различных дистрибутивов, имеющих свой набор системных и прикладных компонентов (как свободных, так и проприетарных).
Серверные дистрибутивы
Дистрибутив Linux — это операционная система, созданная на основе ядра Linux, которая включает в себя набор библиотек и утилит (пакетов), разработанных в рамках проекта GNU, а также систему управления пакетами (менеджер пакетов). В настоящее время существует более 500 различных дистрибутивов, разрабатываемых как при коммерческой поддержке (Red Hat / Fedora, SLED / OpenSUSE, Ubuntu и др.), так и исключительно усилиями добровольцев (Debian, Slackware, Gentoo, ArchLinux и др.).
Дистрибутивы делятся на несколько типов в зависимости от базового дистрибутива и системы управления пакетами. Вот несколько примеров наиболее популярных серверных дистрибутивов двух типов:
-
(используют формат пакетов .rpm)RedHat Enterprise Linux, CentOS, Fedora
-
(используют формат пакетов .deb)Debian, Ubuntu, Astra Linux
Стоит отметить, что существует великое множество различных дистрибутивов на любой вкус и цвет. Их невозможно даже сосчитать, так как практически каждый представитель сообщества может собрать свой собственный дистрибутив на основе ядра Linux.
Точки монтирования
Вам может быть интересно, почему мы так сфокусировались на кажущимся произвольно выбранном файле, содержащим в себе список точек монтрирования. Что в нём такого особенного? Список точек монтирования даёт процессу полное описание доступных файловых систем в системе и, поскольку мы пребываем на территории Linux с мантрой всё есть файл, видимость почти каждого ресурса диктуется этим описанием: от фактических файлов и устройств до информации о том, какие другие процессы также запущены в системе. Таким образом, это даёт огромный выигрыш в безопасности для , позволяющий точно указывать о каких именно частях системы будут в курсе команды, которые мы хотим выполнить. Пространства имён mount в сочетании с точками монтирования являются очень мощным инструментом, который позволит нам этого достичь.
Мы можем видеть точки монтирования, видимые для процесса с id посредством файла — его содержимое одинаково для всех процессов, принадлежащих к тому же mount namespace, что и :
В списке, полученном на моей системе, видно устройство , смонтированное в (ваше может быть другим). Это дисковое устройство, на котором размещена корневая файловая система, которая содержит всё что нужно для запуска и правильной работы системы, поэтому было бы здорово, если бы запускала команды без ведома о таких файловых системах.
Давайте начнём с запуска терминала в его собственном mount namespace:
Хммм, мы всё еще можем видеть тот же самый список, что и в корневом mount namespace. Особенно после того, как в предыдущем посте стало ясно, что новый user namepace начинается с чистого листа, может показаться, что флаг , который мы передали , не дал никакого эффекта.
Процесс шелла фактически выполняется в другом mount namespace (мы можем убедиться в этом, сравнив файл симлинка с файлом другой копии шелла, работающей в корневом mount namespace). Причина, по которой мы все еще видим тот же список, заключается в том, что всякий раз, когда мы создаем новый mount namespace (дочерний), в качестве дочернего списка используется копия точек монтирования mount namespace, в котором происходило создание (родительского). Теперь любые изменения, которые мы вносим в этот файл (например, путём монтирования файловой системы), будут невидимы для всех других процессов.
Однако изменение практически любого другого файла на этом этапе будет влиять на другие процессы, поскольку мы всё ещё ссылаемся на те же самые файлы (Linux только делает копии особых файлов, таких как список точек монтирования). Это означает, что сейчас у нас минимальная изолированность. Если мы хотим ограничить то, что будет видеть наш командный процесс, мы должны сами обновить этот список.
Теперь, с одной стороны, поскольку мы пытаемся позаботиться о безопасности, мы могли бы просто сказать нах* всё и сделать в полную очистку содержимого этого списка перед выполнение команды. Но это сделает запуск команды бесполезным, поскольку каждая программа, по крайней мере, зависит от ресурсов, вроде файлов операционной системы, которые, в свою очередь, обеспеченны какой-то файловой системой. С другой стороны, мы могли бы просто выполнить команду как есть, расшарив на неё те же файловые системы, что содержат необходимые системные файлы. Но это сводит на нет цель этого производимого нами дальше изолирования.
Лучшее решение — предоставить программе собственную копию зависимостей и системных файлов, которые требуются для запуска целиком в «песочнице», чтобы она могла вносить в них какие-либо изменения, не влияя на другие программы в системе. По лучшему сценарию мы можем поместить эти файлы в файловую систему и смонтировать её как корневую файловую систему (в корневой каталог ) до выполнения ничего не подозревающей программы. Идея заключается в том, что поскольку всё, что доступно процессу, должно достигаться через корневую файловую систему, и поскольку мы будем точно знать, какие файлы мы туда помещаем для командного процесса, мы будем спокойны, зная, что он должным образом изолирован от остальной системы.
Хорошо, в теории это звучит хорошо и для реализации этого мы сделаем следующее:
- Создадим копию зависимостей и системных файлов, необходимых команде.
- Создадим новый mount namespace.
- Заменим корневую файловую систему в новом mount namespace на ту, которая содержит копии наших системных файлов.
- Выполним программу в новом mount namespace.
Кто занимается разработкой
Дистрибутив Linux — это сумма множества различных частей, взятых из самых разных мест. Ядро Linux, набор основных утилит GNU и пользовательские приложения объединены для создания жизнеспособного дистрибутива. И кто-то должен заниматься этим объединением, обслуживанием и управлением — точно так же, как кто-то должен разрабатывать ядро, приложения и основные утилиты. Сопровождающие дистрибутивы и сообщества каждого дистрибутива играют свою роль в создании дистрибутива Linux так же, как и разработчики ядра.
Linux является результатом распределенных совместных усилий, выполняемых добровольцами, такими организациями, как Canonical и Red Hat, а также отдельными лицами, спонсируемыми отраслью.
Каждый коммерческий Unix разрабатывается как единое связное целое с использованием собственных или жестко контролируемых сторонних средств разработки. Часто они имеют уникальное ядро и разработаны специально для аппаратных платформ, поставляемых каждым поставщиком.
Бесплатные производные от BSD Unix с открытым исходным кодом, такие как FreeBSD, OpenBSD и DragonBSD, используют комбинацию унаследованного кода BSD и нового кода. Теперь они поддерживаются сообществом и управляются так же, как и дистрибутивы Linux.
DESCRIPTION top
The rcmd() function is used by the superuser to execute a command on a remote machine using an authentication scheme based on privileged port numbers. The rresvport() function returns a file descriptor to a socket with an address in the privileged port space. The iruserok() and ruserok() functions are used by servers to authenticate clients requesting service with rcmd(). All four functions are used by the rshd(8) server (among others). rcmd() The rcmd() function looks up the host *ahost using gethostbyname(3), returning -1 if the host does not exist. Otherwise, *ahost is set to the standard name of the host and a connection is established to a server residing at the well-known Internet port inport. If the connection succeeds, a socket in the Internet domain of type SOCK_STREAM is returned to the caller, and given to the remote command as stdin and stdout. If fd2p is nonzero, then an auxiliary channel to a control process will be set up, and a file descriptor for it will be placed in *fd2p. The control process will return diagnostic output from the command (unit 2) on this channel, and will also accept bytes on this channel as being UNIX signal numbers, to be forwarded to the process group of the command. If fd2p is 0, then the stderr (unit 2 of the remote command) will be made the same as the stdout and no provision is made for sending arbitrary signals to the remote process, although you may be able to get its attention by using out-of- band data. The protocol is described in detail in rshd(8). rresvport() The rresvport() function is used to obtain a socket with a privileged port bound to it. This socket is suitable for use by rcmd() and several other functions. Privileged ports are those in the range 0 to 1023. Only a privileged process (on Linux, a process that has the CAP_NET_BIND_SERVICE capability in the user namespace governing its network namespace) is allowed to bind to a privileged port. In the glibc implementation, this function restricts its search to the ports from 512 to 1023. The port argument is value-result: the value it supplies to the call is used as the starting point for a circular search of the port range; on (successful) return, it contains the port number that was bound to. iruserok() and ruserok() The iruserok() and ruserok() functions take a remote host's IP address or name, respectively, two usernames and a flag indicating whether the local user's name is that of the superuser. Then, if the user is not the superuser, it checks the /etc/hosts.equiv file. If that lookup is not done, or is unsuccessful, the .rhosts in the local user's home directory is checked to see if the request for service is allowed. If this file does not exist, is not a regular file, is owned by anyone other than the user or the superuser, is writable by anyone other than the owner, or is hardlinked anywhere, the check automatically fails. Zero is returned if the machine name is listed in the hosts.equiv file, or the host and remote username are found in the .rhosts file; otherwise iruserok() and ruserok() return -1. If the local domain (as obtained from gethostname(2)) is the same as the remote domain, only the machine name need be specified. If the IP address of the remote host is known, iruserok() should be used in preference to ruserok(), as it does not require trusting the DNS server for the remote host's domain. *_af() variants All of the functions described above work with IPv4 (AF_INET) sockets. The "_af" variants take an extra argument that allows the socket address family to be specified. For these functions, the af argument can be specified as AF_INET or AF_INET6. In addition, rcmd_af() supports the use of AF_UNSPEC.
Полезные клавиши и функции
Tab — автозавершение.
Чтобы не вводить длинные названия файлов и папок или команд, достаточно написать пару первых букв и нажать Tab, система сама дополнит команду или путь к файлу — но только до того символа, с которого начнётся «разветвление». Звучит сложно, но вот пример: если набрать /home//D, то автокомплит не сработает, потому что по этому пути есть три папки, которые начинаются на букву D — Downloads, Documents и Desktop.
alias — создание синонимов для команд.
С помощью alias можно переименовывать команды или создавать свои. Это удобно, если команда имеет длинное имя, а вы часто ей пользуетесь.
Синтаксис: alias .
Чтобы узнать, какие алиасы уже есть в системе, введите alias:
Создать алиас для команды clear можно так:
unalias — удалить alias.
Созданным таким образом алиасы сохраняются только до следующей перезагрузки системы. Чтобы сделать алиас постоянным, нужно прописать его в файле ~/.bashrc.
& & — выполнение сразу нескольких команд.
Команды можно связывать и запускать вместе.
& & .
| (pipe) — вывод результата первой команды во вторую.
ps axu | grep .
Горячие клавиши
Ctrl + Shift + T — открыть новую вкладку в терминале.
Ctrl + Shift + C — копировать текст из терминала, аналог Ctrl + C.
Ctrl + Shift + V — вставить текст в терминал, аналог Ctrl + V.
Ctrl + A, Ctrl + E — перемещение в начало/конец строки в терминале.
Alt + B, Alt + F — перемещение по слову назад/вперёд.
Alt + D — удаление следующего слова.
Ctrl + U — удалить всё до начала.
Ctrl + K — удалить всё до конца.
Icinga – Мониторинг сервера следующего поколения
Icinga – это программа контроля сети, она показывает вам множество опций и информацию о ваших сетевых подключениях, устройствах и процессах, это очень хороший выбор для тех, кто ищет хороший инструмент для мониторинга всего, что связано с сетью.
Особенности Icinga:
- Как и все остальные инструменты здесь, программа бесплатна и у неё открытый исходный код.
- Очень функциональна в слежении за всем, что у вас только может быть в сети.
- Включена поддержка для MySQL и PostgreSQL.
- Мониторинг реального времени с приятным веб-интерфейсом.
- Много модулей и расширений для дополнительной функциональности
- Много всего другого
Модуль 11. Анализ производительности и оптимизация системы
11.2 Стресс тестирование и выявление нагрузки на CPU
-
Утилита john
-
Утилита ps
$ stress -c 6 -t 60s $ top $ ps ax -o pcpu,pid,user,command --sort pcpu $ uptime linux$ cat /proc/loadavg
11.4 Стресс тестирование и выявление нагрузки на HDD
# cat /sys/block/sda/stat $ stress -d 2 --hdd-bytes 2GB $ while true; do head -c 1G </dev/urandom >myfile;done $ while true; do grep -r `openssl rand -base64 12` /usr /var; done linux# iotop linux# iostat
11.7 Оптимизация производительности или ее тестирование на реальной задаче
Управление ядром и модулями в Linux
- Перечислите основные ресурсы системы.
- Перечислите команды, позволяющие найти критический ресурс.
Инструменты для анализа безопасности SSH
Программные продукты и настройки со временем меняются. Поэтому полезно регулярно их сканировать.
Lynis
Универсальный инструмент безопасности с открытым кодом для тестирования безопасности систем Linux. Он проверит все, что может, от загрузчика до сервера. Он бесплатный и написан с помощью shell script. Lynis работает в самой системе, поэтому может просматривать как файлы конфигурации, так и фактически загруженную конфигурацию. Он включает в себя несколько тестов для OpenSSH и его конфигураций, включая параметры безопасности. Результаты или возможные улучшения отображаются на экране, что позволяет непосредственно приступить к действиям и начать усиливать безопасность системы.
Скачайте утилиту с GitHub или с сайта. Используйте инструкцию, чтобы быстрее понять, с чего начать работу.
ssh-audit
Несмотря на то, что инструмент ssh-audit немного устарел, его стоит иметь в своем арсенале. Вместо тестирования на самом хосте, он может подключаться к SSH-серверу через сеть. Он выполняет тестирование на выбранной системе и просматривает полученные ответы, на основании которых узнает о системе и сервере SSH. Он даже узнает о конкретных уязвимостях и может предупредить о них. Загрузите инструмент через GitHub и попробуйте применить.
Чтобы найти больше информации о других инструментах, читайте раздел «Сканеры конфигурации безопасности Linux».
Удалить программу через GUI
В Ubuntu и многих других дистрибутивах необязательно использовать консоль для удаления программ, существуют центры приложений и графические интерфейсы. Здесь достаточно запустить утилиту, выбрать нужную программу или пакет и удалить ее. Например, во многих дистрибутивах применяется Gnome Software. Сначала запустите его из главного меню:
Затем найдите нужную программу, например, Gimp:
Откройте ее и нажмите кнопку «Удалить»:
Далее, подтвердите что ее нужно удалить и введите пароль суперпользователя:
После завершения работы, программа будет полностью удалена с вашего компьютера.
Команды Linux, для работы с файлами
Эти команды используются для обработки файлов и каталогов.
33. ls
Очень простая, но мощная команда, используемая для отображения файлов и каталогов. По умолчанию команда ls отобразит содержимое текущего каталога.
34. pwd
Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.
Пример ример ниже:
35. mkdir
В Linux мы можем использовать команду mkdir для создания каталога.
По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.
36. cat
Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.
В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.
37. rm
Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.
38. cp
Команда Cp используется в Linux для создания копий файлов и каталогов.
Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.
39. mv
Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.
40.cd
Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.
41. Ln
Символическая ссылка или программная ссылка — это особый тип файла, который содержит ссылку, указывающую на другой файл или каталог. Команда ln используется для создания символических ссылок.
Команда Ln использует следующий синтаксис:
42. touch
Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.
44. head
Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.
45. tail
Как вы, возможно, знаете, команда cat используется для отображения всего содержимого файла с помощью стандартного ввода. Но в некоторых случаях нам приходится отображать часть файла. По умолчанию команда tail отображает последние десять строк.
46. gpg
GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.
50. uniq
Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.
53. tee
Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.
54. tr
Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.
Утилита xhost в Unix/Linux
Xhost это утилита для изменения параметров доступа к X-серверу из пакета X11-xserver-utils. Данная утилита, является частью безопасности X11. Она управляет списком удаленного сервера, который может установить соединение с локальным X сервером. Так же, данная программа, используется для добавления и удаления хостов или пользователей в список, разрешенный для подключения к X-серверу.
В случае с хостами это обеспечивает рудиментарную форму контроля конфиденциальности и безопасности. Этого достаточно для рабочей станции в одмнотользовательском (single user, not multi user) режиме.
№ 10: Используйте сильные пароли
Нельзя переоценить, насколько важно использовать сильные
пользовательские пароли или пароли для ваших ключей. Атака методом
грубой силы работает, если Вы пользуетесь паролями, которые
подбираются по словарю
Вы можете заставить пользователей не применять
. Используйте специальное средство
для поиска используемых слабых паролей. Ниже приведен пример генератора случайных паролей (поместите в ваш файл ~/.bashrc):
genpasswd() { local l=$1 && l=20 tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs }
Запустите генератор:
genpasswd 16
Вы получите следующий результат:
uw8CnDVMwC6vOKgW
Как UNIX стал стандартом
С середины 1970-х годов идёт довольно мутная история, в которой компания AT&T долго и небезуспешно пытается заработать на UNIX, а американские университеты и инженеры-любители делают свою открытую версию. Идёт конкуренция между стандартами, инструментами, поставками и протоколами.
Конкуренция выливается в то, что у UNIX появляется множество более совершенных потомков. Их мы называем Unix-подобными системами.
Можно сказать, что Unix-подобность — это такой набор правил, условностей и стандартов, которых должны придерживаться новые операционки, чтобы сохранять преемственность и некоторую совместимость. То есть такой ГОСТ для операционных систем. Операционка может быть и без ГОСТа, но с ним лучше.
10 Простых Примеров :
1. Добавить всем права на чтение файла :
$ chmod a+r file
2. Забрать права на исполнение файла у всех :
$ chmod a-x file
3. Добавить всем права на чтение и запись :
$ chmod a+rw file
4. Установить права на чтение и запись для владельца и забрать права у всех остальных :
$ chmod u=rw,go= file
5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :
$ chmod -R u+w,go-w directory
6. Забрать у всех все права :
$ chmod file
7. Дать всем права на права на чтение, запись и выполнение файла :
$ chmod 777 file
8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :
$ chmod 664 file
9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :
$ chmod -R u+rwX,g-rwx,o-rwx directory
10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :
$ chmod -R a-x+X directory
Имена
Полное имя имеет синтаксис «семьяимя«где семьи следующие:
инет | Интернет-хост (IPv4). |
inet6 | Интернет-хост (IPv6). |
dnet | Хост DECnet. |
шек | Защищенное сетевое имя RPC. |
krb | Принципал Kerberos V5. |
местный | Содержит только одно имя, пустую строку. |
си | Сервер интерпретирован. |
В семействе регистр не учитывается. Формат имени зависит от семьи.
При использовании Secure RPC сетевое имя, независимое от сети (например, «шек: unix.uid@доменное имя«), либо можно указать локального пользователя, указав только имя пользователя и завершающий знак at (например,»шекелей:погладить@»). Для обратной совместимости с версиями до R6 xhost, имена, содержащие знак at (@) считаются принадлежащими к семейству nis. В противном случае предполагается, что это адреса в Интернете. Если скомпилирован для поддержки IPv6, то все адреса IPv4 и IPv6, возвращаемые getaddrinfo добавляются в список доступа в соответствующем семействе inet или inet6.
Местная семья указывает сразу все локальные связи. Однако сервер интерпретировал адрес «si: localuser:имя пользователя«можно использовать для указания одного локального пользователя.
Адреса, интерпретируемые сервером, состоят из тега типа с учетом регистра и строки, представляющей заданное значение, разделенных двоеточием. Например, «си:имя хоста: almas»- это интерпретируемый сервером адрес типа имя хоста со значением Алмас.
Первоначальный список управления доступом для дисплея номер n может быть установлен файлом / etc / Xп.hosts, где п — это номер дисплея сервера.
Флаги управления PAM.
Каждый модуль PAM возвращает результат успешного выполнения или
неудачи. Флаги управления говорят PAM, что нужно делать с
результатом
Когда модули расположены в определенной
последовательности, флаги дают вам возможность установить «важность»
модуля по отношению к следующему за ним.
Вернемся к нашему конфигурационному файлу PAM для xlogin:
auth required /lib/security/pam_nologin.so auth required /lib/security/pam_securetty.so auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_rhosts_auth.so auth required /lib/security/pam_stack.so service=system-auth account required /lib/security/pam_stack.so service=system-auth password required /lib/security/pam_stack.so service=system-auth session required /lib/security/pam_stack.so service=system-auth |
Четыре типа флагов, стандартных для PAM.
-
required. Такой модуль должен быть успешно пройден. Лишь только в
этом случае пользователь будет допущен к проверке следующим
модулем. -
requisite. Чтобы получить аутентификацию, этот модуль должен также
быть успешно пройден. Однако, если requisite модуль не будет
пройден, управление передается непосредственно приложению. -
sufficient. При проверке, завершившейся неудачей, этот модуль будет
просто проигнорирован. Но, если sufficient модуль успешно пройден,
и не было неудач при прохождение вышестоящих required модулей, то
все остальные модули этого типа больше не будут рассматриваться и
будут считаться успешно пройденными. -
optional. Успешное или неудачное прохождение модулей этого типа не
является критичным для общей картины аутентификации. Модули этого
типа играют роль только тогда, когда нет модулей других типов.
В настоящий момент в PAM доступны новые флаги управления. Смотрите
документацию PAM в /usr/share/doc/pam?(version-number) для получения
информации.
Команды для отображения справочной информации по командам и терминалу
С помощью командной строки можно быстро получить информацию о программах, состоянии системы и настройках.
man — главное руководство по командам Linux.
Даёт подробную информацию по команде и её использованию. У каждой команды есть множество опций, запомнить их все сложно, поэтому стоит научиться пользоваться руководством. Поначалу вывод man кажется запутанным, но стоит с ним разобраться — и необходимость гуглить сведётся к минимуму.
Например, man ls выведет следующую информацию:
Вывод man включает следующие поля:
- Name — имя команды, которую описывает man-страница.
- Synopsis — краткое описание команды и её синтаксиса.
- Description — объяснение того, что делает программа.
- Options — описание опций командной строки, которые принимает команда, и дополнительная информация.
Самое полезное тут — опции. Например, вы хотите вывести список не только файлов, а ещё и их авторов. Выбираете в man нужную опцию и пишете:
LS (1) в выводе man означает первую страницу. Перемещаться по тексту можно с помощью колеса мыши, стрелок вверх/вниз, клавиши пробел или PgUp/PgDn. Перейти в начало/конец руководства можно с помощью клавиш Home и End.
Если ввести заглавную Н, то появится более детальная подсказка с альтернативными способами передвижения по тексту.
Для поиска конкретного слова в man введите ? и жмите Enter.
help — справка.
Если в мануале нет информации по команде или утилите или требуется краткая справка, то help — то, что нужно.
whatis — краткое описание утилиты.