Я использую две машины Linux для передачи файлов TFTP. Передача происходит правильно, если путь к server_args - /var /lib /tftpboot(путь по умолчанию). Но когда я изменяю его на какой-то другой путь, например (/home /user /dir), команда put не работает. Так что для настройки пути для пункта назначения, какой путь. Спасибо
1 ответ
Я считаю, что это будет делать с разрешениями на каталог и кто может писать в них. Если вы запустите ls -al /var/lib | grep tftpboot
, взгляните на права доступа (вероятно, drwxrwxrwx
), а также на владельца каталога. Затем посмотрите на разрешения /home/user
и увидите, что для него будет задано значение drwx------
что означает, что только пользователь, владеющий этим каталогом, может писать в него - tftpd
не будет иметь разрешения на написать в этот каталог. Если вы используете Ubuntu, посмотрите здесь, как правильно настроить каталог назначения для tftpd
особенно часть о chown
.
Редактировать: SELinux нужно было отключить (или настроить), чтобы tftp
мог записывать в указанный каталог (в данном случае /home/tftpd
). Информацию об этом можно найти здесь: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Enabling_and_Disabling_SELinux-Disabling_Selinux-Disabling_S