CentOS 7 VSFTP安装配置

来源:互联网 发布:人工智能武器 编辑:程序博客网 时间:2024/06/06 12:23
要求

路径      权限   备注 /opt/ftp/open 所有人员均可以访问    只读 /opt/ftp/private 仅允许apple、banana、orange三个人访问 apple、banana只允许下载,
orange可以上传  均使用虚拟账户

安装FTP客户端和服务器端
yum -y install ftp vsftpd
或者使用rpm安装以下两个包: ftp-0.17-66.el7.x86_64   vsftpd-3.0.2-9.el7.x86_64
另外需要安装db包,用来加密虚拟用户的账户信息
这个包在centos7中默认已经安装了
rpm -qf /usr/bin/db_load
libdb-utils-5.3.21-17.el7_0.1.x86_64



配置FTP服务器开始
查看配置文件所在路径
rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

  

  
创建密码明文文件
vim /etc/vsftpd/vftpuser.txt
apple
PasswOrd
banana
PasswOrd
orange
PasswOrd

  
根据明文创建密码DB文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
centos 语法: db_load -nTV -t hash -f  
查看密码数据文件
file  /etc/vsftpd/vftpuser.db
/etc/vsftpd/vftpuser.db: Berkeley DB (Hash, version9, native byte-order)
  
创建vftpd的guest账户
useradd -d /ftp/private -s /sbin/nologin vftpuser
  
vim /etc/pam.d/vsftpd
将auth及account的所有配置行行均注释掉,添加如下内容:
auth         required  pam_userdb.so db=/etc/vsftpd/vftpuser

account   required  pam_userdb.sodb=/etc/vsftpd/vftpuser


备份原有配置文件

cp /etc/vsftpd/vsftpd.conf   /etc/vsftpd/vsftpd.conf.origin

编辑配置文件
vim /etc/vsftpd/vsftpd.conf
在最后添加
anon_root=/opt/ftp/open
virtual_use_local_privs=YES
guest_enable=YES
guest_username=vftpuser
chroot_local_user=YES
allow_writeable_chroot=YES

设置开机自动启动VSFTP
systemctl enable vsftpd
ln -s  '/usr/lib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target.wants/vsftpd.service'  
systemctl start vsftpd
 
查看目前的状态
systemctl  status vsftpd


做几个测试文件

mkdir -p /opt/ftp/open
echo opentest >  /opt/ftp/open/open.txt
echo filetest >  /opt/ftp/open/filetest1.txt  
touch  /opt/ftp/open/anontest.txt
 


测试匿名账户登陆
ftp localhost

Name(localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful.

ftp> bye
221 Goodbye.
  
本地账户登陆
ftp localhost

Name(localhost:root): alice
331 Please specify the password.
Password:

230 Login successful.


FTP常用命令

查看FTP服务器目录: ls
查看本地目录文件列表 !ls /tmp
下载FTP文件到本地:get open.txt
上传本地文件到FTP:putfile test1.txt
切换本地路径:lcd /home

lcd 命令,代表 change local directory
用法:lcd  /path/to/your/directory
注:/path/to/your/directory是你的一个本地目录