QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2548|回复: 5

VSFTPD高手篇

[复制链接]
发表于 2003-12-8 22:25:36 | 显示全部楼层 |阅读模式
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
http://www.5ilinux.com/vsftp01.html
VSFTPD的高手篇

我可不是高手!!!^_^我只不过是个菜鸟,尽我的能力写出了我这个菜鸟觉得的高手篇,所以有什么错误请大家指正哦!!!
环境:linux as 3.0 + vsftpd -1.2.0-4的系统架构,是在独立服务器下的哦!讨厌XINETD^_^
1.        配置本地组访问的FTP
首先创建用户组 test和FTP的主目录
groupadd   test
mkdir  /tmp/test
然后创建用户
useradd  -G test –d /tmp/test –M usr1
注:G:用户所在的组   d:表示创建用户的自己目录的位置给予指定  
M:不建立默认的自家目录,也就是说在/home下没有自己的目录
useradd –G test –d /tmp/test –M usr2
接着改变文件夹的属主和权限
chown usr1.test /tmp/test   ----这表示把/tmp/test的属主定为usr1
chmod 750 /tmp/test       ----7表示wrx  5表示rx  0表示什么权限都没有
这个实验的目的就是usr1有上传、删除和下载的权限
而usr2只有下载的权限没有上传和删除的权限
当然啦大家别忘了我们的主配置文件vsftpd.conf
要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的哦!

2.        配置独立FTP的服务器的非端口标准模式进行数据连接
这个非常容易:在VSFTPD。CONF中添加
Listen_port=33333
就可以了啦!

好了重头戏来了,这也是我为什么叫高手篇的缘故!^_^(大家不要扔鸡蛋哦!)
3.        配置单独的虚拟FTP,使用虚拟FTP用户,并使建立的四个帐户中有不同的权限
(两个有读目录的权限,一个有浏览、上传、下载的权限,一个有浏览、下载、删除和改文件名的权限)
A:配置网卡
第一块网卡地址是10.2.3.4 掩码是255.255.0.0
ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up
B:写入/etc/sysconfig中(为了重起后IP地址不会丢失)
cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth0:1
vi ifcfg-eth0:1在其中修改内容如下
DEVICE=eth0:1
BROADCAST=211.131.4.255
HWADDR=该网卡的MAC地址
IPADDR=211.131.4.253
NETMASK=255.255.255.0
NETWORK=211.131.4.0
ONBOOT=yes
TYPE=Ethernet
wq推出
C:进入vsftpd.conf所在的文件夹
cp  vsftpd.conf  vsftpd2.conf
修改vsftpd.conf添加以下信息
Listen_address=10.2.3.4
修改vsftpd2.conf添加以下信息
Listen_address=211.131.4.253
Ftpd_banner=this is a virtual ftp test
到此虚拟的FTP服务器建立好了
D:建立logins.txt
vi  /tmp/logins.txt
添加入下信息:
longlei------------用户名
longlei------------密码
zhangweibo
zhangweibo
jinhui
jinhui
lxp
lxp
格式要按照我的来哦,一个用户名,一个密码啦
F:建立访问者的口令库文件,然后修改其权限
db_load –T –t hash –f  /tmp/logins.txt  /etc/vsftpd_login.db
G:进如/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
H:在/var/ftp/创建目录并改变其属性和它的属主
useradd  -d  /var/ftp/test qiang
chmod  700  /var/ftp/test
在目录中添加test_file测试文件
I:进入vsftpd2.conf修改其中的信息(我加的是)
Listen_yes
Anonymous_enable=no
Local_enable=yes
Write_enable=no
Anon_upload_enable=no
Anon_mkdir_write_enable=no
Anon_other_write_enable=no
Chroot_local_user=yes
Guest_enable=yes----------起用虚拟用户
Guest_username=qiang------将虚拟用户映射为本地用户
Listen_port=5555
Max_client=10
Max_per_ip=1
Ftpd_banner=this is a virtual server and users
Pam_service_name=ftp.vu
注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件
重起服务
到此虚拟USER就建好了
J:在VSFTPD。CONF所在的目录中创建virtaul文件目录
并在文件目录中创建以你用户名命名的配置文件
Longlei  zhangweibo   jinhui  lxp
在longlei中添加:
Anon_world_readable_only=no
在lxp中添加
Anon_world_readable_only=no
这样此两个用户就有了浏览目录的权限了
在jinhui中添加
Anon_world_readable_only=no
Write_enable=yes
Anon_upload_enable=yes
此用户就有了上传、下载和浏览的权限
在zhangweibo中添加
Anon_world_readable_only=no
Write_enable=yes
Anon_upload_enable=yes
Anon_other_write_enable=yes
此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限
K:修改vsftpd2.conf
加入user_config_dir=/vsftpd.conf所在的目录/virtual
重起服务器就搞定了

好了大家别走开,现在隆重推出VSFTPD。CONF中的我所知道的所有配置信息
Anonymous_enable=yes               (允许匿名登陆)
Dirmessage_enable=yes              (切换目录时,显示目录下.message的内容)
Local_umask=022                    (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes           (启用FTP数据端口的数据连接)*
Xferlog_enable=yes                 (激活上传和下传的日志)
Xferlog_std_format=yes               (使用标准的日志格式)
Ftpd_banner=XXXXX               (欢迎信息)
Pam_service_name=vsftpd            (验证方式)*
Listen=yes                         (独立的VSFTPD服务器)*
Anon_upload_enable=yes              (开放上传权限)
Anon_mkdir_write_enable=yes        (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes                    (开放本地用户写的权限)
Anon_other_write_enable=yes           (匿名帐号可以有删除的权限)
Anon_world_readable_only=no          (放开匿名用户浏览权限)
Ascii_upload_enable=yes               (启用上传的ASCII传输方式)
Ascii_download_enable=yes             (启用下载的ASCII传输方式)
Banner_file=/var/vsftpd_banner_file       (用户连接后欢迎信息使用的是此文件中的相关信息)
Idle_session_timeout=600(秒)           (用户会话空闲后10分钟)
Data_connection_timeout=120(秒)     (将数据连接空闲2分钟断)
Accept_timeout=60(秒)             (将客户端空闲1分钟后断)
Connect_timeout=60(秒)            (中断1分钟后又重新连接)
Local_max_rate=50000(bite)          (本地用户传输率50K)
Anon_max_rate=30000(bite)          (匿名用户传输率30K)
Pasv_min_port=50000                  (将客户端的数据连接端口改在
Pasv_max_port=60000                    50000—60000之间)
Max_clients=200                      (FTP的最大连接数)
Max_per_ip=4                        (每IP的最大连接数)
Listen_port=5555                     (从5555端口进行数据连接)
Local_enble=yes                       (本地帐户能够登陆)
Write_enable=no                       (本地帐户登陆后无权删除和修改文件)
这是一组
Chroot_local_user=yes                   (本地所有帐户都只能在自家目录)
Chroot_list_enable=yes                   (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list  
(前提是chroot_local_user=no)
这又是一组
Userlist_enable=yes                           (在指定的文件中的用户不可以访问)
Userlist_deny=yes
Userlist_file=/指定的路径/vsftpd.user_list
又开始单的了
Banner_fail=/路径/文件名     (连接失败时显示文件中的内容)
Ls_recurse_enable=no
Async_abor_enable=yes
One_process_model=yes
Listen_address=10.2.2.2        (将虚拟服务绑定到某端口)
Guest_enable=yes                (虚拟用户可以登陆)
Guest_username=所设的用户名         (将虚拟用户映射为本地用户)
User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹   
(指定不同虚拟用户配置文件的路径)
又是一组
Chown_uploads=yes       (改变上传文件的所有者为root)
Chown_username=root
又是一组
Deny_email_enable=yes                (是否允许禁止匿名用户使用某些邮件地址)
Banned_email_file=//任意指定的路径/xx/
又是单的
Pasv_enable=yes        ( 服务器端用被动模式)
User_config_dir=/任意指定的路径//任意文件目录         (指定虚拟用户存放配置文件的路径)


龙磊撰写
发表于 2003-12-9 13:23:57 | 显示全部楼层
ChinaUnix上的zhangweibo?
回复

使用道具 举报

 楼主| 发表于 2003-12-9 14:46:26 | 显示全部楼层
我不是他,哈哈哈哈,他看来很有名哦!!!!哎,他是我朋友,看来要多多的向他学习!尽快的脱离菜鸟!!!!:)
回复

使用道具 举报

发表于 2004-4-6 16:22:59 | 显示全部楼层
hehe ,bu cuo de
thx
回复

使用道具 举报

发表于 2004-4-8 09:10:03 | 显示全部楼层
有些用处
回复

使用道具 举报

发表于 2004-5-24 10:00:17 | 显示全部楼层
如何实现不同的虚拟用户只能进入不同的目录?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-8 11:39 , Processed in 0.137070 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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