使用Docker实现vsftpd配置 您所在的位置:网站首页 如何设置qq匿名访问 使用Docker实现vsftpd配置

使用Docker实现vsftpd配置

2023-07-31 02:44| 来源: 网络整理| 查看: 265

前言:

匿名及基础搭建部分请参考:使用Docker实现vsftpd配置——匿名访问只读篇 本文不对搭建部分做相关说明

1、配置

首先关闭匿名访问:

sed -i 's/anonymous_enable=.*/anonymous_enable=NO/g' /etc/vsftpd.conf

关闭匿名访问路径配置

sed -i 's/anon_root/#anon_root/g' /etc/vsftpd.conf 1.1、创建用户

创建用户目录

mkdir -p /home/ftpname

创建用户并指定目录

useradd -d /home/ftpname -s /sbin/nologin -m ftpname

执行结果:

root@zabbix-server:~# mkdir -p /home/ftpname root@zabbix-server:~# useradd -d /home/ftpname -s /sbin/nologin -m ftpname useradd: warning: the home directory already exists. Not copying any file from skel directory into it.

然后查看用户列表

cat /etc/passwd | awk -F ":" '{print $1}'

执行结果:

root@zabbix-server:~# cat /etc/passwd | awk -F ":" '{print $1}' root daemon bin sys sync games man lp mail news uucp proxy www-data backup list irc gnats nobody _apt Debian-exim ftp ftpuser ftpname

可以看到,此时用户已经创建成功了。 然后开始设置密码:

passwd ftpname

PS:密码输入不会显示任何内容,输入完成回车即可

执行结果:

root@zabbix-server:~# passwd ftpname New password: Retype new password: passwd: password updated successfully root@zabbix-server:~# 1.2、修改配置文件

配置文件:

/etc/vsftpd.conf

1.2.1、 chroot_list_file

首先看第一个参数:

chroot_list_file 含义:该文件下的用户将被限制在自己的主目录下

首先查看当前配置

grep list_file /etc/vsftpd.conf

查看结果:

root@zabbix-server:~# grep list_file /etc/vsftpd.conf #chroot_list_file=/etc/vsftpd.chroot_list

修改:

sed -i 's/#chroot_list_file/chroot_list_file/g' /etc/vsftpd.conf

修改效果:

root@zabbix-server:~# sed -i 's/#chroot_list_file/chroot_list_file/g' /etc/vs root@zabbix-server:~# grep list_file /etc/vsftpd.conf chroot_list_file=/etc/vsftpd.chroot_list 1.2.2、pam_service_name

PS:在Debian系中,需要修改该参数为ftp

查看默认参数

grep service_name /etc/vsftpd.conf

修改参数:

sed -i 's/pam_service_name=.*/pam_service_name=ftp/g' /etc/vsftpd.conf

配置过程:

root@zabbix-server:~# grep service_name /etc/vsftpd.conf pam_service_name=vsftpd root@zabbix-server:~# sed -i 's/pam_service_name=.*/pam_service_name=ftp/g' /etc/vsftpd.conf root@zabbix-server:~# grep service_name /etc/vsftpd.conf pam_service_name=ftp 1.2.3、创建vsftpd.chroot_list文件

在chroot_list_file参数中,指定了文件路径为:

/etc/vsftpd.chroot_list

然后把前面新建的用户写入进去,命令如下:

echo -e "ftpuser\nftpname" > /etc/vsftpd.chroot_list

执行结果:

root@zabbix-server:~# echo -e "ftpuser\nftpname" > /etc/vsftpd.chroot_list root@zabbix-server:~# cat /etc/vsftpd.chroot_list ftpuser ftpname root@zabbix-server:~# 1.3、权限配置

设置属主

chown -R ftpname:ftpname /home/ftpname/

查看写权限配置

grep write_en /etc/vsftpd.conf

执行结果

root@zabbix-server:~# grep write_en /etc/vsftpd.conf #write_enable=YES #anon_mkdir_write_enable=YES

此时,ftp未开启写权限,使用下面的命令进行开启:

sed -i 's/#write_enable=.*/write_enable=YES/g' /etc/vsftpd.conf

执行结果:

root@zabbix-server:~# sed -i 's/#write_enable=.*/write_enable=YES/g' /etc/vsftpd.conf root@zabbix-server:~# grep write_en /etc/vsftpd.conf write_enable=YES #anon_mkdir_write_enable=YES

然后执行最后一条配置命令

sed -i 's/pam_shells.so/pam_nologin.so/g' /etc/pam.d/vsftpd 2、访问验证 2.1、重启服务

修改完配置之后,重启进行生效:

cd /etc/init.d/ ./vsftpd restart ./vsftpd status

执行结果:

root@zabbix-server:~# cd /etc/init.d/ root@zabbix-server:/etc/init.d# ./vsftpd restart [ ok ] Stopping FTP server: vsftpd. [ ok ] Starting FTP server: vsftpd. root@zabbix-server:/etc/init.d# ./vsftpd status [ ok ] FTP server is running. root@zabbix-server:/etc/init.d# 2.2、访问

在这里插入图片描述 此时。要求输入用户名密码输入完成之后,访问成功,但是出现了文件名异常的问题 在这里插入图片描述 切换至Windows的资源管理器进行访问 在这里插入图片描述 错误依然存在,解决方案: 待发布



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有