---
# System prepended metadata

title: Linux. Практическая работа № 2

---

# Linux. Практическая работа № 2
## 2.1 Основы мониторинга
### 2.1.1 Утилита df
Команда df удобный инструмент опредeления использования дискового пространства. Запустим его с различными параметрами.
```bash=
df --output=source,itotal,iused,iavail,ipcent,size,used,avail,pcent,file,target
df --total
```
Результат
![](https://i.imgur.com/BpsKRXu.png)

---

```bash=
df -a
```

Результат
![](https://i.imgur.com/ADI8bwy.png)

---
```bash=
df -BM
```

Результат
![](https://i.imgur.com/V2w19zB.png)

---

```bash=
df -H
```

Результат
![](https://i.imgur.com/KQ6PDod.png)

---

```bash=
df -i
```

Результат
![](https://i.imgur.com/Jx93DDz.png)

---

```bash=
df -k
```

Результат
![](https://i.imgur.com/WdbM1BP.png)

---

```bash=
df -P
```

Результат
![](https://i.imgur.com/SaRMz2K.png)

---




```bash=
df
```

Результат
![](https://i.imgur.com/9WQfzZI.png)

---

```bash=
df -h
```

Результат

![](https://i.imgur.com/eXT8pU1.png)

---


```bash=
sudo df -a
```

Результат
![](https://i.imgur.com/TvvYod5.png)

---

```bash=
df -x tmpfs
```

Результат

![](https://i.imgur.com/t3GuaBb.png)

---

```bash=
df -x devtmpfs -x tmpfs
```

Результат
![](https://i.imgur.com/i5eDYUO.png)

---


```bash=
df -t ext4
```

Результат
![](https://i.imgur.com/Qt9Hpzo.png)

---

```bash=
df -h /dev/sdb2
```

Результат

![](https://i.imgur.com/BArDomj.png)

---

```bash=
df -hi /dev/sdb2
```

Результат

![](https://i.imgur.com/3JGNW1C.png)

---

```bash=
df -h /home
```

Результат

![](https://i.imgur.com/fenbqy8.png)

---


### 2.1.2 Утилита du

```bash=
du /home
```

Результат

![](https://i.imgur.com/ejeGWHq.png)

---

```bash=
sudo du /etc /usr /var/log
```

Результат
![](https://i.imgur.com/fa3RewF.png)

---

```bash=
du -a /home
```

Результат

![](https://i.imgur.com/KA5ipOd.png)

---

```bash=
sudo du -h /var
```

Результат
![](https://i.imgur.com/YvJ0P0U.png)

---

```bash=
sudo du -sh /var
```

Результат
![](https://i.imgur.com/XfkETNo.png)

---

```bash=
sudo du -csh /var/log /var/lib
```

Результат
![](https://i.imgur.com/Oj0lI9X.png)

---

```bash=
sudo du -h --max-depth=1 /var/lib
```

Результат
![](https://i.imgur.com/CaltkK9.png)

---

```bash=
sudo du -sh --apparent-size /var/lib
```

Результат
![](https://i.imgur.com/TTlYJ0q.png)

---


```bash=
du -csh ~/Vi*
```

Результат
![](https://i.imgur.com/3cS3rFn.png)

---

```bash=
sudo du -h /var/ | sort -rh | head -5
```

Результат
![](https://i.imgur.com/Re2Zb9h.png)

---



### 2.1.3 Утилита free

```bash=
free
```

Результат
![](https://i.imgur.com/oTTSH6j.png)

---

```bash=
free -w
```

Результат
![](https://i.imgur.com/h4We9Tr.png)


---

```bash=
free -h
```

Результат

![](https://i.imgur.com/ozxwtIK.png)

---

```bash=
free --mega
```

Результат
![](https://i.imgur.com/rHmXdD9.png)

---

```bash=
free -h -t
```

Результат

![](https://i.imgur.com/mL3DvDE.png)

---

```bash=
free -s 5
```

Результат
![](https://i.imgur.com/X6nW6Hp.png)


---


```bash=
free -s 5 -c 10
```

Результат

![](https://i.imgur.com/sFVciJC.png)

---

```bash=
free -h --si -s 5 -c 4
```

Результат

![](https://i.imgur.com/evjf7Ed.png)

---

```bash=
watch free -h
```
Результат
![](https://i.imgur.com/GvqM7p4.png)
![](https://i.imgur.com/zdbGMHT.png)

---

### 2.1.4 Утилита iostat
yum install sysstat
![](https://i.imgur.com/cSu4od1.png)


```bash=
iostat
```

Результат
![](https://i.imgur.com/lMc2w2A.png)

---

```bash=
sudo iostat
```

Результат

![](https://i.imgur.com/l30wruT.png)

---


```bash=
sudo iostat -h
```

Результат

![](https://i.imgur.com/QebpeFm.png)

---


```bash=
sudo iostat  -c
```

Результат
![](https://i.imgur.com/rcSSJNC.png)



---

```bash=
sudo iostat -d
```

Результат
![](https://i.imgur.com/5q752IL.png)



---
```bash=
sudo iostat -h
```

Результат
![](https://i.imgur.com/9zvqJpb.png)




---
```bash=
sudo iostat -k
```

Результат
![](https://i.imgur.com/cUrGF9q.png)



---
```bash=
sudo iostat -m
```

Результат
![](https://i.imgur.com/SjfXxaw.png)



---
```bash=
sudo iostat -o JSON
```

Результат
![](https://i.imgur.com/Q5JOgEf.png)



---
```bash=
sudo iostat -p
```

Результат
![](https://i.imgur.com/mTL5mth.png)



---
```bash=
sudo iostat -x
```

Результат
![](https://i.imgur.com/SRp8AYE.png)



---
```bash=
sudo iostat -y
```

Результат
![](https://i.imgur.com/eAD00w5.png)

---

```bash=
sudo iostat -z
```

Результат
![](https://i.imgur.com/rcwglXz.png)



---


```bash=
sudo iostat /dev/sdb2
```

Результат

![](https://i.imgur.com/0vNr5y5.png)

---

```bash=
sudo iostat -p /dev/sdb2
```

Результат

![](https://i.imgur.com/af6PWIy.png)

---

```bash=
sudo iostat -p /dev/sdb2 1
```

Результат
![](https://i.imgur.com/fS902Wf.png)

---

```bash=
sudo iostat -y -p /dev/sdb2
```

Результат

![](https://i.imgur.com/XMSXLoF.png)

---
```bash=
sudo iostat -y -p /dev/sda1 1
```
Результат

![](https://i.imgur.com/JqrpI53.png)

---


```bash=
df -hl
```

Результат

![](https://i.imgur.com/cP2IuNs.png)

---

```bash=
sudo iostat -xk -t 10 | awk '// {print strftime("%Y-%m-%d %H:%M:%S"),$0}' >> iostat.log &
```

Результат

![](https://i.imgur.com/3p6bPl2.png)


---

```bash=
sudo iostat -xk -t 10 | awk '// {print srtftime("%Y-%m-%d %H:%M:%S"),$0}'
```
Результат
![](https://i.imgur.com/H3IjG5I.png)

---

```bash=
cat iostat.log
```

Результат

![](https://i.imgur.com/cYRHUw5.png)

---


### 2.1.5 Утилита mpstat

```bash=
mpstat -A
```

Результат
![](https://i.imgur.com/CDwrDD5.png)

---

```bash=
mpstat -P ALL
```

Результат
![](https://i.imgur.com/AWOYhI0.png)

---

```bash=
mpstat -P 0
```

Результат
![](https://i.imgur.com/kuZUHDL.png)

---

```bash=
mpstat -V
```

Результат
![](https://i.imgur.com/i4gwN69.png)

---

```bash=
mpstat --help
```

Результат
![](https://i.imgur.com/2uNoHhX.png)

---
### 2.1.6 Утилита vmstat

```bash=
vmstat
```

Результат
![](https://i.imgur.com/qXPoRDI.png)

---

```bash=
sudo vmstat 3
```
Результат
![](https://i.imgur.com/qW5sdib.png)


---

```bash=
vmstat -a
```

Результат
![](https://i.imgur.com/0Wc69c6.png)

---


```bash=
vmstat -f
```

Результат

![](https://i.imgur.com/Jk46Qar.png)

---

```bash=
vmstat -d
```

Результат
![](https://i.imgur.com/lSyY1Ps.png)

---

```bash=
vmstat -D
```

Результат

![](https://i.imgur.com/owNmXsj.png)

---


```bash=
vmstat --help
```

Результат
![](https://i.imgur.com/g7mGIeb.png)

---

### 2.1.7 Утилита w

```bash=
w
```

Результат
![](https://i.imgur.com/Teq8nHo.png)

---

```bash=
w -h
```

Результат
![](https://i.imgur.com/74RWp8n.png)

---

```bash=
w -u
```

Результат
![](https://i.imgur.com/p8diIIw.png)

---

```bash=
w -s
```

Результат
![](https://i.imgur.com/hFnFJKp.png)

---

```bash=
w -f
```

Результат
![](https://i.imgur.com/C53x839.png)

---

```bash=
w -i
```

Результат
![](https://i.imgur.com/TZsrbEW.png)

---

```bash=
w -o
```

Результат
![](https://i.imgur.com/xKTBSRg.png)

---


```bash=
w -V
```

Результат
![](https://i.imgur.com/EvYtuBz.png)

---

### 2.1.8 Утилита htop
yum install htop

![](https://i.imgur.com/aFiMy90.png)


```bash=
htop
```

Результат
![](https://i.imgur.com/AEnyul5.png)
![](https://i.imgur.com/ZIs5LhA.png)

---

```bash=
sudo htop
```

Результат
![](https://i.imgur.com/CO2cs4M.png)
![](https://i.imgur.com/jTuCQq3.png)




```bash=
sudo htop -d 1
```

Результат
![](https://i.imgur.com/cKSzI2p.png)
![](https://i.imgur.com/oU8es48.png)




```bash=
sudo htop -d 50
```

Результат
![](https://i.imgur.com/H5Pj639.png)
![](https://i.imgur.com/0EgYJAR.png)



```bash=
sudo htop -t
```

Результат
![](https://i.imgur.com/Qd1gHv3.png)
![](https://i.imgur.com/MZl21C9.png)



## 2.2 Установка и настройка сервера SSH в Linux
### 2.2.1 Установка SSH
Установим клиент и сервер
```bash=
yum install openssh-server openssh-client
```
Результат
![](https://i.imgur.com/PfEf1UJ.png)


Проверим запуск демона
```bash=
service sshd status
```

Результат
![](https://i.imgur.com/nniFItG.png)



### 2.2.2 Настройка SSH
Посмотрим конфиг сервера
```bash=
cat /etc/ssh/sshd_config
```
Результат
![](https://i.imgur.com/3Sd92XT.png)



Зададим порты и адреса прослушки, настроим использование ключей, отключим использование паролей, доступ для root и установим алиасы.

```bash=
# включим только IPv4
AddressFamily inet
# будем прослушивать только на петле
ListenAddress 127.127.127.127:1271
# включим ассиметричную аутентификацию
PubkeyAuthentication yes
# ключи в профиле пользователя
AuthorizedKeysFile %h/.ssh/authorized_keys
# отключим аутентификацию по паролю
PasswordAuthentication no
# дополнительно запретим пустые пароли
PermitEmptyPasswords no
# отключим доступ руту
PermitRootLogin no
```
![](https://i.imgur.com/0kTcCpM.png)
![](https://i.imgur.com/0S9fHYv.png)

Стартуем сервис
```bash=
sudo service sshd start
```
Однако есть проблемы
![](https://i.imgur.com/cF7NnRW.png)
![](https://i.imgur.com/MFsPfXm.png)

Проверим умолчания для ssh на selinux
```bash=
sudo semanage port -l | grep ssh
```
![](https://i.imgur.com/s5atI8P.png)

Добавим дополнительно еще и наш порт 1271
```bash=
sudo semanage port -a -t ssh_port_t -p tcp 1271
```
![](https://i.imgur.com/5GKxiz7.png)

Проверим, что порт 1271 добавлен
![](https://i.imgur.com/xjeKBsN.png)

Стартуем sshd
```bash=
sudo service sshd start
```
sshd стартовал
![](https://i.imgur.com/bZWhH4y.png)


Для применения настроек выполняется следующая команда
```bash=
sudo service sshd restart
```
Результат
![](https://i.imgur.com/qXoBerl.png)



### 2.2.3 Настройка и использование клиента SSH
Подключение к серверу. В зависимости от настроек сервера будет запрош либо пароль, либо ключ.
```bash=
ssh user@192.168.1.75:1271
```
Результат подключения по паролю
![](https://i.imgur.com/VH24zUm.png)


---
Но мы будем подключаться по-другому.
Создадим алиас, в профиле пользователя
```bash=
nano ~/.ssh/config
```
![](https://i.imgur.com/iiY3oo0.png)
![](https://i.imgur.com/DUnDFX9.png)

Подключимся командой
```bash=
ssh localsshserver
```

Результат
![](https://i.imgur.com/8iswWCx.png)

Нас не пускает, так как нет ключей
![](https://i.imgur.com/koFXcoU.png)

Сгенегируем


### 2.2.4 Генерация ключей используя ssh-keygen
Запуск утилиты 
```bash=
ssh-keygen
```
Результат
![](https://i.imgur.com/QWj0QBl.png)

Расположение ключей оставим по-умолчанию
![](https://i.imgur.com/FWQCF1R.png)

Введем парольную фразу
![](https://i.imgur.com/Pnm8EmF.png)

Ключи готовы
![](https://i.imgur.com/eV5tZ6q.png)

Скопируем открытый ключ на сервер
```bash=
ssh-copy-id -i ~/.ssh/id_rsa.pub localsshserver
```
Результат
![](https://i.imgur.com/be7d6HE.png)


Еще один вариат как скопировать открытый ключ на сервер
```bash=
cat ~/.ssh/id_rsa.pub | ssh localsshserver "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
```
Результат
![](https://i.imgur.com/KygGgC9.png)


## 2.3 Установка и настройка SSH-authorized_keys



Отключение аутентификации с помощью пароля
```bash=
sudo nano /etc/ssh/sshd_config
```

```bash
PasswordAuthentication no

```
Результат
![](https://i.imgur.com/AaxO7tI.png)



Перезагрузим сервер
```bash=
sysemctl restart sshd
```
Результат
![](https://i.imgur.com/9vJpdQx.png)


Аутентификация на сервере с помощью ключей
```bash=
ssh localsshserver
```
Результат
![](https://i.imgur.com/Ba3Ub4n.png)



## 2.4 Сбор информации о Linux и WGET
Выполнять будем на Kali Linux
### 2.4.1 Сбор информации
```bash=
cat /etc/os-release
```

Результат
![](https://i.imgur.com/eWexqW0.png)

---

```bash=
uname -a
```

Результат
![](https://i.imgur.com/sRAZx3m.png)

---

```bash=
whoami
```

Результат
![](https://i.imgur.com/GLzi61O.png)

---

```bash=
uptime
```

Результат
![](https://i.imgur.com/IjMjLFf.png)

---

```bash=
ls -la /home
```

Результат
![](https://i.imgur.com/QaFoUU6.png)

---

```bash=
sudo chmod o-rx /home/kali
```

Результат
![](https://i.imgur.com/DL74tkU.png)

---

```bash=
ip neigh
```

Результат
![](https://i.imgur.com/W8wshSr.png)

---

```bash=
sudo ss -tlnp
```

Результат
![](https://i.imgur.com/dYU0YUn.png)


```bash=
sudo -l
```

Результат
![](https://i.imgur.com/nPVVOTO.png)

---

### 2.4.2 SUID
```bash=
sudo find / -user root -perm -4000 -exec ls -ldb {} \; 2> /dev/null
```

Результат
![](https://i.imgur.com/UVTj2zb.png)

--- 

```bash=
sudo apt install wget
```

Результат
![](https://i.imgur.com/oECWxcG.png)

---

```bash=
wget https://downloads.cisofy.com/lynis/lynis-3.0.8.tar.gz
```

Результат
![](https://i.imgur.com/V3NrFfM.png)

---

```bash=
tar xfv lynis-3.0.8.tar.gz
```

Результат
![](https://i.imgur.com/1YSS0Fr.png)

---

Проверим контрольную сумму
Посмотрим ее на сайте
![](https://i.imgur.com/PBwPycT.png)

Контрольная сумма
```bash=
98373a4cc9d0471ab9bebb249e442fcf94b6bf6d4e9c6fc0b22bca1506646c63
```
---

Установим hashalot
```bash=
sudo apt install hashalot
```
Результат
![](https://i.imgur.com/7IeJ1Wg.png)

---

Проверим хэш

```bash=
sha256sum lynis-3.0.8.tar.gz
```

Результат
![](https://i.imgur.com/LOUYs0w.png)



Хэши совпадают

---

```bash=
cd lynus
ls
sudo ./lynus audit system
```

Результат
![](https://i.imgur.com/XJ5Y09C.png)
![](https://i.imgur.com/EbsxaK8.png)

---

```bash=
sudo ./lynis show options
```
Результат
![](https://i.imgur.com/aV6qULb.png)

---

```bash=
sudo nano /val/log/lynis-report.dat
```

Результат
![](https://i.imgur.com/VXZiJRZ.png)

---

### 2.4.3 Проверка целостности пакетов
```bash=
dpkg -l
```

Результат
![](https://i.imgur.com/EpFjbTp.png)

---

```bash=
dpkg -L coreutils
```

Результат
![](https://i.imgur.com/I2y7VQa.png)

---

```bash=
/bin/dir --help
```

Результат
![](https://i.imgur.com/Cb5aA8m.png)

---

```bash=
sudo mv /bin/dir /bin/dir.back
```

Результат
![](https://i.imgur.com/OSWahOa.png)

---

```bash=
sudo cp /bin/false /bin/dir
```

Результат
![](https://i.imgur.com/qoRkcmX.png)

---

```bash=
dir
echo $?
```

Результат
![](https://i.imgur.com/9XW9o2i.png)

---

```bash=
apt install debsums
```

Результат
![](https://i.imgur.com/8LsWnJt.png)

---

```bash=
debsums
```

Результат

![](https://i.imgur.com/pQIbQuz.png)

---

```bash=
debsums -ac coreutils
```

Результат
![](https://i.imgur.com/8cOyX1g.png)

---

```bash=
debsums -cs coreutils
```

Результат
![](https://i.imgur.com/r6zo7ZI.png)

---

```bash=
dpkg --verify coreutils
```

Результат
![](https://i.imgur.com/ikSb6sP.png)

---

```bash=
sudo find / -printf "%T@;%Tc;%p\\n"
```

Результат
![](https://i.imgur.com/Db0zIc1.png)

---

```bash=
sudo find /home/kali/ -printf "%T@;%Tc;%p\\n" > timeline.csv
```

Результат
![](https://i.imgur.com/Us5Jvzx.png)

---

```bash=
sudo find /home/kali/ -printf "%T@ %Tc %p\\n" > timeline.csv
```

Результат
![](https://i.imgur.com/QShbKSn.png)

---

```bash=
head timeline_spaces.csv
```
Результат
![](https://i.imgur.com/ne8kwQ0.png)


```bash=
sort -rn timeline_spaces.csv | less
```

Результат
![](https://i.imgur.com/xFf5GyV.png)
![](https://i.imgur.com/cm7wkQ9.png)


---


## 2.5 Переменные окружения в Linux
### 2.5.0 Краткое описание
- /etc/profile
- /etc/environment
- /etc/bash.bashc
- .bashrc
- .bash_profile

Установим coreutils
apt install coreutils
![](https://i.imgur.com/qpk4m8F.png)


```bash=
printenv
```
Результат
![](https://i.imgur.com/8hqO6SR.png)

---
### 2.5.1 Запуск команды с указанием нового значения переменной окружения
```bash=
env HOME=/home/kali
```
Результат
![](https://i.imgur.com/9qRszVs.png)

---

### 2.5.2 Установка и удаление локальных переменных окружения

```bash=
TESTKALI=/home/kali
echo $TESTKALI
```
Результат
![](https://i.imgur.com/SbXjLni.png)


---

```bash=
echo $TESTKALI
unset TESTKALI
echo $TESTKALI
```
Результат
![](https://i.imgur.com/SonAa3o.png)

---

### 2.5.3 Добавление и удаление пользовательских переменных

Добавим TESTKALI export TESTKALI="/home/kali"
```bash=
sudo nano .bashrc
```
Результат
![](https://i.imgur.com/8GsYLqU.png)

![](https://i.imgur.com/zy9f3GN.png)

---


```bash=
echo $TESTKALI
source .bashrc
echo $TESTKALI
```
Результат

![](https://i.imgur.com/KP61HVG.png)

---

### 2.5.4 Создание и удаление системных переменных окружения

Внесем TESTKALI2=/home/kali12345

```bash=
sudo nano /etc/profile
```
Результат
![](https://i.imgur.com/FzjWRyG.png)
![](https://i.imgur.com/LaMlS8O.png)



```bash=
echo $TESTKALI2
source /etc/profile
echo $TESTKALI2
```
Результат
![](https://i.imgur.com/WfI32ss.png)

---


На этом данная работа завершена