共计 2515 个字符,预计需要花费 7 分钟才能阅读完成。
为了局域网方便访问 Ubuntu 系统,在 Ubuntu 14.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
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139650.htm