centos7搭建ftp

1、最简答的搭建

yum install vsftpd -y

参考:https://www.jianshu.com/p/55e05b1a6eb1

默认搭建,再不配置任何的情况下,搭建完毕即可直接匿名访问ftp,
但是有诸多问题,比如:不能上传文件,无法账号登陆等等。

 

2、新增ftp用户
建立虚拟用户

// 创建ftp用户,并在home目录下建立一个同名的文件夹(即用户根目录),用户FTP上来后默认指向的目录也为此目录,可读写
adduser -g ftp -s /sbin/nologin user1

//创建ftp用户,为ftp用户指定到特定的目录
adduser -d /opt/user1 -g ftp -s /sbin/nologin user1

/*
 -g ftp -s /sbin/nologin 表示创建没有其它登陆权限,只能用于ftp的用户
 adduser user1 一般在linux系统下面是这样增加用户的,但像以上这样增加用户是不行的,加样加出来的用户为普通用户,有系统登陆权限
 */

参考:https://www.cnblogs.com/liuensong/p/10140373.html

创建完成后的ftp用户,是可以在此用户的根目录下进行读写操作的。但是该用户它可以向上访问目录,甚至可以看到任何目录。

 

3、限制ftp用户登陆时,只能看到指定的目录

找到vsftp的配置文件/etc/vsftpd/vsftpd.conf,修改如下配置

#chroot_list_enable=YES  //放开此配置:打开限制用户上访问目录
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list //放开此配置:载入限制用户上访问目录配置列表文件。这些用户将被锁定在定义的目录
allow_writeable_chroot=YES //针对报错500 OOPS: vsftpd: refusing to run with writable root inside chroot()的方案

增加/etc/vsftpd/chroot_list 文件,写入你要限制的用户名字,比如:user1。如果需要多个用户,一行一个即可。

user1

然后重启vsftp服务,再次链接即可看到效果

service vsftpd restart

参考:https://blog.csdn.net/bjsunwei/article/details/78114489

 

 

其它

553 Could not create file.

出现这种错误,一般是文件夹没有权限导致,找到上传的目录,执行如下,授予写的权限即可

chmod 777 /var/ftp/

你可能感兴趣的:(centos7搭建ftp)