• ADADADADAD

    Linux下vsftpd+mysql虚拟用户有什么用[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:16:39

    作者:文/会员上传

    简介:

    第一步:安装vsftpd apt-get install vsftpd (Debian就是爽啊!) 系统会自动生成一个配置文件和一个ftp用户供匿名用户使用,vsftpd使用PAM方式来验证虚拟用户,因为虚拟用户的信息

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。



    第一步:

    安装vsftpd

    apt-get install vsftpd (Debian就是爽啊!)

    系统会自动生成一个配置文件和一个ftp用户供匿名用户使用,vsftpd使用PAM方式来验证虚拟用户,因为虚拟用户的信息保存在数据库中,所以我们还需要一个能够读取数据库内容的本地用户,而且还需要设置它的本地目录:

    #mkdir /var/ftp

    #useradd -d ftpguest /var/ftp

    #chown ftpguest.nogroup /var/ftp

    第二步:安装mysql

    apt-get install mysql-server mysql-clent

    建立数据库,并添加用户

    #mysql -p mysql>create ftpu;

    mysql>use ftpu;

    mysql>create table user(name char(20) binary,passwd char(20) binary);

    mysql>insert into user (name,passwd) values ('test1',password('1234567'));

    mysql>insert into user (name,passwd) values ('test2',password('7654321'));

    mysql>quit

    让ftpguest能访问ftpu和表user:

    #mysql -u root mysql -p mysql>grant select on ftpu.user to ftpguest@localhost identified by '123456';

    mysql>quit

    第三步:因为vsftpd是通过PAM验证,所以我们还需要一个mysql通过PAM验证的包,在Debian下它叫做libpam-mysql

    apt-get install libpam-mysql

    然后打开vsftpd的PAM验证:

    #vi /etc/pam.d/vsftpd

    将以前的内容注释掉,然后加入以下内容:

    auth required pam_mysql.so user=ftpguest passwd=123456 host=localhost db=ftpu table=user usercolumn=name passwdcolumn=passwd crypt=2

    account required pam_mysql.so user=ftpguest passwd=123456 host=localhost db=ftpu table=user usercolumn=name passwdcolumn=passwd crypt=2

    上面的内容应该能看明白吧,那个crypt=2表示经过mysql的password()机密后的东西!

    第四步:修改vsftpd.conf文件

    #vi /etc/vsftpd.conf

    加入:

    uest_enable=YES

    guest_username=ftpguest

    #表示ftpguest为vsftp的虚拟用户

    virtual_use_local_privs=YES

    #虚拟用户与本地用户有相同的权限

    write_enable=YES

    anon_upload_enable=YES

    anon_other_write_enable=YES

    #允许虚拟用户上传,修改和删除文件

    chroot_local_user=YES

    #虚拟用户只能访问自己的目录

    anonymous_enable=NO

    local_enable=YES

    #关闭匿名用户访问,开启本地用户访问

    第五步:

    本来来到第四步已经完成了,可是后来一想,不对,那要是每次上传的东西都不同,到时把那个目录弄得乱七八糟的怎么管理啊,能不能为每个虚拟用户创建一个目录呢,比如说将music用户上传的文件放在放在~/music下,将doc用户上传的文件放在~/doc下呢?

    能!当然能了,看看我怎么做?

    首先在数据库中添加music和doc两个虚拟用户接下来:

    #mkdir /etc/vsftpd_user_conf

    #cd /etc/vsftpd_user_conf

    #touch music

    #echo "local_root=/home/username/music" > music

    #touch doc

    #echo "local_root=/home/username/doc" > doc

    #mkdir /home/username/music

    #chown ftpguest.nogroup /home/username/music

    #chmod 600 /home/username/music

    #chown ftpguest.nogroup /home/username/doc

    #chmod 600 /home/username/doc

    然后在vsftpd.conf中加入: user_config_dir=/etc/vsftpd_user_conf

    Linux下vsftpd+mysql虚拟用户有什么用.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: linuxvsftpdmysql