天天看点

Linux下ftp环境的搭建

 Debian 6.0.4下搭建的ftp环境,之前装好tftp后即使登录本地localhost上传下载文件也会一直超时,按网上的方法折腾了一下午,尝试了gftp等其他工具,未果。

重新安装

1.安装

sudo apt-get install tftpd-hpa tftp-hpa

tftpd-hpa是服务端程序,tftp-hpa是客户端程序。

开发板的Bootloaer上已经有了tftp-client,所只需要配置主机上的tftp。

2.配置

sudo gedit /etc/default/tftpd-hpa

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/opt/tftpboot" //填入你的tftp服务目录

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"

选项参考

OPTIONS

-l

 Run the server in standalone (listen) mode, rather than run from inetd. In listen mode, the -t option is ignored, and the -a option can be used to specify a specific local address or port to listen to.

-a [address][:port]

Specify a specific address and port to listen to when called with the -l option. The default is to listen to the tftp port specified in /etc/services on all local addresses.listen 的 ip address 和 Port

-c

Allow new files to be created. By default, tftpd will only allow upload of files that already exist. Files are created with default permissions allowing anyone to read or write them, unless the -p or -U options are specified.

-s

 (决定tftp根目录)Change root directory on startup. This means the remote host does not need to pass along the directory as part of the transfer, and may add security. When -s is specified, exactly one directory should be specified on the command line. The use of this option is recommended for security as well as compatibility with some boot ROMs which cannot be easily made to include a directory name in its request.

重启OK

注意:10.04以下的版本用下面的配置

RUN_DAEMON="yes"

OPTIONS="-l -c -s /tftpboot"

3.启动服务

sudo service tftpd-hpa restart

其实tftp-server服务安装TFTP后就自动启动,并且重启电脑时也是自动启动的。

4.测试

sudo mkdir /opt/tftpboot

sudo chmod 777 /opt/tftpboot                 #如果不进行此项权限设置,则其他用户可以get,但put时发生permission denied

cd /opt/tftpboot

sudo touch tftp_down.txt

echo i am an tftp download test doc! > tftp_down.txt

cd ~/

tftp localhost

get test.txt

同理!put一个tftp_up文件上去测试.

成功!

继续阅读