centos7中搭建ftp服务

博客搬家: centos7中搭建ftp服务

最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程。过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的,当然排除了一些坑点。

1. 安装vsftpd

  1. 安装vsftpd: yum install vsftpd -y
  2. 启动vsftpd: systemctl start vsftpd
  3. 设置开机启动:systemctl enable vsftpd
  4. 创建ftp根目录: mkdir -p /ftpserver

2. 设置配置文件

vim /etc/vsftpd/vsftpd.conf

listen=YES                 // 需要把ipv6那个改成NO,两个不能同时开启

#禁止匿名访问
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO chroot_list_enable=NO           // 不允许用户离开自己的主目录
chroot_list_file=/etc/vsftpd.chroot_list   // 虚拟用户列表,每行一个用户名
local_enable=YES               // 允许本地用户访问
write_enable=YES              // 允许本地用户写入
local_umask=022              // 上传后的文件的默认掩码
chroot_local_user=YES            // 禁止本地用户离开自己的主目录
pam_service_name=vsftpd       // 权限验证需要的加密文件
guest_enable=YES              // 开启虚拟用户功能
guest_username=bt            // 宿主用户,这个用户需要创建,或者使用已有用户,同样可以通过ftp来登录
virtual_use_local_privs=YES        // 用户登录后操作目录和本地用户权限一样
user_config_dir=/etc/vsftpd/vconf     // 虚拟用户主目录设置文件
allow_writeable_chroot=YES        // 允许写入用户主目录,这条特别重要

3. 添加虚拟用户,并创建用户目录

  1. vim /etc/vsftpd.chroot_list,添加两个用户如进去,分别为:
  user1

  user2
  1. mkdir -p /ftpserver/user1 /ftpserver/user2 // 创建用户目录
  2. chmod –R 755 /ftpserver/user1 /ftpserver/user2 // 修改目录权限,如果希望用户有写入权限,给other添加写权限即可,例如777
  3. 指定用户目录
mkdir –p /etc/vsftpd/vconf

cd /etc/vsftpd/vconf

touch user1 user2
# vim user1
local_root=/ftpserver/user1 #vim user2
local_root=/ftpserver/user2

4. 设置用户密码和数据库

echo -e "user1\n123456\nuser2\n123456" >/etc/vsftpd/vusers.lis

cd /etc/vsftpd

db_load –T –t hash –f vusers.list vusers.db

chmod 600 vusers.*

5. 指定登录认证方式

vim /etc/pam.d/vsftpd

修改为如下

auth  sufficient /lib64/security/pam_userdb.so    db=/etc/vsftpd/vusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers

6. 关闭SELINUX的屏蔽

vi /etc/selinux/config

    #SELINUX=enforcing #注释掉
SELINUX=disabled #增加 setenforce 0 #使配置立即生效

最后 systemctl restart vsftpd即可

上一篇:centos7也支持service命令启动服务吗,对于centos7 中的systemctl和旧的service命令的区别和联系


下一篇:CentOS7 使用chrony搭建集群中的时间同步服务