Vsftpd
1、查看是否安装
rpm -qa | grep vsftpd
2、卸载安装
rpm -e xxx yum -y install vsftpd
3、开机启动
chkconfig vsftpd on
4、查看服务状态
service vsftpd start 启动 service vsfptd status 状态 service vsftpd restart 重启 service vsftpd stop 停止 ===> systemctl stop vsftpd.service systemctl start vsftpd.service systemctl status vsftpd.service ===> 查看端口 netstat -tunlp 21端口已经被占用
5、查看文件
whereis vsftpd ftpusers 黑名单,在这个文件里面的人都不能登录ftp user_list 允许访问ftp的用户名单 vsftpd.conf 核心配置文件 vsftpd_conf_migrate.sh FTP服务
二、设置用户
在Linux中,不同用户是有不同目录访问权限的。
1、操作
创建用户并设置用户对于这个文件的权限
2、创建用户
useradd -d /ftp -g ftp -s /sbin/nologin ftptest
-
-d /ftp 表示指定该用户的家目录
-
-g ftp 表示该用户属于ftp分组 (ftp分组是内置的,本来就存在,不需要自己创建)
-
-s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端,这种不能登陆的用户又叫做虚拟用户
3、设置用户拥有这个目录权限
chown -R ftptest /ftp
4、设置目录权限
chmod -R 755 /ftp
5、设置密码
passwd ftptest
三、配置用户
创建完用户后,需要在vsftpd服务器中配置该用户
1、去掉匿名用户登录
vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES 修改为 anonymous_enable=NO
2、限制用户访问
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
vi /etc/vsftpd/vsftpd.conf 找到: #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list 或 #chroot_list_file=/etc/chroot_list 并修改为: chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list 注: chroot_list_enable=YES: 表示对用户访问进行限制 chroot_list_file=/etc/vsftpd/chroot_list 表示对chroot_list里面指定的用户进行限制
3、用户列表
在chroot_list中添加ftptest用户,首先通过vi命令打开chroot_list文件(此文件本来是空的|不存在): vi /etc/vsftpd/chroot_list 然后增加一行: ftptest
4、允许写入权限
vsftpd服务器,一旦某个用户被限制访问了,那么默认情况下,该用户的写权限也被剥夺了。 这就导致ftp客户端连接上服务器之后无法上传文件。这个时候,就需要打开此用户的写权限,请按照如下办法操作: 首先通过vi命令打开ftp服务器配置文件: vi /etc/vsftpd/vsftpd.conf 在最后面新加一行:allow_writeable_chroot=YES
四、用户鉴权
因为用户 ftptest 是 nologin的,所以存在鉴权的问题。 如果鉴权问题不解决,就是永不停息的 530错误。。。
解决办法有如下两种:
方式一: /etc/pam.d/vsftpd 文件 vi /etc/pam.d/vsftpd 注释掉/etc/pam.d/vsftpd文件里这一行:#auth required pam_shells.so 这样不去鉴权,从而允许 ftptest 这种 nologin用户登录 ftp 服务器.
方式二:shells 文件 vi /etc/shells 在/etc/shells文件里面增加一行:/sbin/nologin 这样允许不能登录系统的用户通过鉴权
五、重启服务
systemctl restart vsftpd.service ===> service vsftpd status systemctl status vsftpd.service
六、测试
windows # 打开cmd ftp 101.34.182.36 用户(101.34.182.36:(none)): ftptest
#查看路径 pwd "/" # 查看文件 ls # 切换目录 cd rsas # 上传文件 put xxx.md # 退出ftp bye
本文来自博客园,作者:暮歌行,转载请注明原文链接:https://www.cnblogs.com/xuejian123/p/17201874.html