部署和调优 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

 

posted @ 2015-12-16 22:55  dennyLinux  阅读(412)  评论(0编辑  收藏  举报