Debian: Настройка TFTP-сервера tftpd-hpa
Однажды мне понадобилось настроить TFTP-сервер в Linux. До этого приходилось пользоваться только TFTP-сервером во FreeBSD. Хотел найти что-то похожее, но это оказалось не так просто. Перепробованные мной два других TFTP-сервера не подошли. Точно помню, что один из них не имел опции для создания новых файлов, позволяя писать только в уже существующие файлы. Другой тоже чем-то не устроил. В итоге остановился на TFTP-сервере tftpd-hpa. У него можно отметить два достоинства:
- Умеет работать автономно, без помощи inetd,
- Есть опция, разрешающая создание новых файлов, что полезно для сохранения резервных копий конфигурации оборудования.
Установим пакет tftpd-hpa:
# apt-get install tftpd-hpa
После установки отредактируем файл /etc/default/tftpd-hpa, содержащий настройки сервера. Приведём его к следующему виду:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--ipv4 --secure --create --umask 027 --permissive"
В настройках указаны дополнительные опции:
- create разрешает серверу создавать новые файлы,
- ipv4 предписывает ему ожидать подключений только на адресах IPv4,
- umask предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей,
- permissive предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.
Создадим каталог для tftp-сервера, дадим серверу доступ к каталогу:
# mkdir /var/tftp # chown tftp:tftp /var/tftp
Можно также поменять домашний каталог пользователя tftp в файле /etc/passwd на /var/tftp.
Осталось перезапустить демона, чтобы он начал работу с новым каталогом:
# /etc/init.d/tftpd-hpa restart