Vsftpd

一、安装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、限制用户访问

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里面指定的用户进行限制 
View Code

 

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

 

posted @ 2023-03-11 23:05  暮歌行  阅读(30)  评论(0编辑  收藏  举报