Linux搭建多用户的FTP服务 您所在的位置:网站首页 linux中的ftp虚拟用户能限定登录用的终端ip吗 Linux搭建多用户的FTP服务

Linux搭建多用户的FTP服务

2024-07-15 01:07| 来源: 网络整理| 查看: 265

由于一些特殊使用场景,需要用到ftp服务。 直接看搭建过程。 linux上比较常用的ftp软件是vsftp。

一、安装 1、检测是否安装vsftpd   rpm -q vsftpd   如果安装会返回vsftpd-版本号信息

2、安装 yum install vsftpd

二、配置 虚拟用户的ftp服务,是指在vsftpd服务中使用虚拟用户名和密码。可以将ftp登录帐号和系统登录帐号分开,而且用户名和密码都不同。增强了ftp服务器的安全。我们配置这种虚拟用户的ftp。 2.1、创建帐号 1)创建用户名密码表 在vsftpd目录下创建,文件名自定义,文件中奇数行为帐号,偶数行为密码,均为明文。 2)转化为Berkeley DB个数数据 3)将db文件权限设置为600,防止数据外泄

[root@yys_centos /etc/vsftpd]# vi vaccount.list yys 8888 td 6666 [root@yys_centos /etc/vsftpd]# db_load -T -t hash -f vaccount.list vaccount.db [root@yys_centos /etc/vsftpd]# file vaccount.db #查看结果文件 vaccount.db: Berkeley DB (Hash, version 9, native byte-order) [root@yys_centos /etc/vsftpd]#  chmod 600 /etc/vsftpd/vaccount.db #设置为root权限

4)创建ftp根目录及虚拟用户映射的系统用户 将/home/ftpsite 设置为

[root@yys_centos]# useradd -d /home/ftpsite vsftpd_virtual  [root@yys_centos]# chmod 700 /home/ftpsite

5)建立支持虚拟用户的 PAM 认证文件 创建好虚拟用户的账号数据文件后,还需要对vsftpd服务的配置做相应的调整,以便识别并读取新的用户信息。在vsftpd服务器中,用户认证是通过PAM(Pluggable Authentication Module,可插拔认证模块)机制来实现的,该机制包含灵活的选择认证方式。Vsftpd服务默认的PAM认证文件位于/etc/pam.d/vsftpd,该文件适用于以Linux主机的系统用户账号进行认证。若要读取虚拟用户的账号数据文件,则需要创建新的PAM认证配置。

在/etc/pam.d下建立配置文件,文件名为:vsftpd.vu,内容如下:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vaccount #对应前面的db文件 account required /lib/security/pam_userdb.so db=/etc/vsftpd/vaccount 

2.2、添加用户支持 1)vsftp.conf文件添加虚拟多用户支持配置, 如下参数

local_enable=YES write_enable=YES anon_umask=022 guest_enable=YES guset_username=vsftpd_virtual #上面指定映射文件 pam_service_name=vsftpd.vu

2)为多个虚拟用户建立独立的配置文件 为不同的虚拟用户账号设置不同的访问权限,可以通过为每个虚拟用户建立单独的配置文件来实现。为FTP用户启用独立配置文件,需要修改vsftpd.conf配置文件,天剑“user_config_dir”配置项。 user_config_dir=/etc/vsftpd_user_conf 建立虚拟用户配置文件

[root@yys_centos]# mkdir /etc/vsftpd/vsftpd_user_conf #新建用户配置文件 [root@yys_centos /etc/vsftpd/vsftpd_user_conf]# vi yys local_root=/home/ftpsite/yys #先建立好此文件夹,用于用户yys上传下载的目录 anon_world_readable_only=NO #浏览/下载 anon_upload_enable=YES #上传 anon_mkdir_write_enable=YES #建立/删除目录 anon_other_write_enable=YES #改名/删除文件 [root@yys_centos /etc/vsftpd/vsftpd_user_conf]# vi td local_root=/home/ftpsite/td #先建立好此文件夹,用于用户td上传下载的目录 anon_world_readable_only=NO #浏览/下载 anon_upload_enable=YES #上传

td用户没有建立和修改目录权限 三、测试 重新加载 vsftpd 配置:systemctl restart vsftpd 如果是linux下 使用 ftp IP 端口号 输入用户名密码登录成功

四、其他

1、可以设置vsftpd多个进程运行,并且每个进程使用不同端口

比如可以新建一个vsftpd.conf命名为vsftpd.conf.后缀,

重新设置新的监听端口。

然后启动进程:/usr/sbin/vsftpd /etc/vsftpd.conf.333,后面部分是你希望加载的conf的路径和文件名。

五、异常处理

1、使用用户登录成功后,put文件时,提示553:Could not create file.

 我的本地原因是,虽然在vsftpd.conf中设置了写权限,但是指定的用户的可操作路径没有写权限。设置对应目录的权限即可。

chmod 777 指定目录 -R

2、ftp_put(): php_connect_nonb() failed: Operation now in progress (115)

当vsftpd使用了被动模式,指定的被动模式端口必须可以访问,如果访问端口不通会报上述错误。

3、vsftpd虚拟用户登录时 530 Login incorrect

这种错误原因非常多,我遇到的是,在配置过程中的第5步:建立支持虚拟用户的 PAM 认证文件,设置了/lib/security/pam_userdb.so。

首先要保证这个目录文件存在,其次,要看一下安装的vsftpd的位数,如果是64位需要使用/lib64/security/

4、被动模式的影响

被动模式设置,在ftp服务器的vsftpd.conf文件中设置,比如

pasv_enable=YES pasv_max_port=端口号 pasv_min_port=端口号

被动模式需要发起方服务器允许开通指定的端口范围。如果发起方服务器不允许其他服务器访问端口,那么可以在发起服务器的程序中修改关闭支持被动模式,这样就用主动模式来工作。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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