Однажды мне понадобилось настроить TFTP-сервер в Linux. До этого приходилось пользоваться только TFTP-сервером во FreeBSD. Хотел найти что-то похожее, но это оказалось не так просто. Перепробованные мной два других TFTP-сервера не подошли. Точно помню, что один из них не имел опции для создания новых файлов, позволяя писать только в уже существующие файлы. Другой тоже чем-то не устроил. В итоге остановился на TFTP-сервере tftpd-hpa. У него можно отметить два достоинства:
- Умеет работать автономно, без помощи inetd,
- Есть опция, разрешающая создание новых файлов, что полезно для сохранения резервных копий конфигурации оборудования.
# 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 предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.
# mkdir /var/tftp # chown tftp:tftp /var/tftpМожно также поменять домашний каталог пользователя tftp в файле /etc/passwd на /var/tftp.
Осталось перезапустить демона, чтобы он начал работу с новым каталогом:
# /etc/init.d/tftpd-hpa restart
5 комментариев:
Спасибо, помогло. А то замучили меня inetd и xinetd ( под ними циска чет не могла бэкап положить)
Эти две опции лучше убрать:
--umask 027 --permissive
С некоторых свичей бывает так , что файл создаётся , но по факту он пустой.
Явно что-то по правам доступа.... Если убираешь - всё нормально.
--permissive разрешает tftp-серверу создавать файлы, без этой опции он будет писать только в те файлы, которые уже существуют.
Чушь несусветная. Создание файлов разрешает опция --create, это вроде бы как из самог названия опции должно быть понятно. Не надо фантазировать.
Я в ubuntu-16.04 сделал так:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/user/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--ipv4 --secure --create --umask 000 --permissive"
# mkdir /home/user/tftp
# usermod -a -G tftp user
# chmod –R 777 /home/user/tftp
Теперь все в домашнем коталоге
Анонимный, именно так и написано в тексте заметки. С кем спорите?
Отправить комментарий