腾讯云服务器linux Ubuntu操作系统安装ftp服务器vsftpd
Ubuntu Server 16.04.1 LTS 64位
登录服务器
xshell 登录服务器 用户名如果没自定义默认:ubuntu
安装vsftpd服务器
$ sudo apt-get install vsftpd -y
查看是否运行
如果安装成功, 正常会自动启动, 如果没有启动,则需要手动启动 , ftp监听21端口, 用netstat 查看21端口,如果被vsftpd监听则正常
$ sudo netstat -nltp | grep 21
如果没有则需要手动启动
$ sudo systemctl start vsftpd.service
配置用户访问目录
#新建用户主目录
$ sudo mkdir /home/my
#创建用户欢迎文件
$ sudo touch /home/my/welcome.txt
设置用户跟密码
#创建一个用户 my
$ sudo useradd -d /home/my -s /bin/bash my
#为my用户设置密码 输入两次
$ sudo passwd my
删除掉 pam.d 中 vsftpd,因为该配置文件会导致使用用户名登录 ftp 失败
$ sudo rm /etc/pam.d/vsftpd
设置该用户只能登录FTP, 而不能直接登录服务器
$ sudo usermod -s /sbin/nologin my
修改 vsftpd 配置
$ sudo chmod a+w /etc/vsftpd.conf
#修改 /etc/vsftpd.conf 文件中的配置(直接将如下配置添加到配置文件最下方):etc/vsftpd.conf-文件底部追加以下代码:
----------------------------修改vsftpd.conf 添加下面代码--------------------------
#禁止匿名登录
anonymous_enable=NO
anonymous_enable=NO
# 限制用户对主目录以外目录访问
chroot_local_user=YES
# 指定一个 userlist 存放允许访问 ftp 的用户列表
userlist_deny=NO
userlist_enable=YES
# 记录允许访问 ftp 用户列表
userlist_file=/etc/vsftpd.user_list
# 不配置可能导致莫名的530问题
seccomp_sandbox=NO
# 允许文件上传
write_enable=YES
# 使用utf8编码
utf8_filesystem=YES
-------------------------------------------------------------------------------------
新建文件 /etc/vsftpd.user_list,用于存放允许访问 ftp 的用户
$ sudo touch /etc/vsftpd.user_list
$ sudo chmod a+w /etc/vsftpd.user_list
修改 /etc/vsftpd.user_list ,加入刚刚创建的用户 my
$ vi /etc/vsftpd.user_list
写入 my
设置访问权限
#设置主目录访问权限(只读)
$ sudo chmod a-w /home/my
#新建公共目录,并设置权限(读写)
$ sudo mkdir /home/my/public && sudo chmod 777 -R /home/my/public
重启服务器
$ sudo systemctl restart vsftpd.service
登录FTP
1)资源管理器打开 ftp://用户名:你的密码@服务器IP地址
2)下载winscp 客户端 ,注意 读取目录失败,更改连接模式为主动。
/END