[Linux] U-buntu 10.04 tftp Upload 시 Access Violation
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 server 와 HPA's tftp client 를 Install 한다.
또는 쉘에서
$ 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 디렉토리이름을 변경하고 설치 하도록 한다.