1 Cron Cron - это утилита, позволяющая выполнять скрипты на сервере в назначенное время с заранее определенной периодичностью. Чтобы создать и настроить cron job используется команда: crontab -e Удаляется с помощью: crontab -r (или -i с подтверждением) Посмотреть список crontab-файлов: crontab -u <имя пользователя> -l Сам crontab-файл состоит из 2х частей: таймера расписания и команды: <минута (0-59)> <Час (0-23)> <День (1-31)> <Месяц (1-12)> <День недели (0-6, где 0 - воскресенье)> <команда> если какой-либо параметр времени не указываеися, то вместо него ставится * Так, указав: 0 * * * * - запуск каждую минуту 0 0 * * * - каждый день в 00:00 0 0 10 * * - каждый 10 день месяца 0 0 10 1 * - каждый год 10 января 0 0 * * 1 - каждый понеденьник можно у каждой даты также указывать промежуток от-до 0 0 1-4 1 * - с 1 до 4 января или перечислить через , 0 0 1,4,6 1 * - 1,4 и 7 янва.я или указать интервал, с которым надо запускать скрипт при помощи / : 0 */1 * * * - каждый час сам скрипт создается следующим обраом: 1) создать текстовый файл 2) в первой строке файла написать: #!/bin/bash , чтобы показать, что это скрипт 3) и далее в каждой строке писать команды чтобы запустить скрипт: /bin/bash <путь до файла> Далее выполню задания: скрипт, который должен работать раз в 15 минут: ![](https://i.imgur.com/n10Yo9p.png) Каждый день: ![](https://i.imgur.com/IuXeQoQ.png) Среда 15:00 : ![](https://i.imgur.com/mHZx4w6.png) Воскресенье 20:00 : ![](https://i.imgur.com/5Uj6u7V.png) Теперь впишу эти скрипты в crontab: ![](https://i.imgur.com/Anrfbqa.png) 2 SFTP и FileZilla SFTP - протокол прикладного уровня передачи файлов, работающий поверх безопасного канала. Предназначен для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Перенастрою ssh, добавив несколько строк в конец конфигурационного файла (/etc/ssh/sshd_config): ![](https://i.imgur.com/ItrZxmo.png) Match group sftp - Мы выделяем группу пользователей, на которых будет срабатывать набор правил ChrootDirectory /home - выбираем директорию, в которой будут работать пользователи X11Forwarding no - чтобы не давать пользователю долступ к рабочему окружению AllowTCPForwarding no - запрещаем перенаправление TCP (пользователь не сможет использовать наш сервер как proxy-сервер) ForceCommand internal-sftp - ForceCommand internal-sftp - использовать только sftp, встроенный в ssh Для дальнейших действий создам нового пользователя, групп sftp и добавлю в нее нового пользователя: ![](https://i.imgur.com/nbmzkqP.png) Теперь попробую подключиться к нему с помощью winscp, чтобы проверить подключение ![](https://i.imgur.com/d3fPB6E.png) ![](https://i.imgur.com/UafEXX7.png) Далее на другую машину я установил Filezilla и подключился ![](https://i.imgur.com/GopRE0b.png) ![](https://i.imgur.com/9MZRThB.png) Также можно подключиться и через консоль ![](https://i.imgur.com/Qy4r1dx.png) После этого я зашел в wireshark, чтобы посмотреть пакеты ![](https://i.imgur.com/Hvl7Gpp.png) Так в первом пришедшем пакете мы видим протокол, через который подключился пользователь (FileZilla) и после в первом отправленном мы видим наш протокол (OpenSSH) Далее видно, как происходит проверка ключей ssh (т.к. у меня включена и настроена аундефикация по ключу) И после аундефикации происходит обмен пакетов 3 Сервисы в Linux Сервисы или службы — это программы, которые работают в системе Linux в фоновом режиме. Обычно они запускаются при загрузке системы и большинство из них необходимы для полноценной работы системы. Чтобы посмотреть какие сервисы работают, а какие нет, есть команда: service --status-all ![](https://i.imgur.com/R7eNb1K.png) Чтобы добавить сервис в автозагрузку, есть команда: sudo systemctl enable <сервис> А чтобы удалить из автозагрузки: sudo systemctl disable <сервис> ![](https://i.imgur.com/2Pp39wZ.png) Apache – это кроссплатформенное программное обеспечение для гибкой настройки надежных веб-серверов. Загружу и запущу его ![](https://i.imgur.com/9Q40hkk.png) ![](https://i.imgur.com/aBRp4Xw.png) и после зашел на его страницу (в браузере 127.0.0.1)![](https://i.imgur.com/rsbHVht.png) если остановить сервис, то страница, естественно, будет недоступна ![](https://i.imgur.com/LyTt7Q6.png) ![](https://i.imgur.com/rxM3DD5.png) TELNET — сетевой протокол для реализации текстового терминального интерфейса по сети. С помощью него можно получить код страницы, используя команду: telnet <адрес сайта> <порт> и после ввести "GET /" ![](https://i.imgur.com/n8uZyVz.png) (т.к. утилита не работает с русскими шрифтами, то вместо русских букв будут �) Также можно посмотреть, если ли на хосте ssh сервер: ![](https://i.imgur.com/dIQojTz.png) Чтобы развернуть сервер Telnet, надо скачать telnetd ![](https://i.imgur.com/xC0OM0h.png) И после этого можно будет подключиться к машине: ![](https://i.imgur.com/w1tJh0R.png) (но этот протокол не рекомендуется использовать, т.к. он без шифрования) SSH - это сетевой протокол, который обеспечивает безопасное удаленное соединение между двумя системами. (его я не буду тут особо показывать, т.к. я его делал во 2 практичесокй работе) FTP - протокол передачи файлов по сети. Является одним из базовых протоколов Ethernet. скачаю его: sudo apt-get install vsftpd ![](https://i.imgur.com/ZYFVyiw.png) и зайду в конфигурационный файл: sudo nano /etc/vsftpd.conf ![](https://i.imgur.com/X0Va113.png) коротко о параметрах: listen - при включении сервер стартует в независемом режиме (сервер сам заботится о прослушивании и определении входящих соединений) listen_ipv6 - listen, но с прослушкой протокола IPv6 anonymous_enable - разрешение входа анонимным пользователям local_enable - разрешение анонимного входа под лоеальными логинами dirmessage_enable - при разрешении пользователям FTP-сервера можно показывать сообщения, когда они переходят в каталог use_localtime - при включении будет отображать время в вашей локальной временной зоне в списке содержимого в каталоге xferlog_enable - если включено, то лог-файл будет содержать детальную информацию о загрузках на vsftpd и закачках с vsftpd connect_from_port_20 - при включении указывает исходящим с сервера соединениям использовать 20 порт secure_chroot_dir - содержит имя пустого каталога, который используется безопасной клеткой chroot() во время, когда vsftpd не требует доступ к файловой системе. rsa_cert_file - параметр содержит путь в файловой системе до сертификата RSA для использования в шифрованных SSL-соединениях Чтобы выполнить дополнительную конфигурацию есть команда: sudo systemctl enable vsftpfd Для запуска сервера: sudo service vsftpd start Для просмотра статуса: sudo service vsftpd status Удобно работать с этим протоколом программой FileZilla![](https://i.imgur.com/p07F1L8.png) Samba (SMB) - сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Скачаю этот протокол ![](https://i.imgur.com/e0XGmoL.png) и зайду в конфигурационный файл и там впишу, чтобы "шарилась" папка /etc: ![](https://i.imgur.com/L2SxuB2.png) коротко о параметрах: [...] - тут указывается имя папки, которое увидят пользователи comment - просто коментарий brouseable - видимость папки path - путь до папки public - общедоступность папки writable - разрешение записи в папку read only - разрешение только на чтение guest ok - разрешает доступ гостевой учетной записи create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются полные права Проверить правильность конфигурации можно командой: sudo testparm ![](https://i.imgur.com/SlMtJ3e.png) После этого добавляю ее в автозагрузку и запускаю ![](https://i.imgur.com/bQn7Lgq.png) Теперь я могу подключится к этой папке с windows (\\\192.168.33.148\IgorFolder) и посмотреть все ![](https://i.imgur.com/NAnGhND.png)