diff --git a/README.md b/README.md index a01f153..185ae41 100644 --- a/README.md +++ b/README.md @@ -222,17 +222,13 @@ ln -svf /opt/jdk-18.0.2+9/bin/java /usr/bin/java # Она все еще существует как папку и архив по пути ~/opt # Можно сделать это через команды -cd usr - -cd bin - -sudo rm java +cd /usr/bin && sudo rm java # Проверить наличие активной Java, можно введя команду java -version -# При успехе, у вас должно написаться, что Java не найдена +# При успехе, у вас должно вывести ошибку на счёт команды java ``` ### Настройка безопасного входа на сервер - Linux @@ -253,6 +249,16 @@ ssh-keygen -b 8192 # Генерация ключа с мощностью 8192 Б cat ~/.ssh/id_rsa.pub | ssh USER@IP "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" +# < ! > Подсказка для всех < ! > +# Вы можете вручную просто вписать информацию из публичного RSA ключа в '~/.ssh/authorized_keys' +# На своем устройстве получите информацию из файлы id_rsa.pub, например cat id_rsa.pub +# Впишите данную информацию из файла id_rsa.pub в файл authorized_keys вашего юзера Linux '~/.ssh/authorized_keys' +# При использовании данного способа, пожалуйста соблюдайте бдительность, чтобы ничего не сломать в вашей системе + +# Останется ввести только и вы примените изменения из подсказки выше: +sudo systemctl restart ssh + + # ... USER@IP ... # Подставьте ваши данные заместо шаблона # USER — Логин, ваш пользователь на серверной машине @@ -267,7 +273,6 @@ cat ~/.ssh/id_rsa.pub | ssh USER@IP "mkdir -p ~/.ssh && touch ~/.ssh/authorized_ # Перед этим убедитесь, что у вас установлены пакеты: apt install sudo - apt install nano # sudo — Нужно использовать если у вас основной user != root @@ -316,20 +321,51 @@ sudo systemctl restart ssh ``` # Информация по системе -# Через бенчмарк +# Скорость интернета на вашем сервере (Установка + автозапуск) +sudo apt install speedtest-cli && speedtest-cli +# Через бенчмарк sudo wget -qO- bench.sh | bash -# Через неофетч (Удобнее чем 1-ый вариант, однако данный вариант не сможет показать скорость) +# Информация о системе (Установка + автозапуск) +sudo apt install neofetch && neofetch -apt install neofetch +# Встроенные Linux команды (Примеры) +lscpu +lspci +uname -a -neofetch ``` -### IPTables - Закрытие порта SSH, SFTP (22) + ICMP DROP +### IPTables (UFW/FIREWALLD) - Закрытие порта SSH, SFTP (22) + ICMP DROP - На самом деле не рекомендую делать такое с динамическим IP, иначе вы рискуете потерять доступ к вашей серверной машине ``` +# Быстродействие (Без закрытия SSH порта): +# sudo apt install ufw && sudo ufw allow 22/tcp && sudo nano /etc/ufw/before.rules +# Для before.rules: + +# ok icmp codes for INPUT +-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT +-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT +-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT +-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT + +# ИЗМЕНИТЬ НА СЛЕДУЮЩЕЕ ЗНАЧЕНИЯ ufw-before-input +# ok icmp codes for INPUT +-A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP +-A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP +-A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP +-A ufw-before-input -p icmp --icmp-type echo-request -j DROP + +# Сохраняем конфигурацию через наш nano редактор (CTRL X + Y + ENTER) +# Перезагружаем UFW + +sudo ufw reload + +# Теперь все пинги блокируются извне + +# Ниже представлена информация из документации v2.0 (Прошлая) + # Базовые настройки IPTables | Запрет пинга на ваш дедик | Запрет входа с других айпи по SSH (только ваш) iptables -A INPUT -s IP/32 -p icmp -j DROP @@ -402,7 +438,7 @@ iptables -L --line-numbers iptables -D INPUT ЧИСЛО ``` -### "WinRar" - Известный архиватор, но для Linux +### "WinRar" - Известный архиватор, но для Linux (Лучше использовать tar) ``` # Установка apt install zip unzip @@ -430,106 +466,106 @@ zip -r sb.zip /home/SkyBlock ### MySQL - Для Linux ``` -# Установка +# Установка MySQL sudo apt install mysql-server +# Установка MariaDB (Лучше чем MySQL, является его форком) +sudo apt install mariadb-server + # Вход в саму БД sudo mysql # Создать БД - CREATE DATABASE IF NOT EXISTS DATABASE_NAME; # Удалить БД - DROP DATABASE IF EXISTS DATABASE_NAME; # Список БД - SHOW DATABASES; # Создать юзера - CREATE USER IF NOT EXISTS 'DATABASE_USER'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'DATABASE_USER_NEW_PASSWORD'; -# Изменить пароль юзеру +# Создать юзера для MariaDB +CREATE USER IF NOT EXISTS 'DATABASE_USER'@'localhost' IDENTIFIED BY 'DATABASE_USER_NEW_PASSWORD'; +# Изменить пароль юзеру ALTER USER 'DATABASE_USER'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'DATABASE_USER_NEW_PASSWORD'; -# Удалить юзера +# Изменить пароль юзеру для MariaDB +ALTER USER 'DATABASE_USER'@'localhost' IDENTIFIED BY 'DATABASE_USER_NEW_PASSWORD'; +# Удалить юзера DROP USER IF EXISTS 'DATABASE_USER'@'localhost'; # Список юзеров - SELECT user, host FROM mysql.user; # Выдать права юзеру на определенную БД - GRANT ALL PRIVILEGES ON database_name.table_name TO 'DATABASE_USER'@'localhost'; # Выдать все права юзеру на все БД - GRANT ALL PRIVILEGES ON *.* TO 'DATABASE_USER'@'localhost'; # Список всех прав юзера БД - SHOW GRANTS FOR 'DATABASE_USER'@'localhost'; # Сделать дамп всей БД - mysqldump -uDATABASE_USER -pDATABASE_USER_PASSWORD --all-databases > DATABASE_CUSTOM_DUMP_NAME.sql # Сделать дамп определенной БД - mysqldump -uDATABASE_USER -pDATABASE_USER_PASSWORD DATABASE_NAME > DATABASE_CUSTOM_DUMP_NAME.sql # Если вы хотите скопировать ваш дамп БД в другое место - cp /var/lib/mysql/DATABASE_CUSTOM_DAMP_NAME.sql /home/testuser/ ``` ### Отключение пароля для `$ sudo {cmd}` ``` -# Для начала создайте файл (делать от рута ~) +# Для начала создайте файл (Делать от sudo или root пользователя) +# sudo visudo -f /etc/sudoers.d/sudowpass +sudo nano /etc/sudoers.d/sudowpass -sudo visudo -f /etc/sudoers.d/sudowpass - -# В файлик вписываем то что ниже - -# You can replace $user -$user ALL=(ALL) NOPASSWD:ALL +# В файл sudowpass нужно вписать следующее: +YourUserHere ALL=(ALL) NOPASSWD:ALL ``` ### Передача файлов по SSH через `scp` ``` scp USER@IP:/путь_для_файла_на_другой_сервер название_файлика_на_вашем_сервере +# Использовать scp с кастомным портом SSH +# Для примера передадим файл test.dat на наш сервер Linux +scp -P 999 root@127.0.0.1:/home/path/to/path/test.dat /home/path/to/but/here/test.dat + # У вас запросит пароль, если вы используете ключи, то добавьте -i ``` ### Создание пользователя `замена ~ root` ``` # Замените '$name' вашим новым кастомным юзером - adduser $name -# Выдача прав на sudo для нового юзера +# Выдача прав на sudoers для нового юзера +# usermod -aG sudo $name +adduser $name sudo -usermod -aG sudo $name +# Забрать группу sudoers у $name +deluser $name sudo ``` ### Настройка языковых пакетов на Linux ``` sudo dpkg-reconfigure locales - +# Выберите сначала Англ раскладку UTF=8 +# После выберите пунктом выше C.UTF-8 и нажмите Ok # Вы можете настроить языковые пакеты для себя. ``` # Раздел главных настроек нашего серверного ядра -- Здесь не будет описываться скачивание, запуск сервера и т.д ( google.com ) ### Защита вашего сервера -- Не испульзуйте плагины с левых сайтов! +- Не испульзуйте плагины с левых сайтов! Хотя я и использую плагины из других источников, однако я имею определенные знания для поиска дыр в них, поэтому использую в итоге плагины с чистым кодом. Вам определенно не рекомендую как новичкам (Возможно здесь имеются тоже люди, которые разбираются в этом, но всё таки статья ориентирована на начинающую категорию пользователей. ``` Если вы хотите сохранить безопасность вашего сервера и ваших игроков, то лучше всего скачайте оригинальные плагины, а если нужно купить, то лучше купите их. ```