设为首页 收藏本站
查看: 1045|回复: 0

[经验分享] 使用linux FTP虚拟用户搭建FTP服务器

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-2-9 09:43:51 | 显示全部楼层 |阅读模式
最近接触一个项目,客户需要搭建一台FTP服务器。具体要求是:系统采用red hat 6.4 64位操作系统;创建20个ftp用户,这些用户拥有自己独立的工作目录,并且有上传、下载、删除等权限;创建一个ftp管理用户,这个用户拥有管理以上20个ftp用户目录的权限。
    仔细一看要求单单使用本地用户设置属组和文件目录权限控制的方法很难实现以上要求,于是想到使用ftp虚拟用户,而且ftp虚拟用户安全性高,不能登录系统,只能访问ftp服务器。

    下面开始在自己的虚拟机环境中根据客户的要求搭建ftp服务器。

    实验环境:

            操作系统:red hat 5.8 64为;

            安装软件:vsftpd,db4-utils
  • 建立虚拟用户口令库文件
    进入/etc/vsftpd目录,创建vuser_list文件,添加需要的虚拟用户和密码,添加格式是一行用户名,紧跟一行密码,文件中不要有空行,如下,

1
2
3
4
5
6
7
8
9
10
11
vi vuser_list
admin
admin
huaxia
123456
chinapay
123456
baofu
123456
albb
123456



2. 生产虚拟用户的口令认证文件
   使用db_load命令生成口令认证文件,该文件需放在/etc/vsftpd/目录,注意安装db4-utils软件才能使用db_load命令,
1
db_load -T -t hash -f vuser_list /etc/vsftpd/vsftpd_login.db



    更改认证文件vsftpd_login.db的权限,
1
chmod 600 /etc/vsftpd/vsftpd_login.db



3. 更改vsftpd的pam配置文件,使其对客户端进行验证时使用生成的虚拟用户认证文件
    编辑/etc/pam.d/vsftpd文件,批注所有内容后,添加:
1
2
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login



4. 增加一个系统用户virtuser,用来对应所有的虚拟用户登陆

    所有的ftp虚拟用户对应到这个虚拟用户,虚拟用户使用virtuser用户来登陆ftp服务器,

1
useradd -d /var/ftp/virtuser -s /sbin/nologin virtuser



5. 设置vsftpd主配置文件vsftpd.conf
    修改前对vsftpd.conf配置文件进行备份,
    在vsftpd.conf配置文件中修改或添加一下内容
1
2
3
4
5
6
vi vsftpd.conf

anonymous_enable=NO   禁用匿名用户登录
local_enable=YES
pam_service_name=vsftpd  配置vsftpd使用的PAM模块为vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf   设置虚拟账户配置文件的主目录



6. 创建虚拟用户的配置文件和工作目录

   1>.创建虚拟用户的配置文件
    只有创建的虚拟用户的配置文件才能使用ftp虚拟用户,

    在/etc/vsftpd/目录下创建vsftpd_user_conf目录,
1
mkdir vsftpd_user_conf



    在vsftpd_user_conf目录下分别创建和虚拟用户口令库文件vuser_list中同名的用户文件,
1
2
3
4
5
touch admin
touch huaxia
touch chinapay
touch baofu
touch albb



分别编辑虚拟用户配置文件,添加配置信息,管理用户的家目录放在/var/ftp/virtuser/目录下,其他虚拟用户的家目录放在/var/ftp/virtuser/admin目录下,实现admin用户管理其他虚拟用户的目的,
1
2
3
4
5
6
7
guest_enable=YES
local_root=/var/ftp/virtuser/admin   指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目                                     录,虚拟用户登录后的主目录。
guest_username=virtuser
anon_world_readable_only=NO               浏览FTP目录和下载
anon_upload_enable=YES                    允许上传
anon_mkdir_write_enable=YES               建立和删除目录
anon_other_write_enable=YES               改名和删除文件



2>.创建虚拟用户的工作目录

1
2
3
4
5
6
mkdir -p /var/ftp/virtuser/admin               
mkdir -p /var/ftp/virtuser/admin/albb           
mkdir -p /var/ftp/virtuser/admin/baofu         
mkdir -p /var/ftp/virtuser/admin/chinapay      
mkdir -p /var/ftp/virtuser/admin/huaxia         
chown -R virtuser:virtuser /var/ftp/virtuser/



7. 重新启动vsftpd服务,使所有配置文件的设置生效
1
service vsftpd restart



8.测试是否符合要求


1>.admin用户登录
wKiom1TUcBmytScfAAEpmr8vu90058.jpg
可以看到其他虚拟用户的目录,
wKiom1TUcGSSv9Z5AAGQIs3ZC0Q952.jpg
2>.其他虚拟用户登录
wKiom1TUclGjRRj9AAEtQpcfagg874.jpg

wKiom1TUcsHRJzhOAAM1be-ZP0M378.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-42232-1-1.html 上篇帖子: 基于FTP协议的文件传输工具(SOCKET、FTP方面、MFC方面) 教程全集下载 下篇帖子: vsfptd服务搭建教程 服务器 linux 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表