将ftp服务放在防火墙允许访问的服务列表内

Firewall-cmd --permanent --add-service=ftp

Firewall-cmd --reload

Firewall-cmd --list-all

vim /etc/vsftpd/loginusers##文件名称任意

ftpuser1

123

ftpuser2

123

ftpuser3

123

db_load -T -t hash -f /etc/vsftpd/loginusers  /etc/vsftbd/loginusers.db 

                                                            ##加密

vim /etc/pam.d/ckvsftpd##文件名称任意

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

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

 

vim /etc/vsftpd/vsftpd.conf  

131  pam_service_name=ckvsftpd  (/etc/pam.d/ckftpuser)

132  guest_enable=YES

133  guest_uername=ftpuser(ftpuser用户首先要存在,否则直接用ftp就可以)

 134 user_config_dir=/etc/vsftpd/userconf

 135 local_root=/ftpdir/$USER

 136 user_sub_token=$USER

 

systemctl restart vsftpd         ###更改配置文件后都要重启服务

  

mkdir  /etc/vsftpd/userconf/

vim /etc/vsftpd/userconf/ftpuser1(在此文件中添加ftpuser1可执行的命令)

  anon_mkdir_write_enable=YES

 

mkdir -p /ftpdir/ftpuser{1..3}

(在ftpuser{1..3}目录中增加一个目录public

chmod 755 /ftpdir(权限不能太大)

chgrp ftp ftpuser{1..3}/public   

(chmod 775 /ftpdir/ftpuser{1..3}/public

 

 

于是在pubilc文件中就可以执行在userconf中指定用户可使用的命令

getenforce 状态为disable

lftp ip -u ftpuser1 测试


可能会出现的错误

530错误:帐号和密码不匹配

500:权限太大 或者文件配置有错误