部署和调优 1.6 vsftp部署和优化-2

映射个虚拟用户

创建个用户,不让他登录

useradd virftp -s /sbin/nologin

创建存放虚拟用户用户和密码的文件

vim /etc/vsftpd/vsftpd_login

写入

test1
111222aaa
test2
aaa111ddd

给这个文件授权,

chmod 600 /etc/vsftpd/vsftpd_login

vsfptd 使用的密码文件肯定不是明文的,需要生成对应的库文件

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

创建虚拟账号

创建虚拟账号配置文件存放目录

mkdir /etc/vsftpd/vsftpd_user_conf
cd !$

创建和用户名对应的配置文件

vim test1

添加

local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

local_root 该用户的家目录

anonymous_enable用来限制/允许匿名账号登录,no为不允许

write_enable=YES 表示可写

local_umask 指定 umask 值

anon_upload_enable 是否允许匿名账号上传文件

anon_mkdir_write_enable 是否允许匿名账号可写

创建该用户的家目录,更改所属主和所属组

mkdir /home/virftp/test1
chown -R virftp:virftp /home/virftp/test1

修改认证相关的配置文件

vim /etc/pam.d/vsftpd

在最开头添加两行

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

Linux 为 32 位系统,库文件路径为/lib/security/pam_userdb.so

系统为 64,库文件是在/lib64/security/pam_userdb.so

修改全局配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES改为anonymous_enable=NO 匿名用户是否可登录

local_enable=YES改为local_enable=NO 本地用户是否可登录,如果虚拟机改为YES

#anon_upload_enable=YES改为anon_upload_enable=NO 匿名用户是否可上传

#anon_mkdir_write_enable=YES改为anon_mkdir_write_enable=NO 匿名用户是否运行创建写入

在最后添加

guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf

重启vsftpd

/etc/init.d/vsftpd restart

测试

如果忘了密码 查看一下test1的密码

cat /etc/vsftpd/vsftpd_login

在家目录创建个文件和目录

mkdir /home/virftp/test1/111
touch /home/virftp/test1/222.txt

登录

lftp test1@127.0.0.1

可以浏览器输入

ftp://192.168.1.117/

输入账号密码

进入ftp

原文地址:https://www.cnblogs.com/wangshaojun/p/5052651.html