Ubuntu14.04安装FTP服务器的实现步骤
导读
FTP:文件传输协议,用于在两台计算机之间进行文件的上传和下载。
有时候我们需要将本地的文件上传到远程的Ubuntu 14.04服务器上,或者把远程Ubuntu 14.04服务器上的文件下载到本地,这就需要搭建FTP
安装
采用如下命令安装ftp服务器
sudo apt install vsftpd
软件管理
软件管理方式
service vsftpd start 启动 service vsftpd restart 重启 service vsftpd stop 停止 service vsftpd status 查看状态
匿名访问方式
修改配置文件
gedit /etc/vsftpd.conf
并写入配置
anonymous_enable=YES anon_root= /data/pub local_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES #listen_ipv6=NO pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES
配置完成后,创建文件夹和文件,重启服务器
mkdir -p /data/pub touch /data/pub/a.txt chmod -R 777 /data chmod a-w /data/pub service vsftpd restart
客户端登陆服务器
命令行登陆
ftp 127.0.0.1 然后输入用户名 Anonymous 最后输入ls如果初现如图所示的效果即代表创建成功
在文件夹下连接服务器
使用文件夹访问服务器,最后能在文件夹下看到1.txt这个文件
window下访问
首先获取linux的ip地址
ifconfig
接着,在window的文件管理器下输入地址
ftp://192.168.183.128
系统用户访问
修改配置文件
1、修改配置文件
gedit /etc/vsftpd.conf
并写入配置
anonymous_enable=NO local_enable=YES userlist_enable=YES userlist_deny=NO
2、写入允许访问的用户名
gedit /etc/vsftpd.user_list
添加自己的用户,比如我的电脑用户是ubuntu,则在文件内写上ubuntu
配置完成后重启,
service vsftpd restart
客户端登录服务器
同样通过三种方式来访问该ftp
命令行登录
文件夹下连接服务器
window下访问
虚拟用户访问方式
系统用户模式虽然可以控制访问,但是如果用户过多,就会影响服务器系统的管理,对服务器安全造成威胁!而且我们需要的仅仅是可以使用搭建在服务器的FTP服务而已!
那么就需要我们设置虚拟用户进行登录,这也是推荐的方式!这种方式更加安全!
虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证,虚拟用户不能登录Linux系统,从而让系统更加的安全可靠。
安装工具
安装如下工具,用于生成密码账户校验
sudo apt install db-util
创建账户
创建的ftpuser账户,用于接下来的实验,并修改密码
useradd ftpuser -s /sbin/nologin passwd ftpuser
修改总体配置
gedit /etc/vsftpd.conf
并写入配置
anonymous_enable=NO local_enable=YES userlist_enable=YES #userlist_deny=NO guest_enable=YES guest_username=ftpuser #和前面创建的用户名一致 virtual_use_local_privs=YES pam_service_name=vsftpd user_config_dir=/etc/vsftpd/virtualconf #记住这个路径
创建配置文件夹,用于存放每个用户的配置
mkdir -p /etc/vsftpd/virtualconf
创建存放用户密码
vi /etc/vsftpd/virtusers
在文件中存入账户和密码
同时使用db命令生成数据库文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
修改pam配置文件
gedit /etc/pam.d/vsftpd
把文件的内容全部删掉,替换以下配置
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
配置每个用户信息
切换到用户配置目录下
mkdir -p /home/ftpuser/ftp1 chown ftpuser.ftpuser /home/ftpuser cd /etc/vsftpd/virtualconf/ gedit ftp1
文件内写入如下配置
local_root=/home/ftpuser/ftp1 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
至此 ,配置全部完成
客户端登录服务器
登录之前先重启以下ftp服务器
service vsftpd restart
我们现在共享目录下创建一个文件用于后续验证查看
touch /home/ftpuser/ftp1/1.txt
接下来,同样用三种方式登录
命令行登录
可以看到1.txt为刚刚创建的文件
文件夹下连接服务器
window下访问
到这里ftp三种模式已经全部配置并实践完成