添加URL
相关文章推荐
我去  ·  centos 7 systemd ...·  2 年前    · 
770280135  ·  vsftp提示500 OOPS: bad ...·  2 年前    · 
770280135  ·  vsftp提示500 OOPS: bad ...·  2 年前    · 

如果要ftp访问linux需要安装ftp服务,vsftpd是Linux下比较好的的FTP服务器。

一、检查安装vsftp

1 //检查是否安装vsftpd

2 rpm -qa | grep vsftpd

3 //没有就安装vsftpd

4 yum -y install vsftpd

5 //设置系统服务

6 chkconfig vsftpd on

二、编辑vsftp配置项

配置开启虚拟账户(只能登陆ftp,不能登陆系统)以及设置访问目录

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO //设定不允许匿名访问

local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问

chroot_list_enable=YES //使用户不能离开主目录

ascii_upload_enable=YES

ascii_download_enable=YES //设定支持ASCII模式的上传和下载功能

guest_enable=YES //设定启用虚拟用户功能

guest_username=ftp //指定虚拟用户的宿主用户

user_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径

三、安装Berkeley DB工具(文件数据库,我们用文件存放虚拟用户的账号密码)

yuminstalldb4 db4-utils

四、创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,奇行是用户名,偶行是密码

1 vim /etc/vsftpd/vuser_passwd.txt

2 test

3 123456

五、生成虚拟虚拟用户账号密码的db文件,并关联数据db文件

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

编辑认证文件/etc/pam.d/vsftpd, 全部注释 掉原来语句,再增加以下两句

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

六、创建虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf/

vi /etc/vsftpd/vuser_conf/test  //文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效

#添加以下内容(每一行的首尾都不能有空格,否则会登录报错)

local_root=/ftp

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

七、重启vsftpd服务

service vsftpd restart

最后新建ftp连接到ftp服务器。客户端ftp工具可以用filezilla活着flashfxp。

问题:500 OOPS: unrecognised variable in config file: cal_root

原因:虚拟用户配置文件的变量缺少字符。cal_root应该为local_root

问题:500 OOPS: bad bool value in config file for: anon_world_readable_only

虚拟用户配置文件中,存在空格导致。每一行的首尾都不能有空格。

local_root=/data/www/

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES


问题:vsftp登录报错”500 OOPS: cannot change directory:/home/*******”

配置local_root=/home/www/

改为local_root=/data/www/

并且www目录的权限改为777

chmod -R 777 /data/www


参考链接1:https://www.jianshu.com/p/9227d427caaf

参考链接2:https://www.cnblogs.com/IT--Loding/p/6257685.html

参考链接3:https://blog.csdn.net/qq_24041497/article/details/79044894