[已测试并在使用,参考网上文章,自己修改了一下,不知有没有错漏。]
例子方案:
1.upload用户上传,能支持续传(需要在upload文件里面添加cmds_allowed,见后面
说明),不能删除文件,不能重命名。
2.download用户只能下载,支持下载续传。
3.使用ftpadmin管理。
几点说明:
1.环境为RHEL4U2,VSFTP为vsftpd-2.0.1-5.EL4.3
2.使用db_load而非db3_load (debian使用db3_load)
3.使用standalone模式
4.关闭防火墙
下面为详细步骤:
1.在/tmp目录建立login.txt文件
#touch login.txt
2.在login.txt文件添加下面的内容,共6行。单数行为用户名,双数行为密码,用户
名和密码,请根据自己需要进行更改。
upload
download
download
ftpadmin
ftpadmin
3. 运行下面的命令生产虚拟用户口令库
#db_load -T -t hash -f /tmp/login/txt /etc/vsftpd_login.db
4. 更改口令库文件权限
#chmod 600 /etc/vsftpd_login.db
5. 生成虚拟用户所需的pam配置文件,到相应目录复制即可。
#cp /usr/share/doc/vsftpd-2.0.1/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/etc/pam.d/vsftpd.pam
6.建立虚拟用户访问目录并设置virtual用户访问权限
#groupadd virtual
#useradd -d /var/ftp2 -m virtual -g virtual
#chmod 700 /var/ftp2
#ls -ld /var/ftp2
显示下面
drwx------ 3 virtual virtual /var/ftp2/
7. 设置download用户权限
#vi /etc/vsftpd_user_conf/download
增加下面行
anon_world_readable_only=NO
(开放download用户的下载权限――只能下载;注意这个不地方不要写成
YES,否则将不能列出文件和目录)
8. 设置upload用户权限
#vi /etc/vsftpd_user_conf/upload
增加下面行
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
cmds_allowed=ABOR,APPE,CWD,CDUP,FEAT,LIST,MKD,MDTM,PASS,PASV,PWD,QUIT,RETR
,REST,STOR,STRU,SYST,TYPE,USER
9.设置ftpadmin用户权限
#vi /etc/vsftpd_user_conf/ftpadmin
增加下面行
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
10.修改vsftpd.conf
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#cp /usr/share/doc/vsftpd-2.0.1/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/etc/vsftpd/vsftpd.conf
#vi /etc/vsftpd/vsftpd.conf
修改成如下:
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=virtual
listen=YES
connect_from_port_20=YES
ftpd_banner=Welcome to virtual FTP service
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=vsftpd.pam
user_config_dir=/etc/vsftpd_user_conf
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
use_localtime=YES
11.启动vsftpd
#/etc/init.d/vsftpd start
12.重启vsftpd
#/etc/init.d/vsftp restart
13.测试upload,download,ftpadmin用户权限。
阅读(1826) | 评论(0) | 转发(0) |