# Занятие 3
## Практическая работа №3.1
**Вот некоторые основные операции с сron:**
crontab -e

crontab -r

crontab -i

crontab -l

Если вы хотите просмотреть списки crontab-файлов других пользователей, просто введите crontab -u username -l как суперпользователь.

По сути, crontab-файл состоит из двух частей: таймера расписания и команды. Вот как записывается команда:
`* * * * /bin/sh backup.sh`
`**** /bin/sh backup.sh`
`30 18 * * * rm /home/sydtesting/tmp/*`

Узнать, запущена ли в данный момент утилита крон, позволяет команда:

Для запуска и остановки можно также использовать:

Для того чтобы написать задачу делаем следующее.
Запускаем в нулевую минуту нулевого часа, каждый день, это в 12 ночи:

Запускаем в нулевую минуту нулевого часа, каждый день, это в 12 ночи:

Если идти так дальше, то можно запускать в первый день каждого месяца:

Можно в любой день, например, 15 числа:

В первый день недели первого месяца года, 0 часов 0 минут:

Или в нулевой день недели каждого месяца:

Вы можете выбрать любую минуту, час и день недели, например, 15.30 во вторник:

Понедельник считается первым днем, воскресенье - это седьмой или нулевой день. Еще можно писать сокращенное название дня недели, например sun - воскресенье:

Для того чтобы указать определенный интервал нужно использовать символ "-", например, каждый час, с семи утра до семи вечера:

Если нужно запустить команду несколько раз, можно использовать разделитель ",". Например, запустим скрипт в 5 и 35 минут пятого (16:05 и 16:35), каждый день:

Вы можете захотеть не указывать отдельно время, а просто указать интервал, с которым нужно запускать скрипт, например, раз в 10 минут. Для этого используется разделитель косая черта - "/":

**В нашем случае текст скрипта `pwd.sh` соедующий:**

В Cron выглядит следующим образом

**Результат:**

**Теперь необходимо выполнить задание, которое находится в начале методического указания.**
Сам скрипт:

- один раз в 15 минут постоянно

- один раз в сутки

- 15:00 в среду

- 20:00 в воскресенье

**результат:**

## Практическая работа №3.2
SFTP
настроим:
и добавим следующие строки в конец конфигурационного файла
Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTCPForwarding no
ForceCommand internal-sftp

проверяем конфигурацию командой

и перезапускаем сервис

создадим пользователя sftpuser
с паролем 123456

проверяем наличие группы sftp
grep sftp /etc/group

проверяем наличие группы sftp

далее делаем следующие:
добовляем пользователя в группу sftp
sudo usermod -aG sftp username

проверяем наличие пользователя в группе sftp

и теперь мы можем подключиться к нему c помощью winscp
запускаем и вводим параметры

Далее переходим в linux с которого мы будет подключаться, запускаем filezilla


**Теперь как это сделать из командной строки - заходим в другой linux и вводим команду**

после этого мы можем запустить удаленное подключение по sftp:

тут мы можем вводить следующие команды, например:
ls

далее: можно положить файлик
put /etc/passwd

далее посмотреть права
ls -la

и что-нибудь скачать, например:

далее можно проверить видимость данных через wireshark


Вывод:
Видно, что SFTP использует протоколы TCP и SSHv2. SFTP их использует, потому что SFTP основан на SSH, который в свою очередь работает на TCP и SSHv2.
## Практическая работа №3.3
**1. Сервисы или службы**
Чтобы посмотреть какие сервисы у нас работают необходимо ввести команду:
service --status-all

**2. Давайте приступим к командам по управлению сервисами:**

то запустим его с помощью

и введём

увидим, что он запустился
также введём команду

**2.1 Затем давайте попробуем зайти на страничку нашего Apache2**
открываем браузер и вводим в строке ip-адрес 127.0.0.1

Далее давайте отключим web-сервер и посмотрим какой вывод нам даст браузер, отключается следущей командой:
sudo service apache2 stop


теперь давайте рассмотрим аналоги: systemctl
введём

также можно управлять сервисами:

добавим сервис в автозагрузку

после этой команды сервис будет запущен при старте, если нам надо исключить сервис из автозагрузке, сделаем следующее:

**2.2 сервис Telnet**
Результат представится в виде текстового сообщения с «кракозябрами», поскольку утилита не работает с русскими шрифтами.

**Для установки сервера Telnet**
Введите команду на удалённом сервере

после чего на свой машинке вводим команду
и мы заходим на удалённый сервер

**2.3 SSH**
При внесении изменений в конфигурацию SSH, целесообразно перезапустить сервис. Настоятельно рекомендую перед запуском проверять конфигурацию (sshd_config). Это можно сделать используя флаг test mode. Этот дополнительный шаг позволяет убедиться, что синтаксис и опции корректны.
`sudo sshd -t` - **Команда не должна возвращать текст или ошибки.**
Перезапуск сервиса ssh
`sudo service ssh restart`
Остановка сервиса ssh
`sudo service ssh stop`
Запуск сервиса ssh
`sudo service ssh start`

**2.4 FTP**
Установка:

заходим в конфигурационный файл

listen=NO

listen_ipv6

anonymous_enable

local_enable

dirmessage_enable

use_localtime

xferlog_enable

connect_from_port_20

secure_chroot_dir

rsa_cert_file

Давайте выполним дополнительную конфигурацию по дополнению сервиса в атозагрузку:

посмотрим статус сервера

что-бы увидеть всю файловую систему на сервисе необходимо в файле конфигурации снять комментарий и изменить YES на NO:

Подключение к FTP-серверу через WinSCP

**Как можно продемонстрировать, что сервис ftp не шифруется**
запускаем Wireshark
и запускаем FileZilla на Windows подключаемся к нашей kali и видим следующее:

**2.5 Samba**
для начала необходимо установить sambu

переходим в конфигурационный файл

Далее мы добавляем сервис в автозагрузку и запускаем его

затем для доступа через Windows надо сделать следующие

Затем создаём текстовый файл и 222.txt редактируем, идём в linux и затем уже в директорию tmp
