apt update
apt upgrade
reboot
nano /etc/hostname
mysuperdomain
nano /etc/hosts
127.0.1.1 mysuperdomain.com mysuperdomain
127.0.0.1 localhost
Правим конфиг локалей
nano /etc/default/locale
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_TYPE=en_US.UTF-8
Реконфигурируем локали (из списка выбираем en_US.utf8 и ru_RU.utf8, далее по умолчанию ставим en_US.utf8)
dpkg-reconfigure locales
reboot
Ставим sudo
(если еще не стоит)
apt install sudo
Создаем нового юзера(под которым будем ходить по ssh) и добавляем его в рутовую группу
adduser superuser
usermod -aG root superuser
Меняем ssh порт на некий кастомный
nano /etc/ssh/sshd_config
Port 22
service ssh restart
Запрещаем руту ходить по ssh
nano /etc/ssh/sshd_config
PermitRootLogin no
service ssh restart
Создаем no-ssh
группу(в которую будем складывать юзеров которым запрещено ходить по ssh)
groupadd no-ssh
Добавим эту группу в конфиг sshd
nano /etc/ssh/sshd_config
DenyGroups no-ssh
Для каждого сайта создается:
- Отдельный юзер который помещается в
no-ssh
группу (дабы предотвратить попытки подбора пароля любопытными ботами) - Отдельная директория
/var/www/new-site-name.com
- Далее в
/var/www/new-site-name.com
создаются поддиректории по службам(api, client...)
adduser new_user
usermod -G no-ssh new_user
Делаем юзера superuser
владельцем деректории /var/www/new-site-name.com
chown -R superuser /var/www/new-site-name.com
При необходимости обноления git репозитория от имени superuser
'ра генерируем SSH ключи для superuser
'ра. И добавляем паблик кей в gitlab.
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
- zsh
- mc
- iftop
- htop
- sshfs
- screen
apt install psmisc
(набот утилит)
fuser
: отображает процессы, которые используют заданные файлы или сокеты
killall
: посылает сигнал процессам с указанным именем, например
killall -HUP named
peekfd
: показывает данные, передающиеся через файловый дескриптор.
pstree
: показывает запущенные процессы в виде древовидной структуры.
prtstat
: выводит статистику процесса (файл /proc//stat)
apt install lsof
Lsof — диагностическая утилита для UNIX-подобных систем. Её имя означает LiSt Open Files (вывод списка открытых файлов), именно это она и делает. Она выводит информацию обо всех файлах, открытых работающими в данный момент в системе процессами.
# Показать все процессы на неком порту
lsof -i :8000
p.s.