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 минут:

Каждый день:

Среда 15:00 :

Воскресенье 20:00 :

Теперь впишу эти скрипты в crontab:

2 SFTP и FileZilla
SFTP - протокол прикладного уровня передачи файлов, работающий поверх безопасного канала. Предназначен для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения.
Перенастрою ssh, добавив несколько строк в конец конфигурационного файла (/etc/ssh/sshd_config):

Match group sftp - Мы выделяем группу пользователей, на которых будет срабатывать набор правил
ChrootDirectory /home - выбираем директорию, в которой будут работать пользователи
X11Forwarding no - чтобы не давать пользователю долступ к рабочему окружению
AllowTCPForwarding no - запрещаем перенаправление TCP (пользователь не сможет использовать наш сервер как proxy-сервер)
ForceCommand internal-sftp - ForceCommand internal-sftp - использовать только sftp, встроенный в ssh
Для дальнейших действий создам нового пользователя, групп sftp и добавлю в нее нового пользователя:

Теперь попробую подключиться к нему с помощью winscp, чтобы проверить подключение


Далее на другую машину я установил Filezilla и подключился


Также можно подключиться и через консоль

После этого я зашел в wireshark, чтобы посмотреть пакеты

Так в первом пришедшем пакете мы видим протокол, через который подключился пользователь (FileZilla) и после в первом отправленном мы видим наш протокол (OpenSSH)
Далее видно, как происходит проверка ключей ssh (т.к. у меня включена и настроена аундефикация по ключу)
И после аундефикации происходит обмен пакетов
3 Сервисы в Linux
Сервисы или службы — это программы, которые работают в системе Linux в фоновом режиме. Обычно они запускаются при загрузке системы и большинство из них необходимы для полноценной работы системы.
Чтобы посмотреть какие сервисы работают, а какие нет, есть команда:
service --status-all

Чтобы добавить сервис в автозагрузку, есть команда:
sudo systemctl enable <сервис>
А чтобы удалить из автозагрузки:
sudo systemctl disable <сервис>

Apache – это кроссплатформенное программное обеспечение для гибкой настройки надежных веб-серверов.
Загружу и запущу его


и после зашел на его страницу (в браузере 127.0.0.1)
если остановить сервис, то страница, естественно, будет недоступна


TELNET — сетевой протокол для реализации текстового терминального интерфейса по сети.
С помощью него можно получить код страницы, используя команду:
telnet <адрес сайта> <порт>
и после ввести "GET /"

(т.к. утилита не работает с русскими шрифтами, то вместо русских букв будут �)
Также можно посмотреть, если ли на хосте ssh сервер:

Чтобы развернуть сервер Telnet, надо скачать telnetd

И после этого можно будет подключиться к машине:

(но этот протокол не рекомендуется использовать, т.к. он без шифрования)
SSH - это сетевой протокол, который обеспечивает безопасное удаленное соединение между двумя системами.
(его я не буду тут особо показывать, т.к. я его делал во 2 практичесокй работе)
FTP - протокол передачи файлов по сети. Является одним из базовых протоколов Ethernet.
скачаю его:
sudo apt-get install vsftpd

и зайду в конфигурационный файл:
sudo nano /etc/vsftpd.conf

коротко о параметрах:
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
Samba (SMB) - сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия.
Скачаю этот протокол

и зайду в конфигурационный файл и там впишу, чтобы "шарилась" папка /etc:

коротко о параметрах:
[...] - тут указывается имя папки, которое увидят пользователи
comment - просто коментарий
brouseable - видимость папки
path - путь до папки
public - общедоступность папки
writable - разрешение записи в папку
read only - разрешение только на чтение
guest ok - разрешает доступ гостевой учетной записи
create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются полные права
Проверить правильность конфигурации можно командой:
sudo testparm

После этого добавляю ее в автозагрузку и запускаю

Теперь я могу подключится к этой папке с windows (\\\192.168.33.148\IgorFolder) и посмотреть все
