热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux安装ftp并配置虚拟用户

安装sudoaptinstallvsftpd-y启动sudosystemctlstartvsftpd.service停止sudosystemctlstartvsftpd.

安装

sudo apt install vsftpd -y

启动
sudo systemctl start vsftpd.service
停止
sudo systemctl start vsftpd.service
设置为开机启动的服务
sudo systemctl enable vsftpd.service

进入etc目录

cd /etc

创建文件夹

mkdir vsftpd

创建文件

vim loguser.txt
将用户名、密码一行一行地填写,比如用户名为usera,密码为123456,那么,loguser.txt的内容是:
usera
123456

根据loguser.txt文件创建虚拟用户数据库:

 

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

 chmod 600 /etc/vsftpd_login.db

 

 3.赋予虚拟用户数据库文件合适的权限:

 

 

$chmod 600 /etc/vsftpd_login.db


4.创建新的vsftpd认证配置文件:

 

 

$touch /etc/pam.d/vsftpd.vu
文件/etc/pam.d/vsftpd.vu的内容是
auth sufficient pam_userdb.so db=/etc/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd_login


5.创建用户vsftpd

 

 

$useradd vsftpd -d /home/vsftpd -s /bin/false
$chown vsftpd:vsftpd /home/vsftpd


6.修改vsftpd配置文件,内容如下:

 

 

listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/user_conf
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd
local_max_rate=204800


7.创建虚拟用户配置目录,并为用户usera创建配置文件:

 

 

mkdir /etc/vsftpd/user_confcd /etc/vsftpd/user_conftouch usera文件/etc/vsftpd/user/conf/usera的内容是local_root=/home/vsftpd/usera


8.创建usera的工作目录:

 

 


 

  1. $cd /home/vsftpd/

  2. $mkdir usera

  3. $touch test.txt


9.重启vsftpd:

 

 

$/etc/init.d/vsftpd restart

在企业里常越到这样的情况,需要创建一些FTP账户让他们管理ftp服务,而又不想让他们拥有系统账号。尽管可以设置让他们无法登陆系统,如果有一堆Ftp账号需要建议,创建那么多系统账号也感觉很不爽,而且不是很安全。下面的方法就是配置FTP的虚拟用户,他们只能登陆ftp,而不属于系统上的账号,爽吧yum -y install vsftpd一、建立Vsftpd虚拟用户:1、添加虚拟用户口令文件安装Vsftpd[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。ftp1 #用户名123456 #密码ftp2 #用户名123456 #密码2、生成虚拟用户口令认证文件将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。下面使用db_load命令生成虚拟用户口令认证文件。[root@localhost ~]# [root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt/etc/vsftpd/vftpuser.db3、编辑vsftpd的PAM认证文件在/etc/pam.d目录下,[root@localhost ~]#vi /etc/pam.d/vsftpd将里面其他的都注释掉,添加下面这两行:(64位操作系统)auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuseraccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser4、建立本地映射用户并设置宿主目录权限所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。[root@localhost ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser[root@localhost ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限5、配置vsftpd.conf(设置虚拟用户配置项)[root@localhost ~]#vi /etc/vsftpd/vsftpd.confanonymous_enable=NOlocal_enable=YESlocal_umask=022#dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YES#xferlog_file=/var/log/vsftpd.logxferlog_std_format=YES#chroot_list_file=/etc/vsftpd/chroot_listlisten=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESone_process_model=NOchroot_local_user=YESftpd_banner=Welcome to blah FTP service.anon_world_readable_Only=NOguest_enable=YESguest_username=vftpuserpam_service_name=vsftpduser_config_dir=/etc/vsftpd/userconf多个虚拟用户区分不同的根目录,添加多个配置文件就OK vi userconf/xxxxx01 write_enable=YESanon_world_readable_Only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/home/vftpsite/xxxxx01mkdir /home/vftpsite/xxxxx01chmod 700 /home/vftpsite/xxxxx01chown -R vftpuser:vftpuser /home/vftpsite/xxxxx01ll /home/vftpsitedrwx------ 2 vftpuser vftpuser 4096 7月 14 19:45 xxxxx01drwx------ 3 vftpuser vftpuser 4096 7月 14 19:48 xxxxx026、重启vsftpd服务[root@localhost ~]#service vsftpd restart7、测试虚拟用户登录FTP本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/1169912,如需转载请自行联系原作者

 


推荐阅读
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 本文详细介绍了Oracle数据库中的表空间及其分区技术。表空间作为Oracle数据库的一个逻辑单元,每个数据库可包含一个或多个表空间,每个表空间则关联一个或多个数据文件。通过合理的表空间管理和分区策略,可以显著提升数据库的性能和管理效率。文章还总结了实际应用中的最佳实践,为读者提供了宝贵的参考。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • FTP服务ftp的报错及用户管理
    ftp服务常见报错530报错认证失败(密码错误或者服务端拒绝)550服务本身未开启553文件系统不可写(权限问题)500服 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • PHP程序员玩转Linux系列 搭建FTP代码开发环境
    PHP程序员玩转Linux系列搭建FTP代码开发环境-PHP程序员玩转Linux系列文章:有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家 ... [详细]
author-avatar
菜蕻的薇笑2602929033
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有