1、最简答的搭建
yum install vsftpd -y
参考:
默认搭建,再不配置任何的情况下,搭建完毕即可直接匿名访问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系统下面是这样增加用户的,但像以上这样增加用户是不行的,加样加出来的用户为普通用户,有系统登陆权限 */
参考:
创建完成后的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
参考:
其它
553 Could not create file.
出现这种错误,一般是文件夹没有权限导致,找到上传的目录,执行如下,授予写的权限即可
chmod 777 /var/ftp/