技术文章:linux vsftpd 只能用户上传不能下载的实现

建立虚拟账户:
虚拟账号
1、建立虚拟用户口令库文件
   口令库文件中奇数行设置用户名,偶数行设置口令
# vi /etc/vsftpd/logins.txt
mike
pwabcd
john
pw1234
2、生成vsftpd的认证文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
   设置认证文件只对用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db

3、建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account required  /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
   注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!
4、建立虚拟用户所要访问的目录并设置相应权限
# mkdir /home/ftpsite
# useradd -d /home/ftpsite virtual(用户名)
# chown virtual:virtual /home/ftpsite
# chmod 700 /home/ftpsite/
5、设置vsftpd.conf配置文件
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
# service vsftpd restart
7、建立用户配置文件目录
使用mkdir命令建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
8、每个FTP虚拟用户都可以独立设置其权限
anon_world_readable_only=NO   可读可下载
anon_upload_enable=YES            可上传

download_enable = NO                不能下载
anon_mkdir_write_enable=YES   可创建和删除文件夹
anon_other_write_enable=YES    可文件改名和删除文件
local_root=/home/ftpsite/mike      指定mike的宿主目录
(注意:请先到/home/ftpsite下面去创建mike文件夹)


你从上面的权限里面挑选你想要的! 嵌入式技术专栏,欢迎精英们交流!

作者: aa3955137   发布时间: 2011-06-01

楼主说的太好了!!

作者: azmy   发布时间: 2011-06-03