红联Linux门户
Linux帮助

Linux(RHEL5)构建FTP文件传输服务器(配置篇)

发布时间:2015-04-12 16:02:25来源:忘真楠作者:忘真楠

建立基于基本用户的vsftpd服务

匿名FTP

1.调整匿名用户上传目录权限,并准备下载测试文件

#  chown  ftp  /var/ftp/pub

2.修改vsftpd.conf配置文件,开放匿名用户访问权限、上传许可

#  vi  /etc/vsftpd/vsftpd.conf

anonymous_enable=YES       //允许匿名访问

local_enable=NO             //不需要启用本地用户时,建议将此项设置为NO

write_enable=YES            //允许开发写权限

anon_umask=022            //匿名用户上传文件的权限掩码

anon_upload_enable=YES     //允许匿名用户上传文件

anon_mkdir_write_enable=YES //允许匿名用户有写权限

anon_other_write_enable=YES //允许匿名用户有其他写权限(慎用,可能带来安全隐患)

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port=20

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=NO            //未启用本地用户时,可以将用户列表功能禁用

tcp_wrapper=YES

3.重启服务

4.客户端下载测试

#  ftp 192.168.10.1

#  ftp

#  ls

#  get  ftpconfig.tar.bz2

#  cd  pub

#  put  install.log / wget  ftp://192.168.10.1/ftpconfig.tar.ba2 (只是下载时)

#  ls

#  quit/bye


本地FTP

1.添加测试用户

#  useradd  wang

#  passwd  wang

#  ls  -lh  /etc/*.conf* >/home/wang/etcconf.list

2.修改配置文件

anonymous_enable=NO       //若不需要启用匿名访问,此项设为NO

local_enable=YES             //允许本地用户访问

write_enable=YES            //开发写权限

local_umask=022            //本地用户上传文件的权限掩码

chroot_local_enable=YES      //将本地用户禁锢在宿主目录中,处于安全考虑

max_clients=20             //限制客户端并发客户端连接数最多为20

max_per_ip=2              //现在来自同一IP客户端的最大并发连接数

local_max_rate=1024000     //本地用户上传下载限速为1M/s

pasv_enable=YES            //允许被动模式并设置端口范围

pasv_min_port=24500

pasv_max_port=24600

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port=20

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES         

tcp_wrapper=YES

3.重启服务

#  service  vsftpd  restart

4.在客户端验证(此处验证不再复述)


建立基于虚拟用户的vsftpd服务

1.建立虚拟用户名/密码数据库

#  rpm  -ivh  --aid  --nodeps db4-utils-4.3.29-9.fc6.i386.rpm

#  vi  /mima

wang   //奇数行用户名

123    //偶数行密码

nan

123

#  db_load  -T  -t  hash  -f  /mima  /etc/vsfpd/vusers.db

-T : 允许非Berkeley DB的应用程序从文本格式转换的DB数据文件

-t  hast :指定读取数据文件的方法

-f : 用于指定用户名/密码文件列表

#  file  /etc/vsftpd/vusers.db

#  chmod 600  /etc/vsftpd/vusers.db

2.建立FTP访问的根目录及虚拟用户对应的系统账号

#  useradd  -d  /var/ftproot  -s  /sbin/nologin mei  //建立映射账户mei并指定宿主目录

#  chmod  755  /var/ftproot    //更改FTP更目录权限

#  ls  -lh  /boot > /var/ftproot/vutest.list  //建立测试文件

3.建立PAM认证文件

#  vi  /etc/pam.d/vsftpd.vu

auth  required  pam_userdb.so  db=/etc/vsftpd/vusers

account  required  pam_userdb.so  db=/etc/vsftpd/vusers

4.修改vsftpd配置文件,添加用户支持

anonymous_enable=NO       //若不需要启用匿名访问,此项设为NO

local_enable=YES             //使用虚拟用户,需要启用本地用户

anon_umask=022

write_enable=YES

guest_enable               //启用用户映射功能

guest_username=mei         //将映射用户指定为mei

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port=20

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd.vu     //修改使用的PAM文件位置

userlist_enable=YES         

tcp_wrapper=YES                (到此即可以访问)

5.为不同的用户建立独立的配置文件

#  vi  /etc/vsftpd/vsftpd.conf

#  user_config_dir=/etc/vsftpd/vusers_dir   //添加此行配置项,指定用户配置目录

#  mkdir  /etc/vsftpd/vusers_dir/         //创建用户配置目录

#  cd  /etc/vsftpd/vusers_dir

#  vi  wang

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_max_rate=1000000

#  vi  mei (配置在此省略)

6.重启服务

#  service  vsftpd  restart

7.使用虚拟用户访问FTP,验证