vsftpd for Ubuntu虚拟用户配置专版
发表于 : 2008-04-18 22:50
网上看了很多VSFTPD配置虚拟用户的文章,照配置都不成功,好像不太适合UBUNTU,要不就是少
了点命令,今天做实验成功,分享给大家,与君共勉。
本人假设你知道SUDO(有点搞笑哈),还假设你知道#号后边的都是说明(更搞笑了)_
还有本人使用Ubuntu7.10 ubuntu.cn99.com/源
首先安装VSFTPD
实验目的:利用虚拟用户可实现不同用户拥有不同权限的要求
第一步:建立本地虚拟用户(Create the local virtual user)
第二步:建立虚拟用户数据库(Create the virtual users database)
用户手工建立文本文件logins.txt (保存到/tmp中)
logins.txt文件内容
注:奇数行为用户名,偶数行为密码.
转换TXT文件为DB文件(DB应该是数据库文件吧*_*,反正我不知道)
第三步:建立基于vsftpd_login的PAM授权文件(Create a PAM file which uses your new database)[此处也可用mysql建立用户信息]
#编辑文件将所有内容删除,将下面两句添加其中,保存。
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login[/code]
第四步: 修改vsftpd.conf文件内容如下:(Create your vsftpd.conf config file)
第五步: 建立针对虚拟用户库中不同用户的权限文件(第四步中已指定存放位置)
(在主目录virtual主目录下创建三个文件夹:download,upload,admin)
第六步: 重新启动VSFTP
#检测一下配置文件有没有错误 ,如果有会提示你错误的option是多少。
/usr/sbin/vsftpd
#如果提示500 OOPS: vsftpd: must be started as root (see run_as_launching_user option)
#表示基本上成功了,再输入以下命令。
/etc/init.d/vsftpd restart
第七步: 测试(Test)
自己测试吧。
试试运气吧,呵呵。
了点命令,今天做实验成功,分享给大家,与君共勉。
本人假设你知道SUDO(有点搞笑哈),还假设你知道#号后边的都是说明(更搞笑了)_
还有本人使用Ubuntu7.10 ubuntu.cn99.com/源
首先安装VSFTPD
代码: 全选
apt-get install vsftpd #此版本好像有编码问题,在windwos下看FTP中中文为乱码(望高手解答)
第一步:建立本地虚拟用户(Create the local virtual user)
代码: 全选
useradd -d /opt/ftp-server virtual #新建virtual用户,指定主目录为/opt/ftp-server
mkdir /opt/ftp-server virtual
第二步:建立虚拟用户数据库(Create the virtual users database)
用户手工建立文本文件logins.txt (保存到/tmp中)
logins.txt文件内容
代码: 全选
download
123
upload
234
admin
345
转换TXT文件为DB文件(DB应该是数据库文件吧*_*,反正我不知道)
代码: 全选
apt-get install libdb3-util #没安装这个软件包,db3_load命令就不能使用。
db3_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db
代码: 全选
cp /etc/pam.d/vsftpd /etc/pam.d/ftp.vu #建立认证文件
代码: 全选
gedit /etc/pam.d/ftp.vu
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login[/code]
第四步: 修改vsftpd.conf文件内容如下:(Create your vsftpd.conf config file)
代码: 全选
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 #将虚拟用户转换成本地用户virtual
user_config_dir=/etc/vsftpd/ #虚拟用户的配置文件存放目录
listen=YES
secure_chroot_dir=/tmp #此句必要,很多网上教程没有加这句。
pam_service_name=ftp.vu #此句为指定认证文件
user_config_dir=/etc/vsftpd/ #指定虚拟用户配置文件存放的目录
listen=YES
(在主目录virtual主目录下创建三个文件夹:download,upload,admin)
代码: 全选
mkdir /opt/ftp-server/download
mkdir /opt/ftp-server/upload
mkdir /opt/ftp-server/admin
#方法一、将这三个文件夹权限改为所有人完全控制
chmod 777 –R /opt/ftp-server
#方法二、还可以用chown virtual.virtual -R /opt/ftp-server命令改变属主
#然后使chmod 755 –R /opt/ftp-server这种方法更为安全。
代码: 全选
gedit /etc/vsftpd/download #加下以下内容,保存。
download文件内容如下(只能下载权限)
=====================
local_root=/opt/ftp-server/download
anon_world_readable_only=NO
代码: 全选
gedit /etc/vsftpd/upload #加下以下内容,保存。
upload文件内容如下(可上传权限)
=====================
local_root=/opt/ftp-server/upload
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
代码: 全选
gedit /etc/vsftpd/admin #加下以下内容,保存。
admin文件内容如下(管理权限)
=====================
local_root=/opt/ftp-server/admin
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anno_other_writer_enable=YES
#检测一下配置文件有没有错误 ,如果有会提示你错误的option是多少。
/usr/sbin/vsftpd
#如果提示500 OOPS: vsftpd: must be started as root (see run_as_launching_user option)
#表示基本上成功了,再输入以下命令。
/etc/init.d/vsftpd restart
第七步: 测试(Test)
自己测试吧。
试试运气吧,呵呵。