vsftp搭建

环境:

阿里云ECS centos 7.9

专有网络

安装:

1、先看看有没有安装,有的话卸载

rpm -qa | grep vsftpd

2、安装

yum install -y vsftpd ftp

3、ftp启停

systemctl start vsftpd
systemctl stop vsftpd
systemctl restart vsftpd
systemctl enable vsftpd

配置:

# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
ftpd_banner=”welcome test Ftp Server.”
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
virtual_use_local_privs=YES
guest_enable=YES
user_config_dir=/etc/vsftpd/vuser_conf
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30200
pasv_promiscuous=YES
allow_writeable_chroot=YES

虚拟用户:

1、创建对外的目录

mkdir /data/ftp_dir2
mkdir /data/ftp_dir3

2、创建系统用户并授权ftp对外目录权限

useradd -s /sbin/nologin ftpuser

给不给密码貌似都行

chown ftpuser:ftpuser /data/ftp_dir2
chown ftpuser:ftpuser /data/ftp_dir3

3、允许系统用户更改目录

# cat /etc/vsftpd/chroot_list 
ftpuser

4、创建ftp虚拟用户

格式就是上面用户名下面密码,可以有多对

# cat  /etc/vsftpd/login.txt

ftpuser2
ftppasswd2

ftpuser3
ftppasswd3

使用刚刚创建的用户名密码文件生成 .db 文件 

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

5、修改/etc/pam.d/vsftpd文件如下

注意最后两行指定的密码文件不带 .db ,系统会自动找到该文件

# cat /etc/pam.d/vsftpd
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
session    required     pam_loginuid.so
session    include      password-auth
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login

6、创建虚拟用户授权文件

先创建目录,该目录就是/etc/vsftpd/vsftpd.conf配置文件中指定的目录

/etc/vsftpd/vuser_conf

创建授权文件

# cat /etc/vsftpd/vuser_conf/ftpuser2

local_root=/data/ftp_dir2
virtual_use_local_privs=YES
guest_username=ftpuser
write_enable=YES
anon_umask=022



# cat /etc/vsftpd/vuser_conf/ftpuser3

local_root=/data/ftp_dir3
virtual_use_local_privs=YES
guest_username=ftpuser
write_enable=YES
anon_umask=022

注意:

        1、授权文件名必须和上面的虚拟用户名一致

        2、guest_username处绑定上面创建的系统用户,且该用户拥有ftp对外目录的权限才能进行读写

                           

重启vsftpd服务

使用 ftpuser2 和 ftpuser3 用户进行连接测试

某些报错:

报错1:        500 OOPS: vsftpd: refusing to run with writable root inside chroot()

原因是用户限制在ftp目录时默认不允许拥有写权限,需要增加下面配置

vim /etc/vsftpd/vsftpd.conf

# 添加一行配置 allow_writeable_chroot=YES

这个配置上面配置文件已经加入

报错2:        500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list

原因是系统用户没有变更目录权限,需要增加下面配置

# cat /etc/vsftpd/chroot_list 
ftpuser

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值