各位懂Linux系统的帮忙看看
我在虚拟机上弄Linux的vsftpd的虚拟用户模式,然后就在输入密码的时候好像是输错了还是咋的,界面就成这样了,退也退不出来,不知道咋弄了。
exit 或者 quit
:wq是vi里面的保存退出,不适合这里。好像可以输入?或者help查看可用的命令。
编辑配置文件,命令:
[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf
修改部分配置,如下:
chroot_local_user=YES
chroot_list_enable=YES
userlist_enable=YES
创建用户并设置用户目录,参数:-d:设置主目录,-s shell登录权限
命令:
useradd -d /ftpFile -s /sbin/nologin ftp
编辑user_list文件,添加允许登录的用户
#编辑user_list文件
[root@localhost vsftpd]# vi /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
ftpadmin
编辑chroot_list文件,添加允许登录的用户
#编辑chroot_list文件
[root@localhost vsftpd]# vi /etc/vsftpd/chroot_list
#录入登录用户
ftpadmin
由于问题描述不够详细,我将给出以下可能的解决方案:
1.检查vsftpd配置文件中的密码输入相关设置是否正确,例如密码加密方式、密码长度等。可以参考以下代码设置:
# 设置密码加密方式
passwd_chroot_enable=YES
# 设置最小密码长度
passwd_min_len=8
# 设置密码强度检查
check_shell=NO
pam_service_name=vsftpd
2.检查vsftpd服务是否已启动,并根据需要进行启动、关闭、重启操作,可以使用以下代码:
# 启动服务
service vsftpd start
# 关闭服务
service vsftpd stop
# 重启服务
service vsftpd restart
3.检查防火墙设置,确保ftp服务允许通过防火墙,可以参考以下代码:
# 永久性放行ftp端口20和21
firewall-cmd --zone=public --add-port=20-21/tcp --permanent
# 重新加载防火墙设置
firewall-cmd --reload
4.通过调整用户权限目录和配置文件等设置,重新配置虚拟用户模式。可以参考以下代码:
# 创建虚拟用户权限目录
mkdir /etc/vsftpd/virconf
# 设置用户配置文件目录
user_config_dir=/etc/vsftpd/virconf
# 设置用户配置文件路径,例如虚拟用户“test”的配置文件为/etc/vsftpd/virconf/test
user_config_dir=/etc/vsftpd/virconf/%u
上述解决方案仅供参考,如果以上方法不能够解决问题,请提供更详细的错误信息和环境设置,以便更好地解决该问题。