Система SELinux
Хотя режим по умолчанию не оказывает большого влияния на большинство приложений, запускаемых в Linux, он значительно влияет на большую часть основных служб.
Основная функция SELinux заключается в защите содержимого системы Linux от процессов, запущенных в системе. Другими словами, SELinux гарантирует, что веб-сервер, FTP-сервер, сервер Samba или DNS-сервер могут получить доступ только к ограниченному набору файлов в системе (определяется содержимым файлов), и разрешает лишь ограниченный набор функций (определяется логическими значениями и ограниченным доступом к порту).
Fedora, Red Hat Enterprise Linux и другие дистрибутивы Linux поставляются с подключенной функцией Security Enhanced Linux (SELinux) в принудительном режиме (Enforcing). Хотя режим по умолчанию не оказывает большого влияния на большинство приложений, запускаемых в Linux, он значительно влияет на большую часть основных служб.
Основная функция SELinux заключается в защите содержимого системы Linux от процессов, запущенных в системе. Другими словами, SELinux гарантирует, что веб-сервер, FTP-сервер, сервер Samba или DNS-сервер могут получить доступ только к ограниченному набору файлов в системе (определяется содержимым файлов), и разрешает лишь ограниченный набор функций (определяется логическими значениями и ограниченным доступом к порту).
Горячие клавиши терминала в Linux
Управление процессами
Перемещение курсора
Редактирование текста
Вырезание и вставка текста
Дополнение команды
Поиск команд в истории
Управление процессами
Ctrl + C - прервать процесс (послать сигнал Interrupt).Ctrl + Z - приостановить процесс (послать сигнал Stop).Перемещение курсора
Ctrl + A - переместить курсор в начало строки.Ctrl + E - переместить курсор в конец строки (E - End).Alt + F - переместить курсор на одно слово вперед (F - Forward).Alt + B - переместить курсор на одно слово назад (B - Back).Ctrl + F - переместить курсор на один символ вперед (F - Forward).Ctrl + B - переместить курсор на один символ назад (B - Back).Редактирование текста
Ctrl + L - очистить экран. Аналог команде clear.Ctrl + D - удалить символ под курсором (D - Delete).Alt + T - поменять местами два слова. Слово под курсором меняется со словом слева от курсора (T - Translocate)Ctrl + T - поменять местами два символа. Символ под курсором меняется с символом слева от курсора (T - Translocate).Alt + L - перевести символы в нижний регистр, начиная с символа под курсором и до конца слова (L - Lowercase).Alt + U - перевести символы в верхний регистр, начиная с символа под курсором и до конца слова (U - Uppercase).Вырезание и вставка текста
Ctrl + K - вырезать текст от курсора до конца строки (K - Kill).Ctrl + U - вырезать текст от курсора до начала строки.Alt + D - вырезать слово от курсора до его конца (D - Delete).Alt + Backspace - вырезать слово от курсора до его начала. Если курсор находится на начале слова, то удаляется предыдущее слово.Ctrl + Y - вставить вырезанный текст из буфера обмена на место курсора.Дополнение команды
Tab - дополнить текст команды. (ls essa => ls essay.txt)Alt + ? - вывести все варианты дополнения (тоже если нажать Tab дважды).Alt + * - вставить все варианты дополнения в аргументы команды.Поиск команд в истории
Ctrl + R - начать поиск команд в истории. Нажмите еще раз чтобы двигаться вверх по истории. Нажмите Enter чтобы выполнить найденную команду.Ctrl + J - вставить найденную команду в терминал, без выполнения.Ctrl + G - прекратить поиск команд в истории.Ctrl + P - показать предыдущую запись в истории. Аналог клавише со стрелкой вверх. (P - uP).Ctrl + N - показать следующую запись в истории. Аналог клавише со стрелкой вниз. (N - dowN).Alt + < - перейти к первой записи в истории.Alt + > - перейти к последней записи в истории.Alt + N - поиск в прямом порядке (ввести команду и нажать Enter).Alt + P - поиск в обратном порядке (ввести команду и нажать Enter).Ctrl + O - выполнить команду из истории и перейти к выполнению следующей по списку. Работает только в поиске Ctrl+R.Разложение на простые множители
Команда
Синтаксис
Пример:
Получим:
Также можно передать несколько чисел в качестве аргумента:
Получим:
Команда
factor в Linux дает простые множители числа.Синтаксис
factor [число]Пример:
factor 20Получим:
20: 2 2 5Также можно передать несколько чисел в качестве аргумента:
factor 20 30 40Получим:
20: 2 2 530: 2 3 540: 2 2 2 5Команда
w - это утилита, которая отображает информацию о пользователях, вошедших в систему в данный момент, и о том, что каждый из них делает. Также дает информацию о том, как долго работает система, текущее время и среднюю загрузку системы.
Синтаксис:
Если передать одно имя пользователей в качестве аргументов, вывод будет ограничен указанными пользователями.
Аргументы:
ww - это утилита, которая отображает информацию о пользователях, вошедших в систему в данный момент, и о том, что каждый из них делает. Также дает информацию о том, как долго работает система, текущее время и среднюю загрузку системы.
Синтаксис:
w [OPTIONS] [USER]Если передать одно имя пользователей в качестве аргументов, вывод будет ограничен указанными пользователями.
Аргументы:
-h - указывает w не печатать заголовок, выводится только информация о авторизованных пользователях-f - переключает поле FROM(Имя хоста или IP-адрес, с которого пользователь вошел в систему). Отображение или скрытие этого поля по умолчанию зависит от используемого вами дистрибутива.-o - вывод в старом стиле -s - вывод в коротком стиле-i - всегда показывает IP-адрес вместо имени хоста в поле FROM .deb-пакеты
Программы для
Обычно архив содержит 3 файла:
-
-
-
Стандартная программа для управления —
Программы для
Ubuntu поставляются в виде так называемых deb-пакетов. Это обычный архив, содержащий файлы устанавливаемого приложения и различную вспомогательную информацию. Начиная с Debian версии 0.93 deb файл представляет собой архив формата ar. Обычно архив содержит 3 файла:
-
debian-binary - текстовый файл, содержащий версию формата deb-пакета -
control.tar - tar-архив, содержащий информацию и скрипты установки пакета -
data.tar - tar-архив, содержащий дерево устанавливаемых файлов пакета Стандартная программа для управления —
dpkgКоманда du
Позволяет вывести размер всех файлов в определённой папке в байтах или в более удобном формате.
Синтаксис:
Параметры:
•
•
•
•
•
•
•
•
•
•
Позволяет вывести размер всех файлов в определённой папке в байтах или в более удобном формате.
Синтаксис:
du [параметр] /путь/к/папкеПараметры:
•
-a - выводит размер для всех файлов, а не только для директорий•
-c - выводить в конце общий размер всех папок;•
-d - максимальная глубина вложенности директорий;•
-h - выводит размер в единицах измерения удобных для человека(мегабайты, килобайты и байты);•
-S - не включает размер подпапок в размер папки;•
-s - выводить только общий размер;•
-t - не учитывать файлы и папки с размером меньше указанного;•
--time - отображать время последней модификации для файла или папки, вместо времени модификации можно выводить такие метки: atime, access, use, ctime;•
-X - исключить файлы из подсчёта;•
--version - вывести версию утилиты.Команда tac
Команда
Однако существует команда, которая точно противоположна тому, что делает
Команда
cat в основном используется для отображения [ содержимого файла ].Однако существует команда, которая точно противоположна тому, что делает
cat - tac. Противоположна в том смысле, что вывод, который она производит, представлен таким образом, что последняя строка отображается первой, затем следует предпоследняя строка и так далее.AlterOS, RedOS, Astra, Alt, Rosa: Яндекс обновил свой корпоративный браузер, который можно настроить под ОС на базе Linux, а также Windows.
Теперь можно быстро настраивать и конфигурировать компьютеры сотрудников под разные задачи — Яндекс добавил в браузер в два раза больше групповых политик, среди них: выбор каталога кеша на диске, настройка белого списка расширений, запрет перехода со страницы предупреждения безопасного просмотра. К тому же, теперь работает специальная линия поддержки для сисадминов.
Для систем на Linux работает поддержка Ansible и Puppet. Браузер также работает с сайтами с шифрованием по ГОСТ TLS – позволяет заходить на ресурсы в домене .gov и тендерные площадки, работает с международными и национальными сертификатами безопасности сайтов.
Теперь можно быстро настраивать и конфигурировать компьютеры сотрудников под разные задачи — Яндекс добавил в браузер в два раза больше групповых политик, среди них: выбор каталога кеша на диске, настройка белого списка расширений, запрет перехода со страницы предупреждения безопасного просмотра. К тому же, теперь работает специальная линия поддержки для сисадминов.
Для систем на Linux работает поддержка Ansible и Puppet. Браузер также работает с сайтами с шифрованием по ГОСТ TLS – позволяет заходить на ресурсы в домене .gov и тендерные площадки, работает с международными и национальными сертификатами безопасности сайтов.
Команда TIME
Утилита запускает заданную пользователем команду и после этого выводит информацию о времени ее выполнения.
Синтаксис:
•
•
•
•
•
Утилита запускает заданную пользователем команду и после этого выводит информацию о времени ее выполнения.
Синтаксис:
time [параметр] команда_для_выполнения аргументы•
-o – сохранять данные в выбранный файл вместо стандартного вывода в терминале.•
-a – добавлять в файл новую информацию, а не перезаписывает старую (опция полезна только в сочетании с -o)•
-f – выбрать определенный формат вывода. •
-v – выводить подробную информацию о выполнении программы.•
-V – вывести версию утилиты time.Dpkg - основная программа управления пакетами в Debian linux и производных дистрибутивах. Он используется для установки, сборки, удаления и управления пакетами.
Для получения списка пакетов, установленных в системе:
Можно пропустить выходной поток через
Замените
Для получения списка файлов, установленных пакетом (в нашем случае
Для установки локального .deb файла:
Удаление пакета:
Удаление пакетов с использованием
Для получения списка пакетов, установленных в системе:
dpkg -lМожно пропустить выходной поток через
grep чтобы увидеть установлен ли определенный пакет:dpkg -l | grep apacheЗамените
apache на любое имя пакета, часть имени или иное регулярное выражение.Для получения списка файлов, установленных пакетом (в нашем случае
pack):dpkg -L packДля установки локального .deb файла:
sudo dpkg -i имя_пакета.debУдаление пакета:
sudo dpkg -r packУдаление пакетов с использованием
dpkg в большинстве случаев не рекомендуется. Команда удалит пакет, однако пакеты, зависящие от него, останутся установленными и более не смогут работать правильно.Команда alias
Позволяет пользователю запускать любую команду или даже группу команд, в том числе с опциями, параметрами и файлами, вводом одного слова или даже символа.
Полезные алиасы, которые must have в каждой системе:
Цветной вывод
Запускать калькулятор с поддержкой стандартной библиотеки mathlib:
Сделаем вывод mount читаемым:
alias команд linux для использования редактора vim по умолчанию:
Позволяет пользователю запускать любую команду или даже группу команд, в том числе с опциями, параметрами и файлами, вводом одного слова или даже символа.
Полезные алиасы, которые must have в каждой системе:
Цветной вывод
alias ls='ls --color=auto'Запускать калькулятор с поддержкой стандартной библиотеки mathlib:
alias bc='bc -l'Сделаем вывод mount читаемым:
alias mount='mount | column -t'alias команд linux для использования редактора vim по умолчанию:
alias vi=vimФреймворк userver
Вы наверняка слышали о фреймворке userver, который используют в сервисах Яндекса. Сейчас бета версия появилась в опенсорсе.
В статье на Хабре подробно рассказывают о userver со ссылками и примерами, там же есть сервис шаблон с PostgreSQL, чтобы делать свои микросервисы.
Вы наверняка слышали о фреймворке userver, который используют в сервисах Яндекса. Сейчас бета версия появилась в опенсорсе.
В статье на Хабре подробно рассказывают о userver со ссылками и примерами, там же есть сервис шаблон с PostgreSQL, чтобы делать свои микросервисы.
Очереди сообщений
Message Queues - это средство, с помощью которого процессы обмениваются данными в форме сообщений для выполнения своих задач. Они позволяют процессам синхронизировать операции чтения и записи для ускорения процессов. Linux предоставляет два варианта очередей сообщений — System V(для серверных приложений) и POSIX(для приложений реального времени).
POSIX MQ имеет несколько преимуществ по сравнению с System V MQ:
- поскольку это файловый интерфейс, мы можем установить приоритет для каждого сообщения
- асинхронное уведомление о поступлении сообщений может быть выполнено с помощью сигналов или создания потока
- установка параметра тайм-аута позволит избежать неопределенного ожидания отправки или получения сообщений
Message Queues - это средство, с помощью которого процессы обмениваются данными в форме сообщений для выполнения своих задач. Они позволяют процессам синхронизировать операции чтения и записи для ускорения процессов. Linux предоставляет два варианта очередей сообщений — System V(для серверных приложений) и POSIX(для приложений реального времени).
POSIX MQ имеет несколько преимуществ по сравнению с System V MQ:
- поскольку это файловый интерфейс, мы можем установить приоритет для каждого сообщения
- асинхронное уведомление о поступлении сообщений может быть выполнено с помощью сигналов или создания потока
- установка параметра тайм-аута позволит избежать неопределенного ожидания отправки или получения сообщений
sudo не всегда корректно работает с графическими приложениями, поэтому рано или поздно вы рискуете словить сообщение "Unable to read ICE authority file", и после этого вообще станет невозможным запуск графических программ с правами root. Печаль.Если это все же произошло, поправить ситуацию можно, удалив файл
.{ICE,X}authority из вашего домашнего каталога: rm ~/.{iCE,x}authority (тильда здесь означает домашний каталог текущего пользователя). Графические приложения с правами
root проще запускать, используя главное меню. Но не все приложения есть в главном меню, и не все приложения вызываются с правами root, - к примеру, в главном меню есть команда вызова текстового редактора, но нет команды для вызова текстового редактора с правами root. Поэтому намного проще нажать Alt+F2 и ввести в соответствующее поле команду: gksu что_нужно_запуститьДа, для графических программ с
root правами желательно использовать команды sudo и su с префиксом: gksudo и gksu - для GNOME или kdesudo и kdesu -для КDЕ.Пользователь
• Право на изменение любого файла -
• Право на изменение конфигурации системы - пользователь root может изменять конфигурацию систему посредством редактирования файлов в каталоге
• Право на запуск любых программ -
• Право на создание, удаление, изменение (в том числе изменение пароля) других учетных записей.
• Право на установку и удаление программ.
Как вы понимаете, власть пользователя
root - пользователь с максимальными правами, имеет: • Право на изменение любого файла -
root может читать, записывать, удалять любые файлы, в том числе и файлы в домашних каталогах других пользователей. • Право на изменение конфигурации системы - пользователь root может изменять конфигурацию систему посредством редактирования файлов в каталоге
/etc, /proc, запуска конфигураторов системы. • Право на запуск любых программ -
root может запустить любую программу, в каком бы каталоге она ни находилась. • Право на создание, удаление, изменение (в том числе изменение пароля) других учетных записей.
• Право на установку и удаление программ.
Как вы понимаете, власть пользователя
root неограниченна. Так было до определенного момента, пока не появились системы принудительного контроля доступа, которые могут ограничить даже самого root. Вот только беда SELinux, LIDS, Tomoyo и другие подобные системы по умолчанию неактивны или даже не установлены, поэтому пока их не активировать пользователь root будет все равно самым главным.Debian — это ассоциация людей, общим делом которых является создание свободной ОС.
Созданная ОС называется Debian. Большая часть основных инструментов, которые наполняют ОС, взята из Проекта GNU. Эти инструменты также являются свободными. Debian содержит более 59 000 пакетов (скомпилированного заранее программного обеспечения в удобном для установки на компьютер формате), менеджер пакетов (АРT), а также другие утилиты, благодаря которым можно управлять тысячами пакетов на тысячах компьютеров так же просто, как установить одно-единственное приложение. И все это свободно.
Приведу цитату с сайта Debian, которая хорошо объясняет, что значит свободное ПО: «Вы можете спросить: если это программное обеспечение свободно, то почему я должен платить продавцу деньги за CD или платить провайдеру интернет за загрузку? Когда вы покупаете диск, то вы платите за время и работу по созданию этого диска, а также за риск (на случай, если диски не будут проданы все). Другими словами, вы платите за физический носитель, используемый для распространения программного обеспечения, а не за само ПО.
Когда мы говорим «free» (переводится как «свободный», так и «бесплатный»), мы говорим о свободе ПО, а не о том, что оно ничего не стоит»
Созданная ОС называется Debian. Большая часть основных инструментов, которые наполняют ОС, взята из Проекта GNU. Эти инструменты также являются свободными. Debian содержит более 59 000 пакетов (скомпилированного заранее программного обеспечения в удобном для установки на компьютер формате), менеджер пакетов (АРT), а также другие утилиты, благодаря которым можно управлять тысячами пакетов на тысячах компьютеров так же просто, как установить одно-единственное приложение. И все это свободно.
Приведу цитату с сайта Debian, которая хорошо объясняет, что значит свободное ПО: «Вы можете спросить: если это программное обеспечение свободно, то почему я должен платить продавцу деньги за CD или платить провайдеру интернет за загрузку? Когда вы покупаете диск, то вы платите за время и работу по созданию этого диска, а также за риск (на случай, если диски не будут проданы все). Другими словами, вы платите за физический носитель, используемый для распространения программного обеспечения, а не за само ПО.
Когда мы говорим «free» (переводится как «свободный», так и «бесплатный»), мы говорим о свободе ПО, а не о том, что оно ничего не стоит»
Псевдофайловые системы
Свое название псевдофайловые системы получили из-за того, что они работают на уровне виртуальной файловой системы. В итоге оба эти средства (назовем их так) для конечных пользователей выглядят как обычная файловая система - вы можете зайти как в каталог
Содержимое многих файлов псевдофайловой системы
sysfs (каталог /sys) и proc (каталог /proc) используются для настройки системы и получения различной информации о системе и процессах. Свое название псевдофайловые системы получили из-за того, что они работают на уровне виртуальной файловой системы. В итоге оба эти средства (назовем их так) для конечных пользователей выглядят как обычная файловая система - вы можете зайти как в каталог
/sys, так и в каталог /proc. В обоих этих каталогах будут файлы. Можно просмотреть эти файлы и даже изменить их содержимое. Содержимое многих файлов псевдофайловой системы
/proc формируется "на лету". Обратите внимание на размер любого файла в каталоге /proc - он равен нулю, но если открыть файл, то информация в нем будет. Например, в файле /proc/version находится информация о версии Linux.