概述:所谓虚拟用户,就是指客户端登录时所使用的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
如下:
[root@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
这个目录的权限应该是770,owner是root,group是ftpuser
chmod 770 /home/ developer
chown root:ftpuser /home/ developer
分享到:
相关推荐
安装vsftpd搭建ftp服务器
vsftpd虚拟用户的配置
contos中利用vsftpd搭建ftp服务器
vsftpd搭建ftp服务器 centos7.5,自己踩坑安装了,写下文档供大家下载学习,分数只是为了自己下载东西,内含vsftp安装包。不通用户有自己的用户目录。
vsftpd_ftp服务器Linux虚拟用户配置(超详细)
Centos 8 FTP服务器完美配置方案,实现多虚拟用户FTP连接,同时解决FTP PORT和PASV模式下,存在的问题。
由于服务器的CentOS 7,用windows无法远程(其实可以的,但是好麻烦,而且可视化界面也很卡,所以还是命令行好用,再且,远程以后不能像远程windows系列服务器一样直接把文件拖过去就好),所以更新...于是果断搭建ftp。
Linux是以后操作系统的趋势所在,目前的大部分国产操作系统,甚至于安卓系统都是与Linux离不开关系。其中,FTP作为其中共享...今天来说一下在RHEL5下使用VSftpd来搭建ftp服务器,在搭建之前首先要考虑自己的工作环境
安装vsftpd,搭建ftp服务器过程中碰到的问题
vsftpd虚拟用户建立
vsftpd虚拟用户设置权限
登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。 匿名登录:在登录FTP时使用默认的...FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
Vsftpd服务器虚拟用户配置.docx
一 vsftpd搭建步骤 1、首先安装vsftpd,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 2、基于虚拟用户配置,(所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟...
基于海思hi3531D的嵌入式ftp服务器的搭建,使用stupid-ftpd的工具,具有配置项简单,比vsftpd控制简单、直观,windows是使用FileZilla进行文件的上传和下载。
主要用来加强vsftpd服务器的用户认证。 3 用户配置文件 /etc/vsftpd/user_list 主要根据主配置文件配置用户权限。 4 文件服务配置 /var/ftp vsftpd提供服务的文件集散地 配置思路: 启用匿名用户 设置匿名用户的根...
vsftpd + ssl 搭建加密传输的安全FTP服务器
linux系统下,用vsFTPd来架设FTP服务器
vsftpd的不同虚拟用户分配不同权限的配置
linux安装vsftpd配置FTP服务器