1 设置欢迎信息
(1)进入主配置文件
vim /etc/vsftpd/vsftpd.conf
(2)编辑主配置文件
13 #本地用户登录服务器所访问的路径
14 local_root=/var/xxxftp/
21 #设定开启目录标语功能
22 dirmessage_enable=YES //开启登陆标语
23 message_file=.message //登陆标语
56 pam_service_name=vsftpd //删除后面的.V变成这样
(3)创建主目录
mkdir /var/xxxftp
cd /var/xxxftp
(4)设置标语文件
vim .message
(5)重启服务
service vsftpd restart
(6)在服务器上创建用户
useradd xxx
passwd xxx
(7)在客户机上测试
ftp 10.10.1.10
//输入刚创建的用户名密码
quit
//退出
2 用户控制与权限
(1)在服务器上创建用户
useradd xxxsftp1
passwd xxxsftp1
(2)创建用户配置文件
cp -rf /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_user_fonf/xxxsftp1
(3)进入用户配置文件
vim /etc/vsftpd/vsftpd_user_fonf/xxxsftp1
(4)修改用户配置文件
1 #允许匿名用户登录
2 anonymous_enable=YES
9 #设置允许下载
10 download_enable=YES
13 #本地用户登录服务器所访问的路径
14 local_root=/var/xxxsftp
33 #如果启动,则所有在chroot_list_file之中的使用者不能更改根目录
34 chroot_list_enable=YES
35 #设置chroot_list文件名
36 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
(5)进入chroot_list文件限制用户cylstfp的操作目录为自己
vim /etc/vsftpd/vsftpd.chroot_list
//在空白文件中cylsftp1
(6)创建用户主目录并设置权限
mkdir /xxxsftp
chmod 777 /xxxsftp
(7)重启服务
service vsftpd restart
3 测试
(1)在服务器用户目录下创建文件
vim /xxxsftp/test
(2)在客户端登陆ftp
ftp 10.10.1.10
//用户名xxxsftp
//密码123456,提示登陆成功
get test xxxtest //下载test并且命名为xxxtest
put xxxtest test2 //上传xxxtest并且命名为test2,拒绝为正确
quit
4 创建管理用户
(1)在服务器上创建用户
useradd xxxmftp1
passwd xxxmftp1
(2)创建用户配置文件
cp -rf /etc/vsftpd/vsftpd_user_fonf/xxxsftp1 /etc/vsftpd/vsftpd_user_fonf/xxxmftp1
(3)进入用户配置文件
vim /etc/vsftpd/vsftpd_user_fonf/xxxmftp1
(4)修改用户配置文件
1 #允许匿名用户登录
2 anonymous_enable=YES
7 #全局控制-可以上传
8 write_enable=YES
9 #设置允许下载
10 download_enable=YES
13 #本地用户登录服务器所访问的路径
14 local_root=/var/xxxmftp
15 #允许匿名用户上传
16 anon_upload_enable=YES
17 #允许匿名用户创建目录
18 anon_mkdir_write_enable=YES
19 #
20 anon_other_write_enable=YES
33 #如果启动,则所有在chroot_list_file之中的使用者不能更改根目录
34 chroot_list_enable=YES
35 #设置chroot_list文件名
36 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
(5)进入chroot_list文件限制用户cylstfp的操作目录为自己
vim /etc/vsftpd/vsftpd.chroot_list
//再次加入xxxmftp1
(6)创建用户主目录并设置权限
mkdir /xxxmftp
chmod 777 /xxxmftp
(7)重启服务
service vsftpd restart
5 测试
(1)在服务器用户目录下创建文件
vim /xxxmftp/test
vim /xxxmftp/test4
(2)在客户端登陆ftp
ftp 10.10.1.10
//用户名xxxmftp
//密码123456,提示登陆成功
get test xxxtest //下载test并且命名为xxxtest
put xxxtest test2 //上传xxxtest并且命名为test2,拒绝为正确
mkdir test3 //创建test3目录
delete test4 //删除test4
quit
6 虚拟用户的创建及认证
(1)进入主配置文件
vim /etc/vsftpd/vsftpd.conf
(2)编辑主配置文件
56 pam_service_name=vsftpd.v //加上.V
(3)创建虚拟用户在本地的映射用户,并制定宿主目录
useradd xxxvftp1 -s /sbin/nologin -d /home/xxxvftp
(4)给目录配置权限
chmod 777 /home/xxxvftp
(5)创建账号密码文件
cd /etc/vsftpd
vim /etc/vsftpd/auth.txt
//第一行用户名XXXvftp1
//第二行密码123456
(6)将文件写入数据库文件中
db_load -T -t hash -f auth.txt vsftpuser.db
(7)打开vsftpd.v
vi /etc/pam.d/vsftpd.v
(8)编辑文件为
1 #%PAM-1.0
2 #session optional pam_keyinit.so force revoke
3 #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ ftpusers onerr=succeed
4 #auth required pam_shells.so
5 #auth include system-auth
6 #account include system-auth
7 #session include system-auth
8 #session required pam_loginuid.so
9 auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser
10 account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser
(9)创建用户配置文件
cp -rf /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_user_fonf/xxxvftp1
(10)进入用户配置文件
vim /etc/vsftpd/vsftpd_user_fonf/xxxmftp1
(11)修改用户配置文件
1 #允许匿名用户登录
2 anonymous_enable=YES
5 #接受本地用户登录
6 local_enable=YES
7 #全局控制-可以上传
8 write_enable=YES
13 #本地用户登录服务器所访问的路径
14 local_root=/home/xxxvftp
15 #允许匿名用户上传
16 anon_upload_enable=YES
17 #允许匿名用户创建目录
18 anon_mkdir_write_enable=YES
19 #
20 anon_other_write_enable=YES
33 #如果启动,则所有在chroot_list_file之中的使用者不能更改根目录
34 chroot_list_enable=YES
35 #设置chroot_list文件名
36 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
(12)重启服务
service vsftpd restart
7 登陆测试
ftp 10.10.1.10
//用户名xxxmftp
//密码123456,提示登陆成功
quit
8 SSL加密认证
(1)进入主配置目录
cd /etc/vsftpd
(2)生成密钥和证书
openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout xxx.key -out xxx.crt
//信息直接乱填
(3)生成pem文件
cat xxx.key > xxx.pem
cat xxx.crt >> xxx.pem
(4)更改pem证书权限
chmod 400 xxx.pem
(5)将SSL证书写入ftp主配置文件
vim /etc/vsftpd/vsftpd.conf
(6)在文件末尾加入SSL证书相关信息
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/cyl.pem
9 测试
ftp 10.10.1.10
//用户名xxxvftp,提示需要密文则成功
quit