# Linux. Практическая работа № 3 ## 3.1 Использование Cron Изменение crontab-файла следующей командой ```bash= crontab -e ``` Результат ![](https://i.imgur.com/Dgsyc93.png) ![](https://i.imgur.com/cnvKRvj.png) ![](https://i.imgur.com/afxRHUt.png) --- Удаление текущего кронтаб текущего пользователя ```bash= crontab -r ``` ![](https://i.imgur.com/GfcaXQU.png) --- Тоже самое но с подтверждением ```bash= crontab -ri ``` ![](https://i.imgur.com/RrQIVOL.png) --- Отобразить содержимое кронтаб ```bash= crontab -l ``` ![](https://i.imgur.com/GDIROLE.png) --- Отобразить содержимое кронтаб конкретного пользователя ```bash= sudo crontab -u user -l ``` ![](https://i.imgur.com/tXkRTNY.png) --- Проверить запущен-ли крон ```bash= sudo service cron status ``` ![](https://i.imgur.com/PBLU4R3.png) --- Создадим файл pwd.sh ```bash= #!/bin/bash #This is a comment cat /dev/null > /var/log/cron.log cat /dev/null > /var/log/cron.txt pwd && whoami >> /var/log/cron.log w >> /var/log/cron.log ping -c3 ya.ru >> /var/log/cron.txt ping -c4 77.88.8.8 >> /var/log/cron.log ``` ![](https://i.imgur.com/I3HQXBt.png) ![](https://i.imgur.com/CZDMtHk.png) ![](https://i.imgur.com/hFEFjIE.png) --- Создадим записи в крон ```bash= #один раз в 15 минут постоянно: */15 * * * * /bin/bash /home/user/pwd_scripts/pwd.sh #Один раз в сутки в полночь: 0 0 * * * /bin/bash /home/user/pwd_scripts/pwd.sh #в 15:00 в среду: 0 15 * * 3 /bin/bash /home/user/pwd_scripts/pwd.sh #в 20:00 в воскресенье : 0 20 * * sun /bin/bash /home/user/pwd_scripts/pwd.sh ``` ![](https://i.imgur.com/kDD7nS5.png) ![](https://i.imgur.com/4t7FRzq.png) ![](https://i.imgur.com/1MVewLj.png) --- ## 3.2 Использование SFTP и FileZilla Проверим наличие openssh ```bash= sudo apt install openssh-server openssh-client ``` ![](https://i.imgur.com/R5UrTRD.png) --- Настроим ```bash= sudo nano /etc/ssh/sshd_config ``` Добавим ```bash= # все user не смогут выполнять команды с помощью ssh Match group sftp # директория в которой пользователь будет работать ChrootDirectory /home # чтобы не давать доступ к рабочему окружению X11Forwarding no # чтобы пользователь не смог использовать как proxy-сервер AllowTCPForwarding no # использовать только sftp, встроенный в ssh ForceCommand internal-sftp ``` ![](https://i.imgur.com/faqDaR0.png) ![](https://i.imgur.com/FDuFjNn.png) --- Проверяем конфигурацию и перезапускаем сервис ```bash= sudo sshd -t ``` ![](https://i.imgur.com/vOLXO4J.png) --- ```bash= sudo service sshd restart ``` ![](https://i.imgur.com/MWBd8sa.png) --- Создадим пользователя sftpuser с паролем kali123456, группу sftpuser, добавим пользователя sftpuser в группу sftp ```bash= sudo useradd sftpuser -p grep sftp /etc/group sudo addgroup sftp grep sftp /etc/group sudo usermod -aG sftp sftpuser sudo groups sftpuser ``` ![](https://i.imgur.com/3VEVVY1.png) --- Проверим адрес ```bash= ip address ``` ![](https://i.imgur.com/BjWOVnM.png) --- Запустимся из winSCP ![](https://i.imgur.com/wKA6mA1.png) ![](https://i.imgur.com/cjcinWW.png) --- Запустимся из Filezilla ![](https://i.imgur.com/bXmeeDf.png) ![](https://i.imgur.com/hrUqIoW.png) --- Запуск из комндной строки Получим ключи ```bash= ssh sftpuser@10.0.20.225 ``` ![](https://i.imgur.com/kXjgg1o.png) ![](https://i.imgur.com/bhRt7Cp.png) Подключимся ```bash= sftp sftpuser@19 ``` ![](https://i.imgur.com/kBX5H53.png) --- Использование ```bash= ls put /etc/passwd ls -la get .bashrc /tmp/.bashrc ``` ![](https://i.imgur.com/qO28QdQ.png) --- Wireshark ![](https://i.imgur.com/sQlW0dp.png) Данные в sftp канале зашифрованы, так используется ssh --- ## 3.3 Сервисы в Linux ### 3.3.0 Сервисы Посмотрим службы ```bash= sudo service --status-all ``` Результат ![](https://i.imgur.com/2QQF6RD.png) --- ### 3.3.1 Apache Установим apache ```bash= sudo apt install apache2 ``` Результат ![](https://i.imgur.com/nuM4i1U.png) ![](https://i.imgur.com/AuHT52E.png) --- Проверим статус ```bash= sudo service apache2 status ``` Результат ![](https://i.imgur.com/qFsz91x.png) --- Посмотрим что он добавлен в службы ```bash= sudo service --status-all ``` Результат ![](https://i.imgur.com/i6PbXxz.png) --- Запустим apache и проверим статус ```bash= sudo service apache2 start sudo service apache2 status ``` Результат ![](https://i.imgur.com/U6wvjJ2.png) --- Откроем 10.0.20.225 в браузере ![](https://i.imgur.com/bGddpXG.png) --- Остановим apache ```bash= sudo service apache2 stop ``` ![](https://i.imgur.com/AgPutHM.png) --- Снова откроем 127.0.0.1 в браузере ![](https://i.imgur.com/vElekGB.png) --- Управление через systemctl ```bash= # проверим статус сервисов sudo systemctl status # проверим статус сервиса apache sudo systemctl status apache2 # запустим apache sudo systemctl start apache2 # остановим apache sudo systemctl stop apache2 # добавим в атозагрузку sudo systemctl enable apache2 # удалим из автозагрузки sudo systemctl disable apache2 ``` ![](https://i.imgur.com/nsHCTjJ.png) ![](https://i.imgur.com/SGCa78e.png) ![](https://i.imgur.com/DnI6NJy.png) --- ### 3.3.2 Telnet Установим telnet ```bash= sudo apt install telnet ``` ![](https://i.imgur.com/m4cF6pL.png) --- Протестируем веб сервис ```bash= telnet www.google.com 80 ``` ![](https://i.imgur.com/JIYot0b.png) --- Можем узнать есть-ли на адресе ssh ```bash= telnet -d 10.0.20.225 22 ``` ![](https://i.imgur.com/CUe1HRZ.png) --- Установка сервера телнет ```bash= sudo apt install telnetd ``` ![](https://i.imgur.com/Lsm7XAA.png) --- Подключимся ```bash= telnet -d 10.0.20.225 23 ``` ![](https://i.imgur.com/B4UkFWQ.png) ![](https://i.imgur.com/K4Yzjng.png) --- ### 3.3.3 SSH Сервис ssh мы подробно рассмотрели в предыдущих работах, поэтому не будем детально останавливаться на нем. Установка ```bash= sudo apt install openssh-server ``` ![](https://i.imgur.com/JktLTpl.png) ![](https://i.imgur.com/HMx9Q7i.png) --- Конфиг файл ```bash= sudo nano /etc/ssh/ssh_config ``` ![](https://i.imgur.com/gFZpSm3.png) ![](https://i.imgur.com/d2A5O9q.png) --- Управление ```bash= # Перезапуск сервиса ssh sudo service ssh restart # Остановка сервиса ssh sudo service ssh stop # Запуск сервиса ssh sudo service ssh start ``` ![](https://i.imgur.com/WIfY2ie.png) --- ### 3.3.4 FTP Установка ```bash= sudo apt install vsftpd ``` ![](https://i.imgur.com/I9cNW5j.png) --- Конфигурация ```bash= sudo nano /etc/vsftpd.conf ``` ![](https://i.imgur.com/Q4iWA4U.png) ![](https://i.imgur.com/ltvPthN.png) Управление ```bash= # автозагрузка sudo systemctl enable vsftpd # статус sudo service vsftpd status ``` ![](https://i.imgur.com/Aw3iuiH.png) Подключимся ![](https://i.imgur.com/XM19ZIW.png) ![](https://i.imgur.com/Hx1c5K3.png) ![](https://i.imgur.com/4k82WTd.png) ---- Wireshark ![](https://i.imgur.com/ZedOWo0.png) Данные в канале ftp передаются в открытом виде --- ### 3.3.5 SMB Установим самбу ```bash= sudo apt install samba ``` ![](https://i.imgur.com/mw6gGWo.png) ![](https://i.imgur.com/vKAJgyq.png) --- Сконфигурируем ```bash= sudo nano /etc/samba/smb.conf sudo testparm ``` ![](https://i.imgur.com/3nMwRIP.png) ![](https://i.imgur.com/jXTOy6M.png) --- Добавим в атозагрузку и включим ```bash= sudo systemctl enable smbd sudo service smbd start ``` ![](https://i.imgur.com/6y60meW.png) --- Обратимся на шару ![](https://i.imgur.com/FDJ4G6p.png) ![](https://i.imgur.com/v4At8C2.png) ![](https://i.imgur.com/os6pReU.png) ![](https://i.imgur.com/T4FPP6q.png) --- На этом данная работа завершена