Исходные условия.
Задача: по включению сервера
необходимо автоматически (без вмешательства администратора)
гарантированно обеспечить целостность баз данных MySQL.
Зачем: для гарантированного
запуска после аварии питания на сервере ключевых сервисов
(демонов, программ, приложений), зависимых от баз данных.
Способ: синхронная(блокирующая)
проверка баз данных с принудительным автоматическим восстановлением
найденных повреждённых таблиц, выполняемая по каждому
запуску/перезапуску демона mysql.
Хотя целевой системой для
написания статьи предполагаются Debian GNU/Linux или его
производные (Ubuntu, Mint, …), по нашему поверхностному мнению,
рассмотренное решение легко портируется на другие дистрибутивы
Linux или даже другие OS и другие SQL-сервера.
Команды Linux для работы с локальными дисками
Эти команды используются для просмотра статистики диска.
89. df
Команда df отображает использование дискового пространства для файловых систем Linux. Она так же отображает общий объем и свободное дисковое пространство, доступное в смонтированных файловых системах.
90. fdisk
Команда Fdisk используется в Linux для просмотра существующих разделов, создания нового раздела, удаления или изменения существующих разделов.
91. du
du (использование диска) — эта команда, используемая в Linux для проверки размера каталога, включая его другое содержимое, а также размер отдельных файлов.
92. findmnt
Команда findmnt используется для перечисления смонтированных файловых систем в Linux. Эта команда будет искать конкретную файловую систему в /etc/fstab, /etc/mtab или /proc/self/mountinfo.
93. mount
mount — это команда, используемая в Linux для подключенных файловых систем и дисков, а команда umount используется для отсоединения (размонтирования) любых подключенных файловых систем или устройств.
4) Установите Synaptic Package Manager
В то время как команда apt помогает вам устанавливать пакеты из командной строки, Synaptic — это графический интерфейс, который позволяет легко устанавливать приложения. Он поставляется с множеством функций и дает вам доступ к более чем 7000 пакетов.
Чтобы установить диспетчер синаптических пакетов, используйте следующую команду:
$ sudo apt install -y synaptic
Примечание: когда вы выполняете минимальную установку Debian 11, вам необходимо установить synaptic, используя указанную выше команду, и если вы установили рабочий стол Debian 11, тогда synaptic будет установлен автоматически во время установки.
Чтобы получить доступ к синаптике, выполните поиск синаптики из действий,
Щелкните значок пакета Synaptic, он предложит вам ввести учетные данные локального пользователя и после аутентификации появится следующее окно.
Базовые команды для работы с терминалом
То, что поможет при работе с консолью в целом.
- clear — очищает всю выведенную в консоль информацию. Пригодится на тот случай, если терминал будет забит выводом других команд или содержимом ранее открытых документов. Помогает «начать с чистого листа».
- history — отображает ранее введенные команды. По умолчанию показывает 10 последних, но при желании это значение можно изменить, добавив в качестве параметра любое число. Например, history 17, чтобы показать 17 последних выполненных операций.
- whatis — вкратце описывает любую установленную программу. Вводим whatis и скармливаем ей в качестве аргумента название интересующей утилиты. Чтобы узнать, что такое wget, напишем whatis wget и получим краткую справку одной строкой.
- man — демонстрирует подробное руководство по выбранной программе или команде. Чтобы выяснить, как работает wget и какие опции для него доступны, введем man wget. Получим массивное полотно со всей документацией для выбранной утилиты. P.S. Выйти из нее можно нажав на клавишу Q.
debian-sys-maint необходимые разрешения
Другие ответы в достаточной степени касаются всего, кроме минимального набора разрешений, необходимых для пользователя debian-sys-maint. Многие из ответов здесь просто неверны в этом отношении и фактически опасны. Не уменьшайте привилегии debian-sys-maint (включая опцию grant) без чтения и понимания ниже:
Сопровождающий Debian не давал капризным пользователям все привилегии. Вот что требуется, где и почему. Некоторые из этих привилегий являются надмножествами других, но я перечислю их независимо, на случай, если вы захотите что-то настроить и отменить требования к ним:
- выключение и перезагрузка , достаточно неудивительно, для выключения или выполнения база данных, сделано /etc/init.d/mysql
- выберите в mysql.user , необходимый для проверок работоспособности, выполняемых при запуске базы данных, обеспечивая наличие пользователя root. Завершение каждого запуска с помощью/etc/mysql/debian-start (вызываемого /etc/init.d/mysql) с фактическим кодом в функции check_root_accounts в файле /usr/share/mysql/debian-start.inc.sh
- выбрать в файлах information_schema.tables , глобальный выбор , необходимый для проверки на сбой столы. Завершение каждого запуска с помощью/etc/mysql/debian-start (вызываемого /etc/init.d/mysql) с фактическим кодом в функции check_for_crashed_tables в файле /usr/share/mysql/debian-start.inc.sh
- глобальные все привилегии , необходимые для обновления таблиц, если/когда новая версия MySQL установлена через обновление или обновление Debian. Завершение каждого запуска с помощью/etc/mysql/debian-start (вызываемого /etc/init.d/mysql) с использованием фактического кода в функции upgrade_system_tables_if_ne Необходимого в файле /usr/share/mysql/debian-start.inc.sh — фактически вызывает двоичный файл MySQL mysql_upgrade — не дайте себя обмануть именем функции (upgrade_system_tables_if_needed), это может потенциально затронуть все таблицы — см. ниже
Последнее, конечно, главное требование для привилегий. Страница man для mysql_upgrade гласит:
предупреждение Если вы решили сократить привилегии, которыми обладает debian-sys-maint, то убедитесь, что вы готовы обрабатывать любые будущие обновления безопасности Debian и/или обновления, которые касаются MySQL. Если вы выполняете обновление пакетов MySQL с ограниченными привилегиями debian-sys-maint, и если mysql_upgrade не может завершиться в результате, он может оставить вашу базу данных в неопределенном состоянии (чтение не выполнено). Снижение привилегий может не вызывать каких-либо очевидных повседневных проблем до тех пор, пока не появится обновление, поэтому не стоит полагать, что вы уже уменьшили привилегии без каких-либо вредных последствий в качестве основания полагать, что это безопасно.
Команды для управления правами на файлы и директории
Все, что нужно для разрешения проблем, связанных с правами в Linux.
- sudo — выдает права суперпользователя. Используется перед любой другой командой в терминале, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Ubuntu, введем: sudo apt-get update. При этом система запросит пароль администратора.
- sudo su — переводит терминал в режим суперпользователя. В нем каждая введенная команда будет восприниматься системой так, будто перед ней ввели sudo. Помогает запускать несколько скриптов и утилит, требующих права администратора, без необходимости постоянно корректировать их или вводить пароль от учетной записи.
- sudo gksudo — используется для запуска графических утилит от имени администратора. В Windows для этого есть специальная кнопка в контекстном меню, а в Linux — префикс. Синтаксис такой:
sudo gksudo название приложения, нуждающееся в запуске от имени администратора
- sudo !! — запускает предыдущую команду от имени администратора. Используется, если до этого была неудачная попытка запустить программу. Помогает не тратить время на повторный ввод большого количества символов.
- chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором аргументов, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.
- chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий:
chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать
«Магия» debian.cnf
Особо наблюдательные могут спросить: а как
будет что-то там лечить, ведь для этого он
должен знать пароль root-а (mysql-льного, не путать с
системным).Отвечаем: пароль mysql-ного root-а
не знает, он запускается от пользователя
«», пароль которого прописан в файле
«».
$ sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH! host = localhost user = debian-sys-maint password = ************** socket = /var/run/mysqld/mysqld.sock user = debian-sys-maint password = ************** socket = /var/run/mysqld/mysqld.sock basedir = /usr
Mysql-пользователь с именем «»
создаётся при установке пакета mysql-server, пароль для него из 16
знаков генерируется случайным образом.
«» может почти то же, что и root.
Теперь опять внимательно посмотрим
«»
MYCHECK="/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf"
Теперь понятно откуда mysqlcheck берёт имя и пароль для работы с
сервером?
Благодаря сохранённому в файле аккаунту
«» многие Debian/Ubuntu пакеты,
использующие базы данных, при установке/обновлении автоматически
или после подтверждения пользователя создают/обновляют структуры
своих баз. Это один из механизмов «дружественности к пользователю»,
которым достигается принцип «установил/обновил и сразу работает»
принятых(возможных) в пакетной базе дистрибутивов, основанных на
Debian.
Вопросы безопасности.
Уже слышим брюзжание экспертов в области безопасности
.
Экперты: Как это так, пароль почти root-а (опять
напомним, mysql-льного, не путать с системным) сохранён в файле на
диске.Отвечаем: имеет
атрибуты доступа , которые позволяют
читать этот файл только одному пользователю в системе — root-у. А
если вы профукаете пароль системного root-а, то злоумышленник легко
получит доступ с базам и без информации из
.
Эксперты: Нельзя считать безопасным дистрибутив, в
котором устанавливаемые/обновляемые пакеты могут автоматически
править базы данных.Отвечаем: Спорный вопрос, во многом зависит от качества
сборки и тестирования конкретного пакета, а также доверия к его
создателям.
Debian/Ubuntu, на сегодняшний день, имеют две самые большие
пакетные базы среди всех дистрибутивов GNU/Linux, доступ к которым
(установка/обновление пакетов) осуществятся через сетевые
депозитории и пакетный менеджер APT.
Т.е., почти всё, что может понадобиться пользователю, уже есть в
централизованном репозитории, в тщательно проверенных,
оттестированных пакетах. Схема тестирования и проверки пакетов в
Debian более чем (по нашему мнению — самая) серьёзная: циклы
«experimental -> unstable
-> testing -> stable».
Ну а самым яростным специалистам в области безопасности,
советуем вспомнить установлены ли вообще или давно ли менялись
пароли root-ов, и системного и mysql-ного
Работа с файлом hosts
В папке /etc любого linux дистрибутива, в том числе debian есть файл hosts. Разберемся немного что это за файл и для чего он нужен. По-умолчанию он выглядит следующим образом:
Представим, что у нас в локальной сети есть некий сервер с именем server и ip 192.168.1.50 Мы хотим к нему обращаться по имени. Тогда добавляем запись в файл hosts:
Теперь мы можем обращаться к серверу просто по имени server.
Сервер будет в первую очередь смотреть информацию в файле hosts, только потом в dns сервере. Например, если вы добавите в файл строку:
То обращаясь к адресу ya.ru будете попадать на локалхост:
Этот функционал может быть полезен для публикации в локальной сети каких-то внутренних сервисов, к которым доступ будет только из вашей сети. Вам нет необходимости использовать dns сервер, с файлом hosts настройка делается гораздо быстрее.
Так же правка файла hosts актуальна, если вы используете локальную копию сервиса webpagetest для тестирования скорости работы сайта на разных хостингах. Вы просто меняете ip адреса для домена и делаете тесты. Так можно наглядно и однозначно сравнивать быстродействие разных хостингов. Подробно об этом можно почитать в статье — ускорение сайта и аудит.
Как работать с sysctl
Для начала работы нам необходимо вывести на экран все доступные опции, делается с помощью команды:
sysctl -a
Просмотреть все параметры sysctl может любой пользователь Linux (в нашем примере показываем на Ubuntu 20), а вот изменять параметры ядра может только пользователь с правами root.
Также можно посмотреть значение одного параметра, который вас интересует в конкретный момент, например*:
sysctl net.ipv4.ip_forward
*Примечание: данная команда разрешает или запрещает маршрутизацию пакетов.
Надо отметить, что если значение параметра равно 0, то функция запрещена, а если равно 1, то разрешена.
Для вывода списка сразу всех переменных, которые начинаются, к примеру с vm, наберите в терминале команду:
sysctl vm
Ниже разъясним основные опции команды sysctl:
man sysctl — выводит подробную документацию по данной команде;
sysctl -n — выведет на экран только значения переменных;
sysctl -N — покажет вам только названия переменных, без их значений;
sysctl -A — показывает все доступные настройки ядра, но в табличной форме;
sysctl -w «переменная»=»значение» — используется для изменения значения переменной;
sysctl -p — выводит на экран настройки из файла /etc/sysctl.conf (или другого указанного файла настроек).
Покажем на практике, как использовать данные команды системному администратору в своей работе.
Например, попробуем разрешить маршрутизацию пакетов, выполнив команду:
sysctl -w net.ipv4.ip_forward=1
Если мы просто применим команду без опции -w, то сделанные изменения не сохранятся после перезагрузки ОС:
sysctl net.ipv4.ip_forward=1
Как правило, все показанные нами переменные параметров ядра Линукс, хранятся в конфигурационном файле /etc/sysctl.conf.
Однако, некоторые переменные могут быть записаны в следующих каталогах и файлах:
/run/sysctl.d/*.conf /etc/sysctl.d/*.conf /usr/local/lib/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /lib/sysctl.d/*.conf
Для того, чтобы вернуть настройки ядра к состоянию «до сделанных вами изменений», необходимо выполнить команду:
sysctl --system
Для начала, можно поэкспериментировать с настройками ядра в «ручном режиме» с помощью выполнения данных команд в терминале. Если сделанные вами настройки — «рабочие» и помогают в оптимизации работы ядра вашей ОС, то можете их внести на постоянной основе в файл /etc/sysctl.conf.
11) Включите расширения GNOME
GNOME — это прекрасная среда рабочего стола, а расширения GNOME предоставили дополнительную функциональность вашей системе. Чтобы установить расширения GNOME, запустите
Чтобы включить расширение Gnome, введите https://extensions.gnome.org/ в веб-браузере,
Установите расширение для браузера и следуйте инструкциям на экране.
После добавления расширений браузера оболочки gnome вы можете искать и устанавливать расширения. Здесь я устанавливаю свое любимое расширение gnome ‘ Dash to panel ‘.
После установки расширения «Dash to Panel» среда рабочего стола будет выглядеть, как показано ниже:
Работа с текстом
Парочка полезных команд для взаимодействия с любыми видами текстов на сервере через SSH.
cat — показывает текст из выбранного файла. В качестве аргумента передаем этой утилите текстовый документ, и cat выведет в консоль его содержимое. Синтаксис:
cat путь до файла, содержимое которого надо осмотреть
Чтобы взглянуть на содержимое файла timeweb.txt, который лежит на рабочем столе, напишем в терминал:
cat ~/Desktop/timeweb.txt
head — это «голова». Она работает по схожему с cat принципу. Отображает текст из файлов, где он имеется. Разница заключается в количестве отображаемого контента. Пользователь сам выбирает, сколько строчек текста вывести на экран, поставив аргумент -n. Команда head -n 4 ~/Documents/timeweb.txt покажет только первые четыре строки документа timeweb.txt из папки Documents.
tail — это «хвост». Работает, как head, но с противоположной стороны. Команда tail -n 8 ~/Documents/timeweb.txt покажет только первые восемь строк документа timeweb.txt из папки Documents.
touch — одна из множества команд для SSH, которую используют не по назначению. У нее весьма специфичная задача по изменению времени последнего открытия отдельных элементов файловой системы. Но ее быстро перепрофилировали чуть ли не в стандартный метод создания файлов. touch ~/Desktop/timeweb.html создаст HTML-документ с именем Timeweb на рабочем столе.
vi — используя с дополнительными аргументами, можно создавать новые текстовые файлы. Например vi /путь до директории, где нужно создать новый текстовый файл/. Или же редактировать уже существующие. Чтобы изменить содержимое какого-нибудь файла в домашней папке, надо ввести: vi /home/имя учетной записи/kakoy-to-tekstoviy-file.txt. Альтернативой vi может служить nano. Более современный и лояльный к новичкам редактор. К сожалению, может отсутствовать в системе по умолчанию и требовать установки.
wc путь до файла — показывает количество символов, количество строк и слов в выбранном текстовом документе.
grep — ищет конкретный кусочек текста в большом документе или распечатке из консоли. Чтобы дать понять, как он работает, покажу пример. Буду искать слово «немного» в файле timeweb.txt, лежащем у меня на рабочем столе. Сделаю это одной командой cat ~/Desktop/timeweb.txt | grep немного. Перед grep я использовал cat, чтобы вывести содержимое документа в консоль, а потом отфильтровать.
diff — сравнивает два файла и наглядно показывает строки, в которых обнаружились различия. Синтаксис: diff название первого файла название второго файла. Это может выглядеть так:
diff timeweb-1.html timeweb-2.html
Команды Linux, связанные с процессом
Эти команды используются для обработки процессов Linux
55. ps
Команда Linux ps — это встроенный инструмент для отслеживания текущих процессов в системе. Он будет фиксировать состояние системы за один раз.
56. pmap
Команда pmap отображает карту использования памяти процесса или нескольких процессов. Pmap сообщает информацию об адресном пространстве или карте использования памяти процесса.
57. top
Команда top в Linux отображает запущенные процессы в системе. Эта команда широко используется для мониторинга нагрузки на сервер.
58. kill
Команда kill используется в Linux и других Unix-подобных операционных системах для завершения процессов без необходимости выхода из системы или перезагрузки компьютера.
59. killall
Команда killall может использоваться для отправки сигнала определенному процессу, используя его имя. Это означает, что если у вас запущено пять версий одной и той же программы, команда killall уничтожит все пять.
60. pkill
Аналогично команде killall, pkill посылает сигнал для завершения процесса с его именем. Начиная с Centos 7 рекомендуется использовать pkill.
61. fg и bg
Мы можем запускать задания в фоновом режиме без какого-либо вмешательства пользователя. Процессы, которые были остановлены каким-либо сигналом прерывания, могут быть продолжены в фоновом режиме с помощью команды bg. Команда fg похожа на команду bg, за исключением того, что вместо отправки команды в фоновом режиме она запускает их на переднем плане, занимает текущий терминал и ожидает завершения процесса.
Управление пользователями
Так как Linux заточена под использование большим количеством людей одновременно, разработчики придумали для нее продвинутую иерархию пользователей. У каждого свой набор прав и свои возможности. И есть целый набор команд для работы с ними. Рассмотрим главные.
useradd — создает на сервере новую учетную запись. По сути, нового пользователя. Синтаксис: useradd имя будущей учетной записи. Имя можно указать любое на свой вкус. Потом останется лишь добавить для нового аккаунта пароль.
passwd — задает пароль для учетной записи. Работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd имя новой учетной записи. После этого система попросит придумать и указать пароль для новой учетной записи.
Система безопасности в Linux не показывает во время ввода пароля даже звездочки, но это не значит, что он не вводится. Продолжайте набирать вслепую, а как закончите, нажмите Enter, и все сработает. И не бойтесь запутаться, вас попросят повторить придуманный пароль.
userdel — удаляет выбранную учетную запись. Синтаксис: userdel имя учетной записи, которую нужно стереть
usermod — вносит изменения в характеристики существующих учетных записей, лишает их контроля или вовсе приостанавливает работу. Делает все, что не связано с созданием и удалением аккаунтов. Используется только вместе с дополнительными опциями:
- -с — добавляет комментарий к аккаунту (можно вписать любой текст по желанию, чтобы запомнить для чего нужен выбранный пользователь).
- -d — меняет расположение домашней директории выбранной учетной записи.
- -e — указывает время, которое будет существовать аккаунт (после этого сработает автоматический userdel).
- -g — меняет группу, к которой принадлежит аккаунт.
- -G — привязывает аккаунт к выбранной группе.
- -L — блокирует пользователя.
- -m — перемещает контент из домашней папки пользователя в другую папку.
- -p — устанавливает незашифрованный пароль (лучше так не делать).
- -s — задает конкретную оболочку для нового аккаунта на усмотрение администратора компьютера.
- -U — снимает блокировку с выбранной учетной записи.
Создайте новую учетную запись пользователя MySQL
Учетная запись пользователя в MySQL состоит из частей имени пользователя и имени хоста.
Чтобы создать новую учетную запись пользователя MySQL, выполните следующую команду, просто замените database_user именем пользователя, которого вы хотите создать:
В приведенной выше команде мы установили часть имени хоста на что означает, что этот пользователь сможет подключаться к серверу MySQL только с локального хоста (то есть из системы, в которой работает сервер MySQL). Если вы хотите предоставить доступ с другого хоста (ов), просто измените на IP-адрес удаленного компьютера или используйте подстановочный знак для части хоста, что означает, что учетная запись пользователя сможет подключаться с любого хоста.
То же, что и при работе с базами данных, чтобы избежать ошибки при попытке создать учетную запись пользователя, которая уже существует, вы можете использовать:
Типы systemd Unit файлов
Самый простой способ определить тип устройства — это посмотреть на его суффикс, который добавляется к концу имени ресурса (юнита). В следующем списке описаны типы unit-ов, доступных для systemd:
- .service: Данный юнит описывает, как управлять службой или приложением на сервере. Он в себе будет включать запуск или остановку службу, при каких обстоятельствах она должна автоматически запускаться, а также информацию о зависимости для соответствующего программного обеспечения.
- .socket: Файл сокет-устройства описывает сетевой, IPC-сокет или FIFO буфер, который systemd использует для активации сокета. Они всегда имеют связанный .service файл, который будет запущен при сокет активности, которая определяет этот блок.
- .device: Юнит, который описывает устройство, которое было указано как необходимое для управления systemd с помощью udev или файловой системы sysfs. Не все устройства имеют файлы .device. Некоторые скрипты, которым может потребоваться устройства .device, предназначены для монтирования и доступа к устройствам.
- .mount: Этот блок определяет точку монтирования в системе, которой управляет systemd. Они называются по пути монтирования, при этом «/» изменены на тире. Записи внутри /etc/fstab могут иметь блоки, созданные автоматически.
- .automount: Модуль .automount настраивает точку монтирования, которая будет автоматически установлена и должен быть определен после точки монтирования, на которую они ссылаются, и должны иметь соответствующий модуль .mount для определения особенностей монтирования.
- .swap: Данный юнит, описывает SWAP (пространство подкачки) в системе. Название этих блоков должно отражать путь к устройству или файлу.
- .target: Данный юнит используется для обеспечения точек синхронизации для других устройств при загрузке или изменения состояний. Они также могут использоваться для перевода системы в новое состояние.
- .path: Данный юнит, определяет путь, который может использоваться для активации на основе пути. По умолчанию, юнит будет запущен с тем же базовым именем. Это использует inotify для отслеживания изменения путей.
- .timer: Этот юнит, определяет таймер, который будет управляться systemd (аналог cron джоб) для задержки или запланированной активации. При достижении таймера будет запускаться соответствующий блок.
- .snapshot: Это юнит, создается автоматически командой snapshot systemctl. Он позволяет вам восстановить текущее состояние системы после внесения изменений. Снимки не сохраняются во время сеансов и используются для отката временных состояний.
- .slice: Он связан с узлами группы управления Linux, что позволяет ограничить ресурсы или назначить их для любых процессов, связанных с slice. Имя отражает его иерархическую позицию внутри дерева групп. Юниты размещаются в определенных slice по умолчанию в зависимости от их типа.
- .scope: Они создаются автоматически systemd из информации которую получили от его интерфейса шины. Они используются для управления наборами системных процессов, созданных извне.
Как вы можете видеть, существует множество различных юнитов с которыми взаимодействует система. Многие из них работают вместе, чтобы добавить функциональности. В основном, используется .service из-за их полезности.
Заключение
В этой статье мы осветили достаточно актуальную тему для системного администратора, как настроить ядро ОС Linux «на лету» с помощью sysctl и виртуальной файловой системы /proc. Не каждый специалист знаком с методами гибкой настройки ядра ОС, поэтому, прежде чем применять «любые настройки из Интернета», необходимо глубоко изучить данный вопрос, посмотреть параметры конкретной ОС, поэкспериментировать с различными значениями переменных (не сохраняя их) и уже затем, получив положительный результат — применять эти методы на постоянной основе
Потому что, не всегда «настройки из мануалов в Интернете» подходят всем подряд пользователям Линукс, и любые изменения настроек ядра системы надо выполнять крайне осторожно
Если же у вас возникают проблемы с более сложной и гибкой настройкой ядра Linux, не хватает знаний и практических навыков для такой работы, то вы всегда можете обратиться за консультацией к системным администраторам компании FREEhost.UA.
Подписывайтесь на наш телеграмм-канал t.me/freehostua, чтоб быть в курсе новых полезных материалов. Смотрите наш Youtube канал по администрированию Linux серверов www.youtube.com/freehostua.