1.FTP服务
FTP时文本传输协议的英文简称。用于Internet上的控制文件的双向传输,同时,他也是一种应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
在FTP服务的使用过程当中,用户通常会有两个问题,下载和传输。
2.vsftpd的概念
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。
3.vsftpd服务的安装
服务端:
1)安装vsftpd服务,并打开。
2)安装lftp服务。
3)关闭火墙,并将setenforce设置为0。
测试/客户端:
1)安装lftp服务。
2)直接使用lftp + 客户端ip,来进行测试,可以查看到一个pub的目录。
使用客户端登陆时,服务端的默认访问目录为:/var/ftp/。
服务端的配置文件位于/etc/vsftpd/vsftpd.conf中。
4.vsftpd服务的配置参数
服务端的配置文件位于/etc/vsftpd/vsftpd.conf中。
1.匿名用户设定
anonymous_enable = YES\NO ###限制匿名用户登陆
在重启vsftpd服务之后,客户端连接失败。
write_enable =YES ###允许用户写入
anon_upload_enable = YES ###允许用户上传
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
anon_root= /目录 ###修改匿名用户访问的家目录
anon_umask=xxx ###修改匿名用户上传文件的权限
anon_mkdir_write_enable=YES/NO ###匿名用户建立目录
anon_world_readable_only=YES/NO ##设定参数值为NO表示匿名用户可以下载,下载的内容位于你退出用户登录登陆界面所在的位置
anon_other_write_enable=YES/NO ###匿名用户可以删除文件
chown_uploads=YES
chown_username=student ###匿名用户使用的用户身份修改
anon_max_rate=102400 ###设置最大上传速率为100M
max_clients=2 ###设置最大的链接客户端数为2
2.本地用户设定
local_enable=YES/NO ###本地用户登陆限制
write_enable=YES/NO ###本地用户写权限限制
local_umask=xxx ###设置本地用户上传文件权限
local_root=/directory ###本地用户登陆的加目录更改
chroot_local_user=YES
chmod u-w /home/* ###限制本地用户浏览/目录,所有用户都被锁在家目录中
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ###添加用户到不能切换到根目录的黑名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ###添加用户到可以切换到根目录的白名单
/etc/vsftpd/ftpusers ###用户使用ftp服务的永久黑名单,即在该名单中的用户无法使用ftp服务。无论超户还是普通用户。
/etc/vsftpd/user_list ###用户临时黑名单
在vsftpd.conf文件中,加入userlist_deny=NO参数,即可将/etc/vsftpd/user_list中的用户变成白名单,即可以使用ftp服务。
3.虚拟用户的设定
1)创建虚拟帐号身份的文件
vim /etc/vsftpd/filename ###文件名任意
user1
123
user2
123
user3
123
2.)对用户帐号和密码进行加密
db_load -T -t hash -f /etc/vsftpd/filename filename.db
3)编辑帐号和密码处理的库文件
vim /etc/pam.d/vsftpdname
account required pam_userdb.so db=/etc/vsftpd/filename
auth required pam_userdb.so db=/etc/vsftpd/filename
4)配置vsftpd配置文件
pam_service_name=vsftpdname
guest_enable=YES
guest_username=ftp ###这里的用户必须是系统中存在的用户
4.虚拟用户的加目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER