安装:ftp安装部分,操作步骤如下:

可以使用yum命令直接安装ftp

# yum install vsftpd

ftp服务的开启与关闭命令:

开启:# service vsftpd start

关闭:# service vsftpd stop

安装成功后,可以在本地使用ftp软件连接,默认账号是虚拟机的账号和密码。

目的:在linux系统上建立ftp用户,并限制其通过ftp访问时,只能访问用户主目录;其主目录显示路径也是“/”,看不到上级目录。
 
例子:建立用户test,密码为123456,主目录为/home/ftp/test
 
首先,在linux系统建立用户test
1、以ftp用户登陆系统,建立test用户的主目录/home/ftp/test,输入命令:mkdir /home/ftp/test
2、以root用户登录系统,建立带有主目录的用户,输入命令:[root@- home]# useradd -d /home/ftp/test test 
3、为用户分配密码,输入命令:
       [root@- etc]# passwd test
                         New UNIX password:123456
                         Retype new UNIX password:123456
                         passwd: all authentication tokens updated successfully.
   此时查看:[root@- etc]# cat /etc/passwd

   可看到用户配置是这样的:test:x:504:504::/home/ftp/test:/bin/bash
   系统为用户分配了新的用户id和组id:504、504。由于该用户的所有文件需对ftp用户开放访问权限,我们可以将test分配到ftp组(组id500)。
   为用户分配新的用户组,输入命令:[root@- home]# usermod -g ftp test          
   此时查看:[root@- etc]# cat /etc/passwd
   可看到用户配置是这样的:test:x:504:500::/home/ftp/test:/bin/bash
 
4、然后,配置用户ftp权限及访问路径限制:
   此时用test登陆系统ftp,是否可以访问?如果无法访问,说明我们的ftp做了限制。
   打开/etc/vsftpd/vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。
   如果userlist_deny=NO:只允许userlist_file文件中的用户可访问ftp;
   如果userlist_deny=YES:userlist_file文件中列举的用户不能通过ftp访问系统。userlist_enable是该功能的开关。我们的系统配置如下:
           userlist_enable=YES
       userlist_deny=NO
     userlist_file=/etc/vsftpd/user_list
    所以需要把用户test加入到/etc/vsftpd/user_list文件中,每个用户一行。
 
     由于该主目录是ftp用户建的,test是ftp组的成员,所以test默认具有增删查改权限;而test作为ftp组成员,对/home/ftp下的所有路径具有访问权限(根据各目录的权限设置,默认是这样),登录ftp后会发现,test用户可以访问其他目录,并且具有ftp组的权限,这样做是不允许的,我们需要将test用户的访问范围控制在其主目录下。方法如下:
        1. cd /etc/vsftpd 进入ftp配置文件目录
        2. vi vsftpd.conf编辑此文件,找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能
            找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list
        3. 编辑chroot_list文件,加入你要限制的用户名test,一行一个用户
    4.如果提示没有可写权限,则在vsftpd.conf文件中加入allow_writeable_chroot=YES
 
      如果更新了vsftpd.conf,一定要重启ftp,命令如下:
      [root@linuxsir001 root]# /etc/init.d/vsftpd restart或service vsftpd restart
 
      再用test通过ftp访问系统,用户成功登陆,并且成功的被限制在自己的主目录下,无法访问其他目录了。

Linux:linux下建ftp用户,并限制用户访问路径的更多相关文章

  1. linux下建ftp用户,并限制用户访问路径[转]

    目的是:在linux系统上建立ftp用户,并限制其通过ftp访问时,只能访问用户主目录:其主目录显示路径也是“/”,看不到上级目录.     例如,我要建立用户usertest,密码为usertest ...

  2. linux系统快速搭建ftp服务器——实现匿名用户和创建用户访问服务器

    一.准备工作: linux系统为CentOS Linux release 7.5.1804 (Core)  可以使用 lsb_release -a  命令查看 window系统中安装 SecureCR ...

  3. linux系统下创建oracle表空间和用户权限查询

    创建用户和表空间: 1.登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2.以sysdba方式来打开sqlplus,命令 ...

  4. Centos下安装FTP并进行虚拟用户访问方式配置

    1. 安装认证所需包 [root@localhost]#yum install pam* [root@localhost]#yum install db4* 首先安装PAM(用于用户认证)和DB4(用 ...

  5. 如何修改Linux系统下的PATH(如何添加自己的路径到PATH)

    修改Linux的PATH方法有三(添加用户的路径到PATH): 方法一: 直接在命令行中输入:#PATH=$PATH:/etc/apache/bin.这种方法只对当前会话有效,也就是说每当登出或注销系 ...

  6. Linux环境下添加ftp账号步骤

    (1)远程登录Linux服务器所用的工具,免费开源,可以从网站上很容易就下载到. (2)打开putty,输入服务器IP,进入后按提示进入用户名和密码输入超级管理员 root,然后系统让输入密码,注意此 ...

  7. Linux系统下搭建FTP/SFTP服务器

    传输文件经常使用ftp和sftp服务器.Windows下有多种可视化工具,使用快捷.Linux经常需要自行搭建这两种服务器,当然搭建熟练的话,会更加快捷. 1.检查Linux系统是否安装了vsftp和 ...

  8. linux环境下远程访问ftp

    sftp ftpuser@127.0.0.1 使用sftp命令 ftpuser是用户名 127.0.0.1是目标ip 亲测好使.

  9. 【django】本地开发media用户上传文件访问路径找不到

    当我们在本地开发的时候,会碰到static可以访问,但是用户上传的文件设置在media下不可访问怎么办?settings配置: 接着在你的urls文件添加: from . import setting ...

随机推荐

  1. 解决Visual Code安装中文插件失败问题

    早已听闻Visual Code的大名,今日一用,果然不同凡响. 只不过,我的常用开发环境是不联网的,需要离线安装Visual Code和扩展插件. 以前要安装插件只能从VsCode里装,想离线安装比较 ...

  2. IOS推流 搭建环境

    效果图 iTools有点卡, 但是推到服务器倒是很快的. 推流 前言 这篇blog是iOS视频直播初窥:<喵播APP>的一个补充. 因为之前传到github上的项目中没有集成视频的推流.有 ...

  3. Entity Framework5学习笔记

    主要 是学习DbContext http://zzk.cnblogs.com/s?w=DbContext&t=b

  4. 关于REST的一些想法

    REST and RESTful 最近入手了REST,谈谈自己的体会. 所谓REST, 我觉得是一种网址的设计风格.过去我们用Struts 或Spring MVC 时从来没有考虑过URL的设计风格.所 ...

  5. PCL中异常处理机制

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=287 本节我们主要讨论PCL在编写和应用过程中如何利用PCL的异常机制,提高 ...

  6. 1、scala安装和基本语法

    一.安装Scala 1.安装 因为Scala是基于Java虚拟机,也就是JVM的一门编程语言. 所有Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行. 所以Scala和Java是 ...

  7. PHP之递归函数

    https://www.cnsecer.com/4146.html http://www.jb51.net/article/71424.htm //一列数字的规则如下:1,1,2,3,5,8,13,2 ...

  8. static_cast、dynamic_cast、const_cast和reinterpret_cast总结

    转自:http://www.jellythink.com/archives/205 前言 这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中确实经常使用的. ...

  9. js 常用排序

    1. 冒泡排序 原理:从第一个元素开始,把当前元素和下一个索引元素进行比较.如果当前元素大,那么就交换位置,重复操作直到比较到最后一个元素 function bubbleSort(arr) { if ...

  10. 一、接口测试——HTTPRunner二次开发之参数化一

    目前项目中在使用开源框架HTTPRunner,时间使用过程中会用到生成随机信息的方法,如生成随机姓名.随机手机号.身份证号.姓名.地址等.以下对二次开发的过程进行简要描述. 一.需求 1.需要测试的接 ...