当前位置: 技术问答>linux和unix
vsftpd如何配置
来源: 互联网 发布时间:2016-07-02
本文导语: vsftpd 怎么配置?在网上找了很多也没弄好 要求:添加一个用户只能登陆ftp,不能登录系统 登录后只能访问固定目录,不能访问其他目录 只能上传,不能下载、删除操作 希望高手解释的详细一点,...
vsftpd 怎么配置?在网上找了很多也没弄好
要求:添加一个用户只能登陆ftp,不能登录系统
登录后只能访问固定目录,不能访问其他目录
只能上传,不能下载、删除操作
希望高手解释的详细一点,谢谢!!!!!!!!
要求:添加一个用户只能登陆ftp,不能登录系统
登录后只能访问固定目录,不能访问其他目录
只能上传,不能下载、删除操作
希望高手解释的详细一点,谢谢!!!!!!!!
|
一. 安装vsftpd和db4(如果已经安装,此步骤略去)
sudo apt-get install vsftpd
sudo apt-get install db4.6-util
二.建立虚拟用户口令库文件
sudo mkdir /etc/vsftpd
新建名为logins.txt的用户口令文件,
sudo gedit /etc/vsftpd/logins.txt
奇数行为用户名。偶数行为密码,如下用户User1的密码为123456,User2的密码为12345
User1
123456
User2
12345
admin
admin
三.生成vsftpd的认证文件(利用步骤2的文件生成认证文件vsftpd_login.db)
使用db_load命令生成认证文件:
db4.6_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
将vsftpd_login.db的权限设为只对root可读写,即600
chmod 600 /etc/vsftpd/vsftpd_login.db
四.建立虚拟用户所需的PAM配置文件(将vsftpd.vu指向步骤3生成的认证文件)
在/etc/pam.d目录中建立vsftpd.vu内容如下
sudo gedit /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
五.添加本地用户(为建立虚拟ftp用户作准备)
系统->系统管理->用户和组->解锁->添加用户
用户名为ftpuser 密码 123456
在高级里 设置主目录(也就是上传的主目录,但不能和现有目录重复,如果需要重复,需先删除现有目录)
shell 设置为/bin/false
六. 修改/etc/vsftpd.conf 内容如下:(可根据自己情况配置,我的整个文件就是以下代码,其余的注释都被我删掉了)
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
大家看到 guest_username=ftpuser了? 这个要和你建的用户相对应
到这一步基本功能就OK了
七.不同用户设置不同权限(一个用户一个权限配置文件,这个目录由上步骤中user_config_dir设置)
创建用户权限配置目录:sudo mkdir /etc/vsftpd_user_conf
创建并配置User1的权限文件:sudo gedit /etc/vsftpd_user_conf/User1,内容如下
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www/User1
这个就是User1的权限配置,其他雷同
八.重启vsftpd
sudo /etc/init.d/vsftpd restart
九.扩展文件安装
FTP客户端:类似于windows下的ftp工具,很不错
sudo apt-get install gftp
多线程下载工具:
sudo apt-get install d4x
sudo apt-get install vsftpd
sudo apt-get install db4.6-util
二.建立虚拟用户口令库文件
sudo mkdir /etc/vsftpd
新建名为logins.txt的用户口令文件,
sudo gedit /etc/vsftpd/logins.txt
奇数行为用户名。偶数行为密码,如下用户User1的密码为123456,User2的密码为12345
User1
123456
User2
12345
admin
admin
三.生成vsftpd的认证文件(利用步骤2的文件生成认证文件vsftpd_login.db)
使用db_load命令生成认证文件:
db4.6_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
将vsftpd_login.db的权限设为只对root可读写,即600
chmod 600 /etc/vsftpd/vsftpd_login.db
四.建立虚拟用户所需的PAM配置文件(将vsftpd.vu指向步骤3生成的认证文件)
在/etc/pam.d目录中建立vsftpd.vu内容如下
sudo gedit /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
五.添加本地用户(为建立虚拟ftp用户作准备)
系统->系统管理->用户和组->解锁->添加用户
用户名为ftpuser 密码 123456
在高级里 设置主目录(也就是上传的主目录,但不能和现有目录重复,如果需要重复,需先删除现有目录)
shell 设置为/bin/false
六. 修改/etc/vsftpd.conf 内容如下:(可根据自己情况配置,我的整个文件就是以下代码,其余的注释都被我删掉了)
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
大家看到 guest_username=ftpuser了? 这个要和你建的用户相对应
到这一步基本功能就OK了
七.不同用户设置不同权限(一个用户一个权限配置文件,这个目录由上步骤中user_config_dir设置)
创建用户权限配置目录:sudo mkdir /etc/vsftpd_user_conf
创建并配置User1的权限文件:sudo gedit /etc/vsftpd_user_conf/User1,内容如下
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/www/User1
这个就是User1的权限配置,其他雷同
八.重启vsftpd
sudo /etc/init.d/vsftpd restart
九.扩展文件安装
FTP客户端:类似于windows下的ftp工具,很不错
sudo apt-get install gftp
多线程下载工具:
sudo apt-get install d4x