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

69次阅读
没有评论

共计 2105 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 Linux 下 vsftpd+mysql 虚拟用户有什么用,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

第一步:

安装 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 虚拟用户有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计2105字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)