`
fantasy0707
  • 浏览: 36741 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
社区版块
存档分类
最新评论

vsftpd 虚拟用户配置实例

阅读更多
(请支持麻子碗碗儿--天水学生社区 www.mzwwer.com)
本例主要模拟在学校学生通过ftp向教师上交作业的情形,主要有三种用户类型:教师、学生、其它普通用户
所要完成的功能如下:
1. 学生能上传自己的作业,但不能下载别人的作业,(在学校时,老师通常忽略这点,所以自己没做作业也没有关系,把别的同学上传的作业下载来,改下差不多就可以成自己的,上传完事)
2. 教师对学生的作业具有所有的操作权限
3. 普通用户登录后拥有自己的主目录,管理员根据实际对用户授予不同的权限
配置过程:
1. 安装vsftpd
本例以ubuntu10.10+vsftpd2.3.0为例来说明.
如果你不能确定自己是否安装了vsftpd,可以执行下:
sudo service vsftpd start
如果结果是:vsftpd start/running, process 2459(进程id号,不一定是这个),你所要做的只是配置下而已。
如果结果是:vsftpd: unrecognized service.那么你得要安装vsftpd了。
执行:sudo apt-get install vsftpd
测试下安装成功没有:
sudo service vsftpd start 
sudo netstat -tulnp|grep vsftpd
应该会看到
tcp   0  0 0.0.0.0:21  0.0.0.0:*    LISTEN     2459/vsftpd
表示安装ok,在21端口已建立了检听,^!^!
 2.生成虚拟用户数据库
 为了使用pam来认证用户,首先要用建立一种通用的数据库文件,这个要用到berkeley的数据库工具。
首先要确认已经安装此工具:
locate -r db.*_load
如果有如下相似的显示表明已经安装过了:
/usr/bin/db4.8_load (4.6表示版本号,很重要!)  
/usr/share/man/man1/db4.8_load.1.gz
如果没有显示,可以执行:
sudo apt-get install db4.8-util
接下来,我们来编辑一个文本,格式如下:
username1
password1
username2
password2
……
也就是一行用户名,一行是用户的密码,为了完成实例,我们用vim做如下的编辑:
teacher
teacherpwd
student
studentpwd
user1
user1pwd
user2
user2pwd
保存为logins.txt。
再来执行:
sudo db_load4.8 -T -t hash -f logins.txt /etc/vsftpd_login.db
设置下访问权限:
  sudo chmod 600 /etc/vsftpd_login.db
到此虚拟用户的数据库文件搞定!
3.配置vsftpd.conf
这里直接上我的配置:
anonymous_enable=NO
local_enable=YES
write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to mzwwer.com FTP service.
chroot_local_user=YES
listen=YES
pam_service_name=ftp
guest_enable=YES
user_config_dir=/etc/vsftpd_user_config
参数详细的说明请参考man页.
在vsftpd中ftp和anonymous用户都认为是匿名用户,虚拟用户也是当作匿名用户来看待的,当设置guest_enable=YES后,任何非匿名用户都会当作guest_username中所设置的用户,默认是ftp.既然有了ftp这个匿名的用户,我们这用ftp这个用户来完成配置,不在另建立用户了。
这里可以根据实际来设置ftp的home,如果需要可参照如下:
sudo mkdir /var/ftp
sudo usermod -d /var/ftp ftp
sudo chown ftp.ftp /var/ftp
sudo chmod 755 /var/ftp
pam_service_name设置的值和存放在/etc/pam.d目录下vsftpd所用的pam配置文件名要相同。
3.配置pam文件
这里我们指定文件名为ftp,所以编辑这个文件,里面输入如下内容:
auth required  /lib/security/pam_userdb.so  db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
4.为每个用户配置不同的使用权限
a) 建立配置文件的保存目录
sudo mkdir /etc/vsftpd_user_config
b) 建立用户的目录
sudo mkdir /var/ftp/teacher
Sudo mkdir /var/ftp/user1
Sudo mkdir /var/ftp/user2
Sudo chown  -R ftp.ftp /var/ftp
c) 编写用户配置文件
Cd /etc/vsftpd_user_config
Sudo touch teacher student user1 user2
在student编辑如下内容:
local_root=teacher
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
download_enable=NO
注意下这里的local_root指明了用户登录后所在的目录,可以用相对路径,也可以用绝对路径,相对路径是以ftp用户的home目录为参照的,所以上面的local_root=/var/ftp/teacher.
重启:sudo service vsftpd restart



接着在teacher中输入如下内容:
local_root=teacher
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
重启下就能看到效果了,user1和user2的配置与上相似,不再多述。
  • 大小: 99.5 KB
分享到:
评论

相关推荐

    CentOS5中vsftp虚拟用户配置

    本文介绍了CentOS5中vsftp虚拟用户配置的实例,包括安装db4-utils软件包、创建logins_list文件、生成vsftpd_login.db文件、配置PAM认证、创建vsftpd_user_conf目录、配置vsftpd.conf文件、重启vsftpd服务等步骤。...

    vsftp虚拟用户搭建实例.pdf

    下面是一个vsftp虚拟用户搭建实例,包括安装vsftp,配置虚拟用户,实现不同用户不同权限。 一、安装vsftp 首先,需要下载最新的稳定版vsftpd-1.2.1.tar.gz,卸载原有的rpm的vsftpd,安装新的vsftpd。然后,创建一...

    Ubuntu下Vsftpd服务器配置指南

    Vsftpd还支持虚拟路径和虚拟用户的功能,这些功能使得管理员可以根据不同的需求灵活地管理和配置FTP服务。 #### 十五、实例与参考 文档中还提供了具体的实例和参考链接,帮助用户更好地理解和应用Vsftpd的各项功能...

    企业Linux下vsFTPD实战方案

    VsFTPd支持虚拟用户、SSL/TLS加密传输,以及各种访问控制策略,使其成为企业级Linux服务器部署FTP服务的首选。 二、企业Linux下vsFTPD方案 在企业环境中,为了确保数据安全和稳定服务,采用VsFTPd时应考虑以下几个...

    高职计算机网络技术赛项vsftpd配置难点研究.pdf

    本文主要针对 vsftpd 配置中的三大难点进行深入研究和解析:虚拟用户配置、相同IP不同端口配置以及SSL配置。 1. 虚拟用户登录配置 FTP服务通常需要用户认证,而vsftpd支持虚拟用户验证,这意味着它能与外部数据库...

    vsftpd配置手册

    【知识点生成】 ### VSFTPD配置手册:深入解析...本文档旨在为用户提供全面的VSFTPD配置指导,从安装到具体设置选项的详解,再到实际应用场景,力求覆盖VSFTPD的所有关键方面,帮助用户构建安全、高效的FTP服务环境。

    Linux系统上架设VSFTP服务器实例解析

    设置虚拟用户权限需要在 vsftpd.conf 文件中添加以下配置: `guest_enable=YES` `guest_username=virtual` `pam_service_name=vsftpd.vu` 然后,重启 VSFTP 服务。 六、对虚拟用户设置不同的权限 设置主配置文件...

    Linux下配置FTP服务器实例详解.pdf

    在本实例中,我们将深入探讨如何在Red Hat 9.0环境下配置FTP服务器,包括匿名用户和虚拟用户的访问设置。主要使用的软件是vsftpd,这是一个安全且易于管理的FTP服务器软件。 首先,确保系统已经安装了所有必要的...

    Linux下配置FTP服务器实例详解.docx

    本文将详细解析如何在Red Hat 9.0环境下配置FTP服务器,特别关注匿名用户和虚拟用户的设置,以及如何利用vsftpd和PAM(Pluggable Authentication Modules)实现安全的认证。 首先,我们需要了解FTP服务器的基础知识...

    Linux-FTP配置说明及安装源文件

    vsftpd可以为不同的虚拟用户创建不同的单独的配置文件,来实现不同的功能,思想就是:可以为不同的虚拟用户对应不同的实体用户,从 而实现不能的功能。 [root@redhat pam.d]# vi /etc/vsftpd/vsftpd.conf 加入以下...

    linux服务器配置重点实例的源文件收集.pdf

    以上配置实例展示了Linux服务器管理的基本操作,每个服务的配置都涉及网络服务的核心功能和安全考虑。理解并熟练掌握这些配置,对于管理和维护Linux服务器至关重要。在实际操作中,应根据具体需求和环境调整配置参数...

    FTP配置/centos

    本篇将详细介绍FTP的基础知识,包括配置文件、传输模式、端口、用户类型以及配置实例。 1. **FTP服务器配置**: - **RPM包**:vsftpd-2.0.5-12.e15.i386.rpm是用于安装FTP服务的软件包。 - **配置文件**:主要...

    linux服务器配置重点实例的源文件.pdf

    具体配置涉及vsftpd或ProFTPD等服务器软件。 4. **Proxy服务器配置**:Proxy服务器作为网络的代理,可以缓存内容、提高访问速度并控制网络访问。配置通常包括设定访问规则、缓存策略等,如使用squid服务器进行配置...

    LINUX FTP设置方法

    - 为不同虚拟用户创建不同的配置文件,以实现不同的功能。 #### 5. FTP客户端命令 - **常用命令**: - `ls`:列出远程机的当前目录。 - `cd`:在远程机上改变工作目录。 - `lcd`:在本地机上改变工作目录。 - ...

    LINUX服务器配置文档

    配置包括设置监听端口、虚拟主机、目录访问权限、日志记录等。 Samba服务器允许Linux与Windows系统之间进行文件和打印机共享。配置文件`smb.conf`定义了共享资源、用户访问控制、安全设置等。通过正确配置,Linux...

Global site tag (gtag.js) - Google Analytics