在/etc下创建目录vsftpd
1
2
3
|
mkdir
vsftpd
cd
vsftpd
vi
user.txt
|
user.txt中加入用户名、密码,奇数行为用户名,偶数行为密码
1
2
3
4
|
ftp1
ftp1
ftp2
ftp2
|
使用db_load命令将用户生成数据库
如果没有db_load命令先安装
1
|
apt-get
install
db-util
|
然后生成数据库
1
2
|
db_load -T -t
hash
-f user.txt user.db
sudo
chmod
600 user.db
|
三、创建不同用户的配置
1
2
3
|
mkdir
user_conf
cd
user_conf
sudo
touch
ftp1 ftp2
//
对应user.txt中的用户
|
在ftp1中写入:主要是测试,先简单的写
1
2
|
anon_world_readable_only=NO
local_root=
/opt/vsftpd/ftp1
|
在ftp2中写入:
1
2
|
anon_world_readable_only=NO
local_root=
/home/ftp
//
与ftp1完全不同的两个目录
|
四、修改pam.d下的vsftpd,我就是在这走了很多弯路,把vsftpd全部贴出,供大家看与网上的有什么区别
1
2
|
cd
/etc/pam
.d
vi
vsftpd
|
1
2
|
auth required pam_userdb.so db=
/etc/vsftpd/user
account required pam_userdb.so db=
/etc/vsftpd/user
|
其中db=....指向我们之前建立的user.db
五、创建虚拟帐号:
1
2
3
4
5
6
|
sudo
useradd
virtual -d
/opt/vsftpd
-s
/sbin/nologin
//
不允许登录
chmod
a-w
/opt/vsftpd
//
修改目录的权限
chown
virtual:virtual
/opt/vsftpd
//
修改目录属于的用户组,因为我们创建了两个
ftp
位置,所以都要修改权限、用户组
chmod
a-w
/home/ftp
chown
virtual:virtual
/home/ftp
|
六、修改/etc/vsftpd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#配置
listen=YES
#匿名用户配置
#是否开启匿名用户登录
anonymous_enable=NO
xferlog_std_format=YES
#使用上传下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file选项修改
xferlog_enable=YES
xferlog_file=
/var/log/vsftpd
.log
#日志使用标准xferlog格式
xferlog_std_format=YES
local_enable=YES
use_localtime=YES
write_enable=YES
guest_enable=YES
guest_username=virtual
//
对应前面添加的用户virtual
user_config_dir=
/etc/vsftpd/user_conf
//
对应前面添加的每个用户不同配置的目录
dirmessage_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=
/etc/vsftpd
.chroot_list
secure_chroot_dir=
/var/run/vsftpd/empty
pam_service_name=vsftpd
//
对应
/etc/pam
.d
/vsftpd
rsa_cert_file=
/etc/ssl/private/vsftpd
userlist_enable=YES
|