---
# System prepended metadata

title: Untitled

---

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)
