vsftp安装 创建用户 并限定用户在自己的目录

1、查看是否已经安装了vsftpd

vsftpd -version

2、安装vsftpd(CentOS7

yum install -y vsftpd

3、新建FTP目录

创建的FTP目录如下:

mkdir -p /data/KodServer/data/User/tomas/home
4、创建新用户

ftpname为你为该ftp创建的用户名,/data/KodServer/data/User/tomas/home 为登录进去后的位置

useradd -d /data/KodServer/data/User/tomas/home -s /bin/bash ftpname

5、为新建的用户设置密码

passwd ftpname

【备注:用cat etc/passwd可以查看当前系统用户】

6、设置主目录(更改登录时看到的目录,看个人需要更改,如果第4步已设置好,此步可忽略)

usermod -d /data/KodServer/data/User/tomas/home ftpname

7、添加用户组(这步可忽略)

groupadd ftpgroup

这里如果三root用户创建的文件夹,要把文件夹的全线给新建的用户, 否则能访问但是不能上传

chmod ftpname:ftpgroup /data/KodServer/data/User/tomas/home

8、防火墙添加FTP服务

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload 

解决办法:

重启vsftpd进程报错 failed to start vsftpd ftp daemon,手动杀死 进程。
ps auxf | grep vsftpd

systemctl restart firewalld.service
 

9、配置只能访问自身目录(/data/KodServer/data/User/tomas/home),不能访问其他路径

修改/etc/vsftpd.conf

cd /etc/vsftpd/
vi vsftpd.conf #去掉前面的注释
chroot_local_user=YES ascii_upload_enable=YES
ascii_download_enable=YES #文件末尾添加
allow_writeable_chroot=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
/etc/vsftpd/chroot_list 这个文件不存在,就要自己手动创建!!!

保存,重启vsftpd

设置开机启动:

systemctl enable vsftpd.service

启动vsftpd服务

systemctl start  vsftpd.service

禁止ftp用户通过22端口登录ftp服务器:

由于需要限制ftp用户在自己的目录,在21端口下没有问题,但当ftp用户用sftp登录时,还是可以访问上级目录,于是禁止ftp用户ssh登录,切断22端口的通信。

首先,执行如下命令,找到nologin的shell

vi /etc/shells

可以看到禁止登录的shell文件为/usr/sbin/nologin,然后执行如下命令:

usermod -s /usr/sbin/nologin tomas

如果要恢复tomas的ssh登录,执行如下命令:

usermod -s /bin/bash tomas

如果看不到文件列表,关闭 SELinux

解决方法:关闭SELinux

查看SELinux状态:/usr/sbin/sestatus -v      #如果SELinux status参数为enabled即为开启状态

方法一:临时关闭(不用重启机器)

setenforce        #设置SELinux 成为permissive模式
#setenforce 设置SELinux 成为enforcing模式 方法二:修改配置文件需要重启机器 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启机器即可

centos7 配置ftp访问的更多相关文章

  1. Linux Centos7配置ftp服务器

    一.安装 1.安装 yum install  -y vsftpd 2.设置开机启动 systemctl enable vsftpd.service 3.启动 systemctl start vsftp ...

  2. 腾讯云下的CentOS7 配置 FTP 服务器

    第一步安装vsftp * yum -y install vsftpd 第二步配置ftp文件 要实现用户不仅可以下载ftp上的内容 还可以删改增加文件到ftp服务器 需要给ftp的目录赋予写入权限 1. ...

  3. centos7 配置ftp服务器搭建(匿名访问,以及本地登录)

    大家好,今天来给大家分享一个基于centos 7的ftp服务器搭建 实现功能:匿名访问,本地登录 查看系统版本: [root@localhost ~]# cat /etc/redhat-release ...

  4. CentOS7 配置FTP服务器

    1.安装vsftpd yum -y install vsftpd 2.在firewalld中添加规则 为确保成功 先启动firewalld服务 systemctl enable firewalld s ...

  5. CentOS7配置FTP服务器增强版~(零基础学会FTP配置)

    ps:原文不知出处,但是原文也不能正常启动,这里做了一些修改!如果能正常配置请在下方留言让更多的人看到,因为之前我本人照着网上的教程安装卸载了十多次也无法正常使用,不希望后面的兄弟继续浪费时间,如果不 ...

  6. centos7 配置 ftp 服务器(本地用户)

    2021-09-02 1. 安装 # 安装 vsftpd yum -y install vsftpd 2. 启动服务并添加到开机自启 # 启动 vsftpd systemctl start vsftp ...

  7. CentOS7配置ftp

    1.下载vsftpd yum install -y vsftpd 2.设置开机自启动 systemctl enable vsftpd.service 3.启动 systemctl start vsft ...

  8. CentOS7安装和配置ftp服务

    目录 一.ftp简介 二.安装ftp软件包 1.安装ftp服务器 2.安装ftp客户端 三.配置ftp服务器 1.关闭SELINUX 2.配置ftp数据端口参数 3.开通防火墙 4.启动vsftpd服 ...

  9. Centos7配置外部网络访问

    Centos7配置外部网络访问 一.安装步骤中的重要配置: 默认是动态ip配置,有需要可以改成静配置 BOOTPROTO="static" 二.如果不能联网,按照如下步骤设置网络: ...

随机推荐

  1. Ansible6:Playbook简单使用

    目录 一个简单的示例 通过Playbook安装apache示例 playbook的构成 Hosts和Users 任务列表和action handlers tags 示例 ansbile-playboo ...

  2. 跟上Java8 - 日期和时间实用技巧

    原文出处:王爵nice 当你开始使用Java操作日期和时间的时候,会有一些棘手.你也许会通过System.currentTimeMillis() 来返回1970年1月1日到今天的毫秒数.或者使用Dat ...

  3. Java基础-面向接口(interface)编程

    Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...

  4. Java基础-字符串连接运算符String link operator

    Java基础-字符串连接运算符String link operator 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 字符串链接运算符是通过“+”进行拼接的. 一.使用“+”进行字 ...

  5. android listview使用自定义的adapter没有了OnItemClickListener事件解决办法

    在使用listview的时用使用自定义的adapter的时候,如果你的item布局中包含有Button,Checkable继承来的所有控件,那么你将无法获取listview的onItemClickLi ...

  6. ASP.NET IOC之 AutoFac的认识和结合MVC的使用

    这几天研究了解发现AutoFac是个牛X的IOC容器,是.NET领域比较流行的IOC框架之一,传说是速度最快的,~ 据相关资料,相关学习,和认知,遂做了一些整理 优点: 它是C#语言联系很紧密,也就是 ...

  7. Ubuntu16.04.2安装Tensorflow

    安装aptitude $ sudo apt-get install aptitude 安装python-pip python-dev $ sudo aptitude install python-pi ...

  8. 二分算法的应用——Codevs 1766 装果子

    #include<iostream> #include<cstdio> using namespace std; + ; typedef long long LL; LL a[ ...

  9. Java并发编程原理与实战四:线程如何中断

    如果你使用过杀毒软件,可能会发现全盘杀毒太耗时间了,这时你如果点击取消杀毒按钮,那么此时你正在中断一个运行的线程. java为我们提供了一种调用interrupt()方法来请求终止线程的方法,下面我们 ...

  10. td自动换行

    自动换行方法: 1.在<td>中设置样式style为word-wrap:break-word;word-break:break-all; (一般情况只需要设置word-break:brea ...