centos_vsftp服务器搭建

1. 安装CentOS release 5.5 (Final)操作系统,用yum安装vsftpd

2. 查看系统中是否存在db4。如果没有则进行安装。
#rpm –qa | grep db4
db4-tcl-4.3.29-10.el5
db4-utils-4.3.29-10.el5
db4-devel-4.3.29-10.el5
db4-4.3.29-10.el5
db4-java-4.3.29-10.el5
3. 添加虚拟用户口令文件
#vi /etc/vsftpd/login.txt
test
password0
test1
password1
test2
password2
4. 生成虚拟用户口令认证文件
#db_load –T –t hash –f /etc/login.txt /etc/vsftpd_login.db
#chmod 600 /etc/vsftpd/vsftpd_login.db
5. 编辑vsftpd的PAM认证文件
#vi /etc/pam.d/vsftpd
将里面其他的都注释掉,添加下面这两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/ vsftpd_login
6. 建立本地映射用户并设置宿主目录权限
#useradd –d /home/ftpsite –s /sbin/nologin virtual
#chmod 700 /home/ftpsite
7. 配置vsftpd.conf(设置虚拟用户配置项)
#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #开启虚拟用户
guest_username=virtual #FTP虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM认证文件
 
8. 重启vsftpd服务
9. 测试虚拟用户登录FTP
#service vsftpd restart
# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): test2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
 
===================以上操作完成基本搭建工作=============================
 
主配置文件/etc/vsftpd/vsftpd.conf的设置:
1.       将此配置注释掉 #virtual_use_local_privs=YES 否则虚拟用户的权限无法细分。
2.       添加此项 user_config_dir=/etc/vsftpd/vsftpd_user_conf 并创建此目录。此目录为用户的权限文件配置目录。
3.       添加此项 chroot_local_user=YES 设置用户不可以随意更改主目录。
4.       添加此项 listen=YES 设置VSFTP服务器启动方式为独立启动。
5.       将此配置注释掉 #write_enable=YES 否则虚拟用户的权限无法细分。此项后面会加到用户的虚拟配置文件中去。
6.       设置虚拟用户的权限。分成三种权限类型:1)只能下载2)能上传和下载 3)全部权限都有(上传、下载、建目录、删除文件、修改文件名)
 
1)只能下载
local_root=/home/ftpsite/public/
write_enable=YES
anon_world_readable_only=NO
 
2)能上传和下载
local_root=/home/ftpsite/public
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
 
3)全部权限都有(上传、下载、建目录、删除文件、修改文件名)
local_root=/home/ftpsite/public
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
 
===================以上操作完成虚拟用户的设置========================

你可能感兴趣的:(linux,centos,vsftpd,pam,db4)