Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1092019
  • 博文数量: 252
  • 博客积分: 4561
  • 博客等级: 上校
  • 技术积分: 2833
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-15 08:23
文章分类

全部博文(252)

文章存档

2015年(2)

2014年(1)

2013年(1)

2012年(16)

2011年(42)

2010年(67)

2009年(87)

2008年(36)

分类: LINUX

2013-02-26 08:47:41

分类: LINUX

最近由于项目需要,配置了一个简单的vsftpd服务器,结合网上的资料,整理了配置步骤,供以后参考:
 、安装vsftpd需要的组件

 [root@localhost ~]# yum -y install pam*

[root@localhost ~]# yum -y install db4*

[root@localhost ~]# yum -y install vsftpd*

 

 、建立虚拟用户

 [root@localhost ~]#vi /etc/vsftpd/vftpusers.txt

  添加虚拟用户名和密码,奇数行为用户名,偶数行为密码

  ftpusers

  123456

  Ftpusers1

 123456

  

 、生成虚拟用户口令认证文件

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vftpusers.txt /etc/vsftpd/vftpusers.db

   

 、编辑vsftpdPAM认证

  [root@localhost ~]# vi /etc/pam.d/vsftpd

将原有内容全部注释,并在最后添加如下两行(32位系统下需将lib64改为lib):

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpusers

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpusers  

 

五、建立本地映射用户并设置宿主权限

[root@localhost ~]# useradd -d /app/syncdata -s /sbin/nologin vftpusers

[root@localhost ~]#chmod 776 /app/syncdata

 

六、配置 vsftpd.conf (设置虚拟用户配置项)

可上传、下载、不能删除和创建目录

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_umask=002

anon_upload_enable=YES

anon_other_write_enable=NO

anon_mkdir_write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=NO   #pasv模式,port模式则设为YES

listen_port=2121

pasv_min_port=65000

pasv_max_port=65100

chown_uploads=NO

xferlog_std_format=YES

nopriv_user=vftpusers

async_abor_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

chroot_local_user=YES

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list #此文件包含FTP用户名

ls_recurse_enable=NO

listen=YES

 

guest_enable=YES

guest_username=vftpusers

#virtual_use_local_privs=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES 

hide_file=.*

 

七、关闭selinux

[root@localhost ~]# vi /etc/selinux/config

SELINUX=enforcing修改为SELINUX=disabled

重启服务器

 

八、测试登录

  [root@localhost ~]# service vsftpd restart

  重启vsftpd服务 然后测试登录。

 

 

九、建立各个虚拟用户自身的配置文件

  [root@localhost ~]#mkdir /etc/vsftpd/vftpusers_conf

  编辑ftpusers文件

  [root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/ftpusers

   添加

  anon_other_write_enable=YES #开放ftpusers的删除权限。

 

 其它虚拟用户的配置文件,依次建立同名配置文件并写入需要的配置即可

 

vsftpd的配置文件要增加虚拟用户配置文件的选项

   [root@localhost ~]#vi /etc/vsftpd/vsftpd.conf

增加如下行:

    user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定用户配置文件存放目录

  

 

十、虚拟用户高级设置

 

 1virtual_use_local_privs参数

 virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限

 virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO

 virtual_use_local_privs=YESwrite_enable=YES时,虚拟用户具有写权限(上传 下载 删除 重命名)

 virtual_use_local_privs=NOwrite_enable=YESanon_world_readable_only=YES

 anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

 virtual_use_local_privs=NOwrite_enable=YESanon_world_readable_only=NO

 anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限

 virtual_use_local_privs=NOwrite_enable=YESanon_world_readable_only=NO

 anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限

 virtual_use_local_privs=NOwrite_enable=YESanon_world_readable_only=NO

 anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限

 virtual_use_local_privs=NOwrite_enable=YESanon_world_readable_only=NO

 anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限


========================================================

vsftpd.conf文件内容如下:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=002
anon_upload_enable=YES
anon_other_write_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
listen_port=21
pasv_min_port=65000
pasv_max_port=65100
chown_uploads=NO
xferlog_std_format=YES
nopriv_user=vftpusers
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=NO
listen=YES

guest_enable=YES
guest_username=vftpusers
virtual_use_local_privs=YES
pam_service_name=vsftpd
#userlist_enable=YES

=====================================================

chroot_list文件内容如下:

ftpusers
ftpusers1

=====================================================

vftpusers.txt文件内容如下:

ftpusers
ftpusers1

=====================================================


vftpusers.db的文件内容是通过命令如下命令生成:

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







阅读(2373) | 评论(2) | 转发(2) |
给主人留下些什么吧!~~

ztsda2013-02-26 23:27:49

人缘网 http://www.renyuanw.com

ztsda2013-02-26 23:27:49

人缘网 http://www.renyuanw.com