TFTP: ошибка сервера: (2) нарушение прав доступа

Я пытаюсь отправить файл на TFTP-сервер, используя следующую команду:

tftp -p -l test.txt xx.xx.xx.xx

И использование TFTP:

BusyBox v1.13.2 (2011-03-24 18:58:44 CDT) двоичный файл с несколькими вызовами

Использование: tftp [OPTION]... HOST [PORT]

Перенести файл с / на tftp сервер

Опции: -l FILE Local FILE -r FILE Remote FILE -g Получить файл -p Поместить файл

Когда я попытался отправить файл с помощью вышеуказанной команды, я получил эту ошибку: tftp: server error: (2) Access violation....

Но если я вручную создаю test.txt (имя файла, которое мне нужно было отправить) на сервере, а затем пытаюсь передать его на сервер, он успешно загружен.

Как я могу отправить файл без создания вручную?

Я использую сервис xinetd для tftp сервера, и ниже его конфигурационный файл.

/etc/xinetd.d/tftp: служба tftp {протокол = порт udp = 69 socket_type = dgram wait = да пользователь = корневой сервер = /usr/sbin/in.tftpd server_args = /tftpboot/ disable = no }

2 ответа

Так вот как я отладил проблему.

# tail /var/log/syslog

Выходные данные вышеупомянутой команды сказали, что tftpd обслуживал файлы из /srv/tftp но нет упоминания о /srv/tftp в /etc/xinetd.d/tftp,

Также этот пост помог отладить проблему: http://toddharris.net/blog/2011/06/19/debugging-xinetd-at-system-launch/. Запуск xinetd в режиме отладки не вызвал этой проблемы.

Виновником была линия TFTP в /etc/inetd.conf как упоминалось в следующей ссылке: http://www.beer.org/blog/category/tech-stuff.html Скорее всего, когда xinetd работает как демон, /etc/inetd.conf имеет приоритет над файлами конфигурации в /etc/xinetd.d каталог, и именно поэтому эта проблема возникает, когда xinetd работает как демон.

Закомментируйте строку tftp в /etc/inetd.conf и перезапустите xinetd, и это решило эту проблему.

Добавлять -c на ваш server_args:

server_args = -c /tftpboot/

Смотрите справочную страницу tftpd(8).

Другие вопросы по тегам