前言
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。 [2]vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。在开源操作系统中常用的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等(此部分解释来自百度百科)
安装
Centos版本:CentOS Linux release 7.4.1708
- 安装 yum -y install vsftpd
- 启动 systemctl start vsftpd.service
- 把服务添加到开机启动项 systemctl enable vsftpd
- 配置文件路径 /etc/vsftpd
功能一(匿名):
1、首先我们在企业中ftp服务器,一般情况下都会有个共享服务器,允许员工下载一些公司的软件或者常用的软件包(方便,不用再取外网去下载,也省带宽)
2、vsftp提供了匿名登录,默认anonymous_enable=YES的情况下,就启用了匿名访问,这种情况下你只能把需要给用户的文件,存放到/var/ftp/pub下(默认路径),如果想更改的话需要添加anon_root= /home/vsftpd,后面的路径就是匿名登录后实际访问的目录。
安装vsftpd后匿名访问需要保证以下3项为YES,配置文件vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES功能二(虚拟用户):
1.修改配置文件内容如下,vim /etc/vsftpd/vsftpd.conf
  anonymous_enable=NO
  write_enable=YES
  chroot_local_user=YES
  chroot_list_enable=YES
  use_localtime=YES
  local_enable=YES
  allow_writeable_chroot=YES
  xferlog_enable=YES
  local_umask=022
  pam_service_name=vsftpd
 
  use_localtime=YES
  listen_port=21
  chroot_local_user=YES
  idle_session_timeout=120
  data_connection_timeout=120
  guest_enable=YES
  guest_username=ftpuser
  user_config_dir=/etc/vsftpd/vuser_conf
  virtual_use_local_privs=YES
  pasv_min_port=10060
  pasv_max_port=10090
 
  accept_timeout=5
  connect_timeout=12.创建宿主用户
 useradd -d /home/vsftpd -s /sbin/nologin ftpuser
 -d /home/vsftpd 指定将来的分享的根目录是:/home/vsftpd
 -s /sbin/nologin 使此账户只能登陆ftp不能通过ssh登陆
  设置ftpuser用户密码
  passwd ftpuser
  修改/home/vsftpd 的所有权
  chown -R ftpuser.ftpuser /home/vsftpd3.建立虚拟用户文件
touch /etc/vsftpd/vuser_passwd
# 编辑虚拟用户名单文件:(
# 第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
vi /etc/vsftpd/vuser_passwd 
# 编辑内容,下面是 vuser_passwd 内容
ftp1
12345678
ftp2
12345678
:wq!#保存退出4.生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
chmod 600 /etc/vsftpd/vuser_passwd.db5.创建用户配置
mkdir /etc/vsftpd/vuser_conf  # 建立虚拟用户个人vsftp的配置文件
cd /etc/vsftpd/vuser_conf     # 进入目录
touch ftp1 ftp2
每个文件(ftp1和ftp2写入如下内容,local_root=/home/vsftpd/ftp1 #这里写入这个用户的实际存储路劲)
local_root=/home/vsftpd/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
创建用户目录
mkdir -p /home/vsftpd/ftp1
mkdir -p /home/vsftpd/ftp26.生成虚拟用户的PAM文件
修改vsftpd文件内容(加入第二和第三行,下面的都全部注释,注意下面是64位操作系统,如果是32位的话lib64需要改成lib),vim /etc/pam.d/vsftpd
复制代码
#%PAM-1.0
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth7.重启服务
systemctl restart vsftpd.service  # 重启服务
systemctl status vsftpd.service   # 服务状态查看8.验证

9.注意事项
- 开放ftp服务添加到防火墙外,阿里云主机需要开启21端口出入
- 如果在使用的过程中遇到530错误,一般是目录的权限问题






 
 


Comments | NOTHING