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

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

[复制链接]

尚未签到

发表于 2016-6-9 09:55:00 | 显示全部楼层 |阅读模式
概述:所谓虚拟用户,就是指客户端登录时所使用的FTP用户名和密码在系统里并不真实存在;实际上每个虚拟用户是通过一个真实的本地用户来登录FTP服务器的。这样做可以有效的控制服务器的安全,因为用户并不真实存在,所以该用户不能远程登录,也不能从物理上登录该系统,从而达到了保护服务器的目的。
 
软件来源:http://vsftpd.beasts.org
软件版本:vsftpd-2.0.7.tar.gz
操作系统:RedHat Enterprise Linux AS4
1.       编译安装源码,可参考帮助文件(INSTALL)
# tar zxvf vsftpd-2.0.7.tar.gz //解压软件包
# cd vsftpd-2.0.7               //进入解压后的目录
# make && make install             //编译并安装
# chkconfig vsftpd off             //关闭进程守护模式
#which vsftpd  //查看vsftpd服务的安装路径
2.添加一个本地用户,并且禁止其SSH方式登录
# useradd -s /sbin/nologin ftpuser
 
3.  安装配置文件
cp vsftpd.conf /etc   //拷贝主配置文件到/etc目录下
cp RedHat/vsftpd.pam /etc/pam.d/ftp
 
4.  编辑配置文件/etc/vsftpd.conf
vi /etc/vsftpd.conf
local_enable=YES     //打开本地用户
local_umask=022   //本地用户创建文件夹和上传文件的权限,实际值=777-umask
connect_from_port_20=YES    //连接端口为20
max_per_ip=4         //每个IP最多连接4个客户端
max_clients=200      //FTP最多支持200个用户
listen=YES        //打开监听模式,否则需要用守护模式启动服务
guest_enable=YES //开启虚拟用户访问功能
guest_username=ftpuser   //虚拟用户实际用ftpuser用户来登录
pam_service_name=ftp.vu     //密码验证方式
user_config_dir=/etc/vsftpd_user_conf //虚拟用户的配置文件所在的目录
 
注:因为主配置文件是被先读的,然后再读用户的配置文件。所以
在主配置文件中给的权限越低,在后面用户管理的时候对用户的权限划分的空间就越大
 
4.编辑验证方式文件
# vi /etc/pam.d/ftp.vu
#auth     required /lib/security/pam_userdb.so db=/etc/vsftpd_login
#account  required /lib/security/pam_userdb.so db=/etc/vsftpd_login
auth        required    pam_userdb.so db=/etc/vsftpd_login
account     required    pam_userdb.so db=/etc/vsftpd_login
5.编辑虚拟用户和密码
# vi /tmp/login.txt
zhenfeng.qiao   //用户名
qzf123         //密码
xingchang.zhang
zxc123
….
….
 
6.虚拟用户的权限控制
# mkdir /etc/vsftpd_user_conf
/etc/vsftpd_user_conf目录下用虚拟用户的登录名来命名其配置文件
给用户zhenfeng.qiao添加配置文件
# vi /etc/vsftpd_user_conf/zhenfeng.qiao
注意:= 前后不能有空格
//限制虚拟用户登录的主目录
local_root=/home/developer/personal
//准许虚拟用户可以浏览
anon_world_readable_only=no
//开放写的权限
write_enable=yes
//禁止上传权限
anon_upload_enable=no
//开放创建目录的权限
anon_mkdir_write_enable=yes
//其他写权限,如:重命名
anon_other_write_enable=yes
 
同样可以创建xingchang.zhang文件,给xingchang.zhan用户创建不同的权限,以达到控制虚拟用户不同的访问权限的目的。
 
7.建立访问者的口令库文件,然后修改其权限
# db_load -T -t hash -f /tmp/login.txt /etc/vsftpd_login.db
# chmod 600 /etc/vsftpd_login.db
 
8.开启FTP服务
# /usr/local/sbin/vsftpd &      #后台运行
# netstat –tnlp               #查看21端口是否已打开 
 
//修改配置文件后vsftpd服务重启
# killall -1 vsftpd
 
9. 本机测试
# ftp localhost
如下:
[iyunv@server /]# ftp localhost
Connected to localhost.
220 Welcome to newtouch ftp service....
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): zhenfeng.qiao
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>ls
 
 
注意:用ftp上传文件的时候,出现553 Could not create file错误解决:
修改ftp用户主目录权限
假设是/home/developer
这个目录的权限应该是770ownerrootgroupftpuser
chmod 770 /home/ developer
chown root:ftpuser /home/ developer
 
 

运维网声明 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-228110-1-1.html 上篇帖子: ftp服务器断点上传下载 下篇帖子: Oracle 10g asm ftp传输数据文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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