美文网首页Java技术日志
Ubuntu16.04环境下使用vsftpd搭建FTP服务器

Ubuntu16.04环境下使用vsftpd搭建FTP服务器

作者: 梁朋举 | 来源:发表于2017-12-05 21:02 被阅读20次

1.安装vsftpd

安装vsftp软件包

#apt-get install vsftpd    

卸载vsftpd包

#apt-get remove vsftpd    

vsftpd命令 启动start 查看状态status 停止stop 重启restart

# /etc/init.d/vsftpd restart   
# service vsftpd restart
# systemctl restart vsftpd
# service vsftpd start
# service vsftpd status
# service vsftpd stop

2.配置vsftpd

root@ubuntu:/etc# vim vsftpd.conf

local_enable=YES
是否允许本地用户访问,就是linux本机中存在的用户,YES允许
write_enable=YES
是否开启写模式,YES为开启
local_umask=022
新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755

vsftpd.conf

限制用户只能访问宿主目录配置
chroot_local_user=YES
是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,NO为不开启限制
chroot_list_enable=YES
是否启动限制用户的名单list为允许模式,YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
chroot_list_file=/etc/vsftpd.chroot_list
设置chroot_list文件,文件中用户将不受限制的访问ftp根目录以外的目录,每行一个用户名

设置chroot_list文件

用户白名单和黑名单配置
userlist_deny=NO
是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效
userlist_enable=YES
是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效
userlist_file=/etc/vsftpd.user_list
指定vsftpd.user_list文件作为userlist文件,每行一个用户名
seccomp_sandbox=NO
该项不配置可能导致530问题

用户白名单和黑名单配置

只有存在于userlist文件中的用户才能登录ftp,可以理解为userlist是一个白名单
root@ubuntu:/etc# vim vsftpd.user_list

每行一个用户,里面的用户将不受限制的去访问ftp根目录以外的目录
root@ubuntu:/etc# vim vsftpd.chroot_list


添加两个ftp用户,禁用telnet登录,只能ftp访问,密码均为fy1234

3.创建用户并配置权限

创建用户并指定分组和根目录

语法:useradd -d 根目录 -s 指定shell脚本 –g ftp分组 –G root分组 用户名
示例:useradd -d /var/www/html -s /sbin/nologin -g ftpGroup -G root feiyue
解析:
useradd 添加用户feiyue
-d 指定用户根目录为/var/www/html
-s 指定shell脚本为/sbin/nologin,表示不允许shell登录
-g 创建分组ftpGroup
-G 指定root分组

设置用户密码

语法: passwd ftp用户名
示例: passwd feiyue

设置访问权限

chown feiyue /var/www/html

更改用户权限设置

usermod –s /sbin/nologin feiyue #指定用户feiyue不能telnet登录,只能ftp访问
usermod –s /bin/bash feiyue #用户feiyue权限恢复正常
usermod –d /home/feiyue feiyue #更改用户feiyue的主目录为/home/feiyue

删除用户

语法:userdel –r 用户名
示例:userdel –r feiyue #删除用户feiyue
-r:彻底删除用户,同时删除主目录和邮件目录
实例:
添加用户fyftp01并设置宿主目录,同时不允许登录权限

# useradd -d /var/www/html -s /sbin/nologin fyftp01

4.测试FTP访问

使用ftp客户端,例如xftp5
填写主机、端口号、用户名、密码

ftp连接基本信息

选项设置,传输类型勾选使用被动模式


选项设置

使用linux命令添加用户,重启ftp服务器,测试连接ftp整个过程如下:

linux命令测试连接ftp


本订阅号提供Java相关技术分享,从Java编程基础到Java高级技术,从JavaWeb技术基础Jsp、Servlet、JDBC到SSH、SSM开发框架,从REST风格接口设计到分布式项目实战。剖析主流开源技术框架,用亲身实践来谱写深度Java技术日志。“

欢迎关注 Java技术日志 微信订阅号

相关文章

网友评论

    本文标题:Ubuntu16.04环境下使用vsftpd搭建FTP服务器

    本文链接:https://www.haomeiwen.com/subject/iyytixtx.html