Update README.md

This commit is contained in:
Dmitriy
2022-08-13 20:56:08 +03:00
committed by GitHub
parent afd7001ccf
commit 85cc9e2cfc

116
README.md
View File

@@ -222,17 +222,13 @@ ln -svf /opt/jdk-18.0.2+9/bin/java /usr/bin/java
# Она все еще существует как папку и архив по пути ~/opt # Она все еще существует как папку и архив по пути ~/opt
# Можно сделать это через команды # Можно сделать это через команды
cd usr cd /usr/bin && sudo rm java
cd bin
sudo rm java
# Проверить наличие активной Java, можно введя команду # Проверить наличие активной Java, можно введя команду
java -version java -version
# При успехе, у вас должно написаться, что Java не найдена # При успехе, у вас должно вывести ошибку на счёт команды java
``` ```
### Настройка безопасного входа на сервер - Linux ### Настройка безопасного входа на сервер - 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" 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@IP ...
# Подставьте ваши данные заместо шаблона # Подставьте ваши данные заместо шаблона
# USER — Логин, ваш пользователь на серверной машине # USER — Логин, ваш пользователь на серверной машине
@@ -267,7 +273,6 @@ cat ~/.ssh/id_rsa.pub | ssh USER@IP "mkdir -p ~/.ssh && touch ~/.ssh/authorized_
# Перед этим убедитесь, что у вас установлены пакеты: # Перед этим убедитесь, что у вас установлены пакеты:
apt install sudo apt install sudo
apt install nano apt install nano
# sudo — Нужно использовать если у вас основной user != root # sudo — Нужно использовать если у вас основной user != root
@@ -316,20 +321,51 @@ sudo systemctl restart ssh
``` ```
# Информация по системе # Информация по системе
# Через бенчмарк # Скорость интернета на вашем сервере (Установка + автозапуск)
sudo apt install speedtest-cli && speedtest-cli
# Через бенчмарк
sudo wget -qO- bench.sh | bash 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, иначе вы рискуете потерять доступ к вашей серверной машине - На самом деле не рекомендую делать такое с динамическим 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 | Запрет пинга на ваш дедик | Запрет входа с других айпи по SSH (только ваш)
iptables -A INPUT -s IP/32 -p icmp -j DROP iptables -A INPUT -s IP/32 -p icmp -j DROP
@@ -402,7 +438,7 @@ iptables -L --line-numbers
iptables -D INPUT ЧИСЛО iptables -D INPUT ЧИСЛО
``` ```
### "WinRar" - Известный архиватор, но для Linux ### "WinRar" - Известный архиватор, но для Linux (Лучше использовать tar)
``` ```
# Установка # Установка
apt install zip unzip apt install zip unzip
@@ -430,106 +466,106 @@ zip -r sb.zip /home/SkyBlock
### MySQL - Для Linux ### MySQL - Для Linux
``` ```
# Установка # Установка MySQL
sudo apt install mysql-server sudo apt install mysql-server
# Установка MariaDB (Лучше чем MySQL, является его форком)
sudo apt install mariadb-server
# Вход в саму БД # Вход в саму БД
sudo mysql sudo mysql
# Создать БД # Создать БД
CREATE DATABASE IF NOT EXISTS DATABASE_NAME; CREATE DATABASE IF NOT EXISTS DATABASE_NAME;
# Удалить БД # Удалить БД
DROP DATABASE IF EXISTS DATABASE_NAME; DROP DATABASE IF EXISTS DATABASE_NAME;
# Список БД # Список БД
SHOW DATABASES; SHOW DATABASES;
# Создать юзера # Создать юзера
CREATE USER IF NOT EXISTS 'DATABASE_USER'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'DATABASE_USER_NEW_PASSWORD'; 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'; 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'; DROP USER IF EXISTS 'DATABASE_USER'@'localhost';
# Список юзеров # Список юзеров
SELECT user, host FROM mysql.user; SELECT user, host FROM mysql.user;
# Выдать права юзеру на определенную БД # Выдать права юзеру на определенную БД
GRANT ALL PRIVILEGES ON database_name.table_name TO 'DATABASE_USER'@'localhost'; GRANT ALL PRIVILEGES ON database_name.table_name TO 'DATABASE_USER'@'localhost';
# Выдать все права юзеру на все БД # Выдать все права юзеру на все БД
GRANT ALL PRIVILEGES ON *.* TO 'DATABASE_USER'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'DATABASE_USER'@'localhost';
# Список всех прав юзера БД # Список всех прав юзера БД
SHOW GRANTS FOR '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 --all-databases > DATABASE_CUSTOM_DUMP_NAME.sql
# Сделать дамп определенной БД # Сделать дамп определенной БД
mysqldump -uDATABASE_USER -pDATABASE_USER_PASSWORD DATABASE_NAME > 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/ cp /var/lib/mysql/DATABASE_CUSTOM_DAMP_NAME.sql /home/testuser/
``` ```
### Отключение пароля для `$ sudo {cmd}` ### Отключение пароля для `$ sudo {cmd}`
``` ```
# Для начала создайте файл (делать от рута ~) # Для начала создайте файл (Делать от sudo или root пользователя)
# sudo visudo -f /etc/sudoers.d/sudowpass
sudo nano /etc/sudoers.d/sudowpass
sudo visudo -f /etc/sudoers.d/sudowpass # В файл sudowpass нужно вписать следующее:
YourUserHere ALL=(ALL) NOPASSWD:ALL
# В файлик вписываем то что ниже
# You can replace $user
$user ALL=(ALL) NOPASSWD:ALL
``` ```
### Передача файлов по SSH через `scp` ### Передача файлов по SSH через `scp`
``` ```
scp USER@IP:/путь_для_файлааругой_сервер названиеайликааашем_сервере 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 # У вас запросит пароль, если вы используете ключи, то добавьте -i
``` ```
### Создание пользователя `замена ~ root` ### Создание пользователя `замена ~ root`
``` ```
# Замените '$name' вашим новым кастомным юзером # Замените '$name' вашим новым кастомным юзером
adduser $name adduser $name
# Выдача прав на sudo для нового юзера # Выдача прав на sudoers для нового юзера
# usermod -aG sudo $name
adduser $name sudo
usermod -aG sudo $name # Забрать группу sudoers у $name
deluser $name sudo
``` ```
### Настройка языковых пакетов на Linux ### Настройка языковых пакетов на Linux
``` ```
sudo dpkg-reconfigure locales sudo dpkg-reconfigure locales
# Выберите сначала Англ раскладку UTF=8
# После выберите пунктом выше C.UTF-8 и нажмите Ok
# Вы можете настроить языковые пакеты для себя. # Вы можете настроить языковые пакеты для себя.
``` ```
# Раздел главных настроек нашего серверного ядра # Раздел главных настроек нашего серверного ядра
- Здесь не будет описываться скачивание, запуск сервера и т.д ( google.com )
### Защита вашего сервера ### Защита вашего сервера
- Не испульзуйте плагины с левых сайтов! - Не испульзуйте плагины с левых сайтов! Хотя я и использую плагины из других источников, однако я имею определенные знания для поиска дыр в них, поэтому использую в итоге плагины с чистым кодом. Вам определенно не рекомендую как новичкам (Возможно здесь имеются тоже люди, которые разбираются в этом, но всё таки статья ориентирована на начинающую категорию пользователей.
``` ```
Если вы хотите сохранить безопасность вашего сервера и ваших игроков, то лучше всего скачайте оригинальные плагины, а если нужно купить, то лучше купите их. Если вы хотите сохранить безопасность вашего сервера и ваших игроков, то лучше всего скачайте оригинальные плагины, а если нужно купить, то лучше купите их.
``` ```