Проект по изучению основ системного администрирования (ОС Linux Debian, без графического интерфейса)
ИМЯ КОМПЬЮТЕРА acristin42
ПОЛЬЗОВАТЕЛЬ acristin
ФРАЗА ДЛЯ ШИФРОВАНИЯ SDA5 000
lsblk
- показать дерево (разделение дисков)
- программа для системного администрирования UNIX-систем, позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы.
su -
- переключение на root (su user - переключение на пользователя user)
apt install sudo
- установка sudo
dpkg -l | grep sudo
- проверка, установилось ли
dpkg -l
- список всех установленных программ
adduser <username> sudo
- добавление пользователя в группу sudo (группа пользователей с одинаковыми правами)
getent group sudo
- проверим, добавился ли пользователь
Файл с настройками для пользователей группы sudo
sudo nano /etc/sudoers.d/config
В файле добавить следующие строчки:
Defaults passwd_tries=3
- три попытки ввода пароля, при выполнении команд с использованием sudo
Defaults badpass_message="<custom-error-message>"
- сообщение в случае ошибки
sudo mkdir /var/log/sudo
- папка, в которую записываем логи, затем возвращаемся в конфигурационный файл и
дописываем:
Defaults logfile="/var/log/sudo/logfile”
- история взаимодействий будет записываться в logfile (Команды
пользователя sudo, запрещенные команды других пользователей - отказано в правах)
TTY-абстракция, — предназначена для использования одного терминала несколькими процессами, некоторых возможностей ввода (например, отправка сигналов специальными клавишами, удаление введённых символов). Такие возможности как изменение цвета символов и фона, изменение начертания символов, перемещение курсора зависят от программы эмуляции или драйвера терминала.
Defaults requiretty
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/binl”
- сохранение
различных утилит по этим адресам
APT - (сокращение от Advanced Packaging Tool) — это набор утилит для установки, удаления, обновления, поиска пакетов в Linux, а также для управления репозиториями. APT еще называют пакетным менеджером.
sudo apt-get install wget
- средство для скачивания файлов из веб-репозиториев
sudo apt-get update
sudo apt install openssh-server
- установка
sudo systemctl status ssh
- статус ssh-сервера
service ssh restart - перезапуск
sudo nano /etc/ssh/sshd_config
- конфигурационный файл ssh
В файле прописать:
Port 4242
PermitRootLogin no
- нельзя подключиться с использованием ssh от имени пользователя root
apt-get install ufw
sudo ufw enable
sudo ufw status numbered
sudo ufw allow ssh
- создание правила для порта
sudo ufw allow 4242
sudo ufw status numbered
sudo ufw delete (number)
- удаление правила под номером ...
sudo nano /etc/login.defs
- файл с временными настройками - сколько пароль живет, в этом файле прописать:
PASS_MAX_DAYS 30
- сколько дней можем использовать пароль
PASS_MIN_DAYS 2
- сколько дней есть на то, чтобы сменить пароль
PASS_WARN_AGE 7
- за сколько дней приходит предупреждение
sudo apt-get install libpam-pwquality
- библиотека, которая проверяет качество паролей
sudo nano /etc/pam.d/common-password
- файл с политикой поролей
В строку password [success=2 default=ignore] pam_unix.so obscure sha512
добавляем minlen=10
- минимальная
длина 10 символов
В строку password requisite pam_pwquality.so retry=3
добавляем:
retry=3
- три попытки
lcredit =-1
- минимум одна прописная буква
ucredit=-1
- минимум одна заглавная буква
dcredit=-1
- минимум одно число
maxrepeat=3
- максимум 3 повторяющихся символа подряд
usercheck=0
- не содержит имя пользователя
difok=7
- минимальное число символов, на которое новый пароль отличается от старого
enforce_for_root
- такая политика работает и для пользователя root
passwd
- смена пароля
sudo chage -l root
- информация о пароле для пользователя
sudo adduser <username>
sudo adduser <username> <groupname>
getent group <groupname>
sudo deluser <username>
sudo groupdel <groupname>
cut -d: -f1 /etc/passwd
- список пользователей и служб
hostnamectl
- проверка текущего имени
hostnamectl set-hostname new_hostname
- смена имени
sudo nano /etc/hosts
- файл, который будет выглядеть следующим образом:
127.0.0.1 localhost
127.0.0.1 new_hostname
sudo reboot
- перезагружаем компьютер
Для новых версий Debian (10+) AppArmour включен по умолчанию.
cat /sys/module/apparmor/parameters/enabled
- проверить, включен ли
sudo aa-status
- проверка статуса
uname
- короткое название (Linux)
uname -a
- полное название
lscpu
- информация о CPU
grep “^CPU(s)”
- берем строчки, которые начинаются с CPU
cut -d: -f2
- берем второй столбец после разделителя “:”
cut -c27-29
- берем символы с 27й позиции
nproc
- количество процессоров
free
- информация об использовании памяти в системе
free -m
- в мегабайтах
grep “Mem”
- берем строку Mem
awk ‘{print $2}’
- печатаем 2й столбец
df -Bm
- список файловых систем по именам устройств, с указанием размера, занятого и свободного пространситва
и точки монтирования, представление в Мб
grep “^/dev/”
- берем строчки, которые начинаются с /dev/
grep -v “/boot$”
- берем строчи, в которых нет в конце строки /boot (то есть только строки с root и home)
awk ‘{tsum += $2} END {print tsum}’
- суммируем значения во второй колонке и выводим их
mpstat
- статистика по использованию CPU
grep “all”
- берем строку с числами
awk ‘{print (100 - $12)}’
- печатаем 100% - свободный процент
who -b
- время последней загрузки + заголовок
cut -d” “ -f12-13
- берем только дату и время (без заголовка)
lsblk
- показывает дерево
grep “lvm”
- только те строки, в которых есть lvm
netstat -natp - показывает все соединения
grep “ESTABLISHED”
- берем только строки с информацией об установленных соединениях (отсекаем заголовки)
users
- список пользователей, подключенных к хосту
wc -w
- считаем количество пользователей (слов)
hostname -I
- выводит ip
ip
- просмотр сетевых интерфейсов и присвоенных им ip-адресов
ip l
- для физического сетевого устройства
journalctl
- просмотр логов загрузки системы
journalctl _COMM=sudo
- сообщения из журнала из определенного приложения (относятся к sudo)
grep “COMMAND”
- выделяет только записи о запущенных командах
-
Как работает виртуальная машина? - виртуальная машина это симулятор работы обычного физического компьютера. Под нее можно так же выделять память, задавать характеристики устройств ввода/вывода, внутри ВМ можно развернуть ОС, причем она будет обособлена от хостовой системы и не будет никак на нее влиять. Поэтому на ВМ можно делать практически что угодно - работать с небезопасным софтом, устанавливать и удалять любые программы и утилиты.
-
Выбор ОС - для новичков в системном администрировании лучше подходит Debian, так как эта система проще
-
Debian vs CentOS - Debian поддерживается сообществом волонтеров (в то время как CentOS поддерживается компанией Red Hat), Debian выпускает обновления раз в 2 года (CentOs - постоянно появляются обновления, которые делают систему более стабильной), Debian легче обновляется с одной стабильной версии до другой (в случае CentOS лучше заново установить новую версию, чем устанавливать обновления)
-
Зачем нужна виртуальная машина? - дешево (одно и то же железо позволяет развернуть несколько систем), развернуть ВМ проще и быстрее, ВМ можно переносить с одного компьютера на другой, что позволяет сократить время простоя, ВМ масштабируются - достаточно поменять параметры в настройках, ВМ безопаснее - гостевая система обособлена от хостовой, если возникают ошибки с безопасностью, систему можно легко переустановить, откатить до последней контрольной точки
-
Apt vs aptitude - apt низкоуровневый менеджер пакетов, aptitude - верхнеуровневый
-
APPArmour - система безопасности, изолирует приложения друг от друга
-
Том — часть долговременной памяти компьютера, рассматриваемая как единое целое для удобства работы. В операционных системах том используется как единица пространства хранения, доступная для разметки (форматирования) под единую файловую систему (такую, как Ext4 или NTFS) либо передаваемая под управление менеджеру томов (такому, как LVM, VxVM, ASM). Logical Volume Manager (LVM) - это система управления томами с данными для Linux. Она позволяет создавать поверх физических разделов (или даже неразбитых винчестеров) логические тома, которые в самой системе будут видны как обычные блочные устройства с данными (т.е. как обычные разделы). Основные преимущества LVM в том, что во-первых одну группу логических томов можно создавать поверх любого количества физических разделов, а во-вторых размер логических томов можно легко менять прямо во время работы. Кроме того, LVM поддерживает механизм снапшотов
sudo uff status
sudo systemctl status ssh
uname -a
getent group sudo/user42
sudo adduser new
sudo nano /etc/login.defs
sudo nano /etc/pam.d/common-password
sudo grouped evaluating
sudo adduser new evaluating
hostname
hostnamectl set-hostname new_hostname
- смена имени
sudo nano /etc/hosts
-> 127.0.0.1 localhost
, 127.0.0.1 new_hostname
sudo reboot