1. 装包与卸载

yum -y install vsftpd
yum -y autoremove vsftpd&&rm -rf /etc/vsftpd /etc/pam.d/vsftpd.rpmsave

2. 设置用户清单策略

/etc/vsftpd/ftpusers   #黑名单:拒绝用户清单
/etc/vsftpd/user_list  #白名单:允许用户清单
[root@localhost ~]# echo userlist_deny=NO >> /etc/vsftpd/vsftpd.conf
[root@localhost ~]# grep userlist /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=NO
[root@localhost vsftpd]# grep deny user_list
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file
[root@localhost ~]# echo myftp >> /etc/vsftpd/user_list

3. 设置ftp访问目录

[root@localhost vsftpd]# echo local_root=/home/ftpdir/pub  >> /etc/vsftpd/vsftpd.conf
[root@localhost vsftpd]# grep 'local_root' /etc/vsftpd/vsftpd.conf
local_root=/home/ftpdir/pub

4. 创建ftp用户

禁用匿名用户

sed -i 's/^anon/#anon/g' /etc/vsftpd/vsftpd.conf

创建ftp访问用户

对于单用户来说,700的权限就完成足够了

如果创建多用户的话,可根据情况修改权限,一般来说没有这个必要

注:切换目录后,只有设置了用户的家目录,用户才有登陆权限;此时ftp登陆目录需要设为该用户家目录,除非开放目录切换(见下一步)

useradd myftp -d /home/ftpdir -s /sbin/nologin
echo myftp:ftppasswd|chpasswd
mkdir -p /home/ftpdir/pub
chown -R myftp:myftp /home/ftpdir/
chmod -R 700 /home/ftpdir

5.  开放目录切换(一般没必要,可以不做)

对以下三行内容解注释,若权限不足,可添加一句:

echo allow_writeable_chroot=YES >> /etc/vsftpd/vsftpd.conf 

然后手动将用户加入chroot名单(看注释是黑名单,但实际上似乎是白名单,亲测只有名单里的用户才能登陆):/etc/vsftpd/chroot_list

[root@localhost vsftpd]# egrep -n "^\#chroot_|^chroot_" /etc/vsftpd/vsftpd.conf
101:#chroot_local_user=YES
102:#chroot_list_enable=YES
104:#chroot_list_file=/etc/vsftpd/chroot_list
[root@localhost vsftpd]# sed -i 's/#chroot_/chroot_/' /etc/vsftpd/vsftpd.conf
[root@localhost vsftpd]# echo myftp >> /etc/vsftpd/chroot_list   

6. nologin用户配置

如果创建的是nologin的用户,需要修改pam文件

[root@localhost vsftpd]# sed -i 's/pam_shells/pam_nologin/' /etc/pam.d/vsftpd
[root@localhost vsftpd]# cat /etc/pam.d/vsftpd
#%PAM-1.0
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_nologin.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@localhost vsftpd]#

7. 启服务

[root@localhost ~]# systemctl restart vsftpd
 
 

centos7 ftp服务搭建记录的更多相关文章

  1. CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

    概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FT ...

  2. linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)

    FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...

  3. FTP服务搭建与配置

    FTP介绍 大企业用的基本都是自动化发布工具,会用GIT企业发布的版本上传到服务器, 使用vsftpd搭建ftp服务(上) http://blog.csdn.net/qq_26941173/artic ...

  4. ftp服务配置文件记录

    因为南京的客户死活要ftp服务而不是sftp,所以我作手用vsftp作为服务器,尝试在windows ftp软件登录进去,特记录vsftp的用法. 配置文件在/etc/vsftpd.conf 有如下代 ...

  5. linux下FTP服务搭建(1)

    1.FTP介绍: FTP (File Transfer Protocol,文件传输协议)主要用来文件传输,尤其适用于大文件传输,提供上传下载功能 FTP官方网站:https://filezilla-p ...

  6. Centos7 ftp服务器搭建

    1.使用yum安装ftp服务端: yum install -y vsftpd 2.使用yum安装ftp客户端: yum install -y ftp.x86_64 3.开启ftp服务设置开机启动并查看 ...

  7. Debian系统下的ftp服务搭建

    安装vsftpd服务 $ sudo apt install vsftpd 配置参数 命令输入 $ vim /etc/vsftpd.conf 使用如下配置 # Example config file / ...

  8. ftp服务搭建

    文件传输服务 主配置文件目录/etc/vsftpd/vsftpd.conf 首先安装ftp服务器 yum install vsftpd 默认存放文件的目录  /var/ftp/pub 匿名登陆 创建一 ...

  9. Centos7 ftp环境搭建

    没玩过linux,折腾了半天的ftp,好不容易亲测通过了.不容易啊. 操作环境:vm虚拟机 centos7 首先:搞定网络问题:默认情况下使用ifconfig可以看到虚拟机下是无网络的.(注:虚拟机网 ...

  10. FTP服务搭建配置笔记

    1.什么是文件共享服务? 简单来说就是文件域存储块设备可以共享给他人使用. 1.1 实现文件共享服务的三种方式 FTP:属于应用层服务,可以跨平台使用 NFS:属于内核模式,不可以跨平台使用 Samb ...

随机推荐

  1. Typora 最后免费版本也不能用了?简单一招搞定

    作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 Typora是一款优秀的 Markdown 编辑 ...

  2. Ansible_playbook

    前言 连接https://galaxy.ansible.com下载相应的roles # 列出已安装的galaxy ansible-galaxy list # 安装galaxy ansible-gala ...

  3. 《Java基础——数组的定义与使用》

    Java基础--数组的定义与使用       一. 一维数组: 格式一: 数组类型 数组变量[]=new 数据类型[长度]; //需要后续赋值,且后续赋值时只能为单个元素赋值. 或 数组类型 数组变量 ...

  4. stm32fxx_hal_i2c.c解读之HAL_I2C_Mem_Write

    HAL_I2C_Mem_Write()函数位于stm32fxx_hal_i2c.c文件的2432行,源代码对该函数的解释如下图 HAL_StatusTypeDef HAL_I2C_Mem_Write( ...

  5. vscode-jupyter快捷键

    运行本单元 ctrl + enter 运行本单元,新建一个单元 shift + enter 运行本单元,在其下方新建一个单元 alt + enter 在上方插入一个新单元 a 在下方插入新单元 b 复 ...

  6. JDK8中String的intern()方法详细解读【内存图解+多种例子+1.1w字长文】

    写在前面,欢迎大家关注小编的微信公众号!!谢谢大家!! 一.前言 String字符串在我们日常开发中最常用的,当然还有他的两个兄弟StringBuilder和StringBuilder.他三个的区别也 ...

  7. UEC++ 多线程(一) FRunnable

    虚幻官方文档:https://docs.unrealengine.com/5.0/en-US/API/Runtime/Core/HAL/FRunnable/ FRunnable "runna ...

  8. 2.2 virtualenv 虚拟环境

    有的时候因为各种原因,在操作系统下,我们会安装很多版本的Python解释器.同样,我们也有可能因为各种原因,需要不同版本的模块,比如Django1.8,Django1.11.再加上pip工具管理器的版 ...

  9. kubeadm 使用 Calico CNI 以及外部 etcd 部署 kubernetes v1.23.1 高可用集群

    文章转载自:https://mp.weixin.qq.com/s/2sWHt6SeCf7GGam0LJEkkA 一.环境准备 使用服务器 Centos 8.4 镜像,默认操作系统版本 4.18.0-3 ...

  10. aardio + AutoHotkey 混合编程

    本文主要介绍 aardio + AutoHotkey 混合编程. 在 aardio 中可以调用很多编程语言,例如 C语言.C++.C#.Java.Python.R.Javascript.Node.Js ...