# Занятие 2. Администрирование Linux # Практическая работа №2.1 ## 1. Команда df в linux df df -a ![](https://i.imgur.com/Ix9vp4O.png) df -BM df -h df -H df -i ![](https://i.imgur.com/ENJOxCJ.png) df -T /root df -P df -k df --total ![](https://i.imgur.com/PpVcYz5.png) df --output df -t tmps df -x tmps df -x tmps -x devtmps df -h /dev/rtc df -hi /dev/rtc ![](https://i.imgur.com/tgwR3Mn.png) ## 2. Команда du в Linux du -a /root ![](https://i.imgur.com/HnNEy4a.png) du du /root du /root /lib ![](https://i.imgur.com/lMHhUkU.png) du -h /var du -sh /var du -csh /var/log /var/lib ![](https://i.imgur.com/7IXzX3E.png) du -h --max-depth=1 /var/lib du -sh --apparent-size /var/lib du -csh ~/li* ![](https://i.imgur.com/hueZdNT.png) du -h /var/ | sort -rh | head -5 ![](https://i.imgur.com/vXKtzuB.png) ## 3. Команда free в Linux free free -h free -b free --kilo free --mega free --giga free --tera free -k free -m ![](https://i.imgur.com/TJ5VUpa.png) free -g free --tebi free --pebi free --kilo --si free -h -t ![](https://i.imgur.com/imNIQcp.png) free -s 5 free -s 3 -c 4 free -h --si -s 5 -c 4 watch free -h ![](https://i.imgur.com/zzIFF3l.png) ![](https://i.imgur.com/t7odo66.png) ## 4. iostat apt-get install sysstat ![](https://i.imgur.com/j5J1UYp.png) iostat iostat -c iostat -d iostat -h ![](https://i.imgur.com/g28VU1w.png) iostat -m iostat -o JSON ![](https://i.imgur.com/3wYXxop.png) iostat -p iostat -x ![](https://i.imgur.com/P7nw7jg.png) iostat -y -p /dev/dvd 1 iostat -z ![](https://i.imgur.com/WLEfWc0.png) iostat /dev/sr0 iostat -p /dev/sr0 iostat -p /dev/sr0 1 ![](https://i.imgur.com/cahV6u4.png) ``` df -hl iostat -xk -t 10 | awk '// {print strftime("%Y-%m-%d %H:%M:%S"),$0}' >> iostat.log & iostat -xk -t 10 | awk '// {print strftime("%Y-%m-%d %H:%M:%S"),$0}' ``` ![](https://i.imgur.com/fjAHsQh.png) ![](https://i.imgur.com/aWxLtO4.png) ## 5. mpstat mpstat -A ![](https://i.imgur.com/qkfwzUi.png) mpstat -P ALL mpstat -P 0 mpstat -V mpstat --help ![](https://i.imgur.com/yAGAdUE.png) ## 6. vmstat vmstat vmstat -a vmstat -f vmstat -d vmstat -D ![](https://i.imgur.com/zyuYBtj.png) vmstat 1 vmstat --help ![](https://i.imgur.com/K3NkXtp.png) ## 7. Утилита/команда " w " w w -h w -u w -s w -f w -i w -o w -V ![](https://i.imgur.com/PkbsHAG.png) ## 8. Утилита htop apt install htop ![](https://i.imgur.com/6bErR48.png) htop ![](https://i.imgur.com/kHowUcL.png) htop -t ![](https://i.imgur.com/9iQQRYj.png) htop -d 20 ![](https://i.imgur.com/x0vJs2U.png) # Практическая работа №2.2 ## 1. Установка пакетов SSH Установка с помощью команды `apt-get install ssh` ![](https://i.imgur.com/Sm39ag8.png) Проверка статуса. Команда `systemctl status sshd` ![](https://i.imgur.com/EGRC8fR.png) Заходим в файл /etc/ssh/sshd_config с помощью nano. Убираем знак диеза перед Port 22 и меняем порт на 2225. Теперь подключение будет осуществляться по порту 2225 Отключаем рут доступ: убрать диез перед PermitRootLogin и ставим "no". ![](https://i.imgur.com/sc2MxUw.png) Перезапустим ssh, чтобы настройки применились. Команда: `service ssh restart` ![](https://i.imgur.com/qETcU8r.png) Зайдём через putty с хостовой системы, порт укажем новый (2225), hostname - 192.168.132.140 ![](https://i.imgur.com/zpT3PJR.png) Далее необходимо ввести логин и пароль ![](https://i.imgur.com/1sCHFhv.png) # Практическая работа №2.3 В роли клиента у нас будет выступать ВМ ubuntu. С помощью команды `ssh-keygen` создадим ключи для подключения по ssh Создание ключа ![](https://i.imgur.com/VAELp65.png) Скопируем ключ на сервер (хост 192.168.132.140) по порту 2225, команда `ssh-copy-id user@192.168.132.140 -p 2225`. После ввода команды потребуется ввести пароль от учетной записи сервера. ![](https://i.imgur.com/6x60dGU.png) Копирование прошло успешно, введём команду ssh -p '2225' 'user@192.168.132.140'. Пароль вводить не нужно, вход выполнен, проверим, на что мы зашли командой `uname -a`. ![](https://i.imgur.com/aKdWiuU.png) Заходим в файл /etc/ssh/sshd_config с помощью nano уже на нашем сервере и отключаем подключение по паролю. Перезапускаем. ![](https://i.imgur.com/T6cM5uF.png) # Практическая работа №2.4 ## 1.Базовый сбор информации cat /etc/release - информация о дистрибутиве, версии ![](https://i.imgur.com/4ST8CWQ.png) uname -a - показать информацию о ядре системы whoami - показать, под каким пользователем находимся uptime - когда и сколько работала машина ls -la /home - подробно показать информацию о директории home и вывести скрытые файлы chomd o-rx - убрать права на чтение и запуск группы других пользователей ip neigh - показывает с какими компьютерами происходит обмен данными ss -tlnp - показывает какие сервисы и с какими портами запущены sudo -l - позволяет нам понять, что есть в этой машинк и что пользователь может. Root-пользователь может запускать всё ![](https://i.imgur.com/kCzGK2l.png) ## 2.Суидные файлы Просмотр закладок с помощью следующей команды: `find / -user root -perm -4000 -exec ls -ldb {} \\; 2> /dev/null` ![](https://i.imgur.com/nxt61KZ.png) Загрузка утилиты lynis. Команда `wget https://downloads.cisofy.com/lynis/lynis-3.0.8.tar.gz` ![](https://i.imgur.com/M5HVXrl.png) Разархивация. Команда `tar xfv lynis-3.0.8.tar.gz` ![](https://i.imgur.com/JBJ61R5.png) Проверка контрольной суммы. Команда `sha256sum lynis-3.0.8.tar.gz` ![](https://i.imgur.com/1nqw20E.png) Информация с сайта ![](https://i.imgur.com/YpSPD7g.png) Сумма совпадает Переходим в директорию lynis: `cd lynis`. Просматриваем данные в ней: `ls` ![](https://i.imgur.com/E53QU5B.png) Аудит системы. Команда ./lynis audit system ![](https://i.imgur.com/ra5YU5s.png) ![](https://i.imgur.com/CPWrdzp.png) Вывод опций ./lynis show options ![](https://i.imgur.com/H2zzW1A.png) Перенаправим вывод в/var/log/lynis-report.dat перенаправим вывод ![](https://i.imgur.com/88baFXG.png) ## 3. Проверка целостностей пакетов dpkg -l ![](https://i.imgur.com/xSJ8f9o.png) dpkg -L coreutils - посмотреть все установленные утилиты ![](https://i.imgur.com/waPPx47.png) Посмотрим подробнее информацию об утилите /bin/dir с помощью опции --help: ![](https://i.imgur.com/wzLcDQW.png) Затем (на скриншоте выше) перенесём данную утилиту в /bin/dir.bak с помощью команды mv (mv /bin/dir /bin/dir.bak) Потом переименуем /bin/false в /bin/dir с помощью cp. также установим debsums с помощью apt install `debsums -cs coreutils` `debsums -ac coreutils` `debsums -ac` `dpkg --verify coreutils` ![](https://i.imgur.com/D7S47vR.png) find / -printf "%T@;%Tc;%p\\n" ![](https://i.imgur.com/W2e0N6V.png) find /root -printf "%T@;%Tc;%p\\n" > timeline.csv ![](https://i.imgur.com/16AK0nw.png) head timeline.cvs ![](https://i.imgur.com/Sr3YLKS.png) sort -rn timeline.csv | less ![](https://i.imgur.com/V2hkC8u.png) ![](https://i.imgur.com/u5B9O2u.png) # 5 Практическая работа №2.5 Проверим, загружен ли coreutils (apt-get install coreutils) ![](https://i.imgur.com/DTLukco.png) Посмотрим переменные окружения (printenv) ![](https://i.imgur.com/vfkGF6h.png) Создадим переменную окружения (env HOME=/home/nlo) ![](https://i.imgur.com/X43vUaW.png) ## 1 Установка и удаление локальных переменных окружения HOMETEST=/home/nlo - созданние echo $HOMETEST - показать значение этой переменной unset $HOMETEST - удалить переменную окружения echo $HOMETEST - показать значение этой переменной (пусто, потому что удалили её) ![](https://i.imgur.com/EX2MMaM.png) ## 2 Добавление и удаление пользовательских переменных Также можно с помощью nano перейти в .bashrc В конца файла напишем export NEWTEST='/home/user' и затем применим настройки командой source .bashrc (потому что обновление происходит при повторном запуске файла) echo $NEWTEST выведет значение новой переменной ![](https://i.imgur.com/IhYTgUY.png) ## 3 Создание и удаление системных переменных окружения Также, как и в пункте выше, но заходим уже в /etc/profile. Теперь у нас новая переменная TEST, которая указывает на /home/nlo ![](https://i.imgur.com/TzXgL3q.png) Обновление и проверка ![](https://i.imgur.com/qdLJzVI.png)