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

? 建立基于基本用户的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,验证

相关推荐