Programming & Tools/Linux2013. 9. 5. 16:58

U-buntu 10.04에서 tftpd를 실행하고, Client에서 put을 하면 Access violation이 발생 한다.

이는 10.x 부터 보안상의 이유로 tftpd에서는 get만을 지원하도록 하였다.

이를 해결하기 위해서는 tftp대신에 HPA's tftp 를 설치하면 된다.

U-Buntu Software Center에서 Trivial file transfer protocol client 와  Trivial file transfer protocol client

Remove 시키고 HPA's tftp serverHPA's tftp clientInstall 한다.

또는 쉘에서

$ sudo apt-get install tftp-hpa

$ sudo apt-get install tftpd-hpa

로 설치 한다.


기본 설치를 하였을 경우 똑 같이 get 만을 지원하므로 put을 지원하기 위해서는 Option을 수정 해주어야 한다.

tftpd 에서는 "/etc/xinetd.d/tftp" 에 설정 정보가 있었지만, tftpd-hpa는 "/etc/default/tftpd-hpa"에

설정 정보가 존재 한다.


put을 지원하려면

/etc/default/tftpd-hpa의 항목을 다음과 같이 수정해주어야 한다.


 

TFTP_OPTIONS="--secure --create"


또한 tftpd 디렉토리 및 사용자 이름등도 원하는대로 수정하면 된다.

 


* /etc/default/tftpd-hpa 의 항목 중 TFTP_DIRECTORY 에서 정의된 디렉토리가 기존에 존재한다면, 프로그램이 비정상동작

하는 경우가 발생을 한다. 그러므로 처음 설치 하기 전에 /tftpboot 디렉토리 혹은 /var/lib/tftpboot 디렉토리이름을 변경하고 설치 하도록 한다.

Posted by 다크쌍피