ubuntu安装ftp和tftp

为了局域网方便访问ubuntu系统,在ubuntu14.04上安装了tfp和tftp服务。在windows端用FileZilla、FlashFXP、xFTP、CuteFTP等等访问都很方便。

一、安装ftp服务器

(一)安装
1.安装vsftpd:

 sudo apt-get install vsftpd 

2.检查端口

netstat -tnl

ftp默认打开的是21端口,看下对应21端口的服务有没有打开。
或者直接在浏览器里输入“ftp://服务器IP”,会有相关提示的。

开启、停止、重启vsftpd服务的命令:

service vsftpd start | stop | restart  

(二)新建用户
这个用户主要用于访问ftp服务器
1.增加用户
创建目录

sudo mkdir -p /home/uftp

创建用户

sudo useradd  -d /home/uftp -m uftp

设置用户密码

sudo passwd uftp

(三)配置
1.修改配置文件

sudo gedit /etc/vsftpd.conf 

主要配置:

    listen=YES                 # 服务器监听  
    local_enable=YES         # 是否允许本地用户访问  
    write_enable=YES         # 是否允许上传文件
    anonymous_enable=NO     # 匿名访问允许,默认不要开启,  
    #anon_upload_enable=YES # 匿名上传允许,默认是NO  
    #anon_mkdir_write_enable=YES # 匿名创建文件夹允许  

用户访问目录的权限设置:
在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。

    chroot_local_user=YES      # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。  
    chroot_list_enable=YES  # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。  
    chroot_list_file=/etc/vsftpd.chroot_list      
    #禁用的列表名单,格式为一行一个用户,用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。  

通过搭配能实现以下几种效果:

    (1).当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。  
    (2).当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。  
    (3).当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。  
    (4).当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。  

vsftpd.conf配置

其他配置解释:

    local_umask=022         # FTP上本地的文件权限,默认是077  
    dirmessage_enable=YES     # 进入文件夹允许  
    xferlog_enable=YES         # ftp 日志记录允许  
    connect_from_port_20=YES # 启用20号端口作为数据传送的端口  
    xferlog_enable=yes         # 激活上传和下传的日志  
    xferlog_std_format=yes     # 使用标准的日志格式  
    ftpd_banner=XXXXX         # 欢迎信息  

配置里有些配置选项会以“#”开头,需要的时候去掉“#”配置对应的信息。

由于我设置了chroot_list_enable=YES,chroot_local_user=YES,所以还需要设置可以访问用户列表。

sudo gedit /etc/vsftpd.chroot_list

在里面添加uftp和其他允许访问的用户,每个占一行。

2.重启vsftpd服务

sudo /etc/init.d/vsftpd restart  
 或sudo service vsftpd restart  

修改配置文件后一定要重启服务才能生效

用命令查看当前电脑局域网IP地址

ifconfig

然后在ftp访问终端输入对应的IP地址,端口号(21),账户密码就能访问了。

(四)卸载
删除用户

sudo userdel uftp 

卸载软件

sudo apt-get remove --purge vsftpd

(–purge 选项表示彻底删除改软件和相关文件)

二、安装ftp服务器

1、安装

sudo apt-get install tftp-hpa tftpd-hpa

2、配置

sudo gedit /etc/default/tftpd-hpa

打开tftpd-hpa修改里面的配置

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/uftp/tftpboot" //修改成自己要使用的tftpboot目录
TFTP_ADDRESS="[::]:69"
TFTP_OPTIONS="-l -c -s"

3、创建tftp目录

mkdir /home/uftp/tftpboot
chmod 777 /home/uftp/tftpboot

4、测试
在当前命令目录下新建test.txt

$ tftp localhost
tftp>put test.txt
tftp>get test.txt
tftp>q

需要文件真实存在,否则报Error code 1: File not found

5、卸载

sudo apt-get remove --purge tftp-hpa tftpd-hpa

清理残留数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 

6、tftp服务器重启

sudo service tftpd-hpa restart
或sudo /etc/init.d/tftpd-hpa restart

猜你喜欢

转载自blog.csdn.net/loongago/article/details/54584631
今日推荐