1、环境:redhat linux企业版4。ftp为vsftp。被限制用户名为aaa。被限制路径为/bbb。
2、建用户:在root用户下,相继进行如下操作
       adduser aaa     //增加用户aaa,useradd==adduser;
       userdel aaa     //删除用户aaa;
       passwd  aaa     //为aaa设置密码,先后输入两遍,在输入密码时屏幕没有显示,没关系,只要没输错就行;
    用户建完后,会在/home下生成/home/aaa的主目录。如果不想要默认的路径,可以在建用户时用命令指定:   adduser -d /bbb aaa
3、更改设置(可参阅:
http://linux.chinaitlab.com/administer/25524.html
):
    更改用户不能telnet,只能ftp:
       usermod -s /sbin/nologin aaa  //用户只能ftp,不能telnet
    usermod -s /sbin/bash aaa     //用户恢复正常
   更改用户主目录:
    usermod -d /bbb aaa           //把用户的主目录定为/bbb
4、限制用户只能访问/bbb,不能访问其他路径
   修改/etc/vsftpd/vsftpd.conf如下:
   chroot_list_enable=YES             //限制访问自身目录
   # (default follows)
   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list  //需要在相应路径下编辑 vsftpd.chroot_list文件,将受限制的用户列在其中
  重启vsftp:  /etc/init.d/vsftpd restart
5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限,可以
   usermod  -s /usr/bin/passwd aaa   //用户telnet后将直接进入改密界面
6、为用户做磁盘限额(以下引自
http://www.douzhe.com/docs/linux/RH9/rhl-cg-zh_CN-9/ch-disk-quotas.html
,未做验证)
    
============================================                   
实现磁盘配额 
    除了监视系统上使用的磁盘空间(请参阅
第 26.3.1 节
),你还可以通过实现磁盘配额来限制磁盘空间,因此当用户使用了过多的磁盘空间或分区将要充满时,系统管理员就会接到警告。 
    磁盘配额可以为个体用户配置也可以为用户组配置。这种灵活性既能够给每个用户分配一个较小的配额来处理“个人”文件(如电子邮件和报告),又允许了他们正 从事的项目能够拥有较大的配额(假定项目有自己的组群)。 
    除此以外,配额不仅能够被设置成对所用磁盘块数量的控制,还能够被设置成对内节点数量的控制。由于内节点包含文件相关的信息,对内节点的控制能够控制可被 创建的文件数量。 
要实现磁盘配额,quota RPM 必须在系统上被安装。 关于安装 RPM 软件包的详情,请参阅
第 V 部分
。 
6.1. 配置磁盘配额
要实现磁盘配额,请使用以下步骤:

  • 修改 /etc/fstab来启用每个文件系统的配额
  • 重新挂载文件系统
  • 创建配额文件,重新生成磁盘用量表
  • 分配配额
    以上步骤在下面各节中被详细讨论。 
    6.1.1. 启用配额
        以根用户身份使用你喜欢的编辑器来给需要配额的文件系统添加 usrquota 和(或)grpquota 选项:
    LABEL=/           /               ext3    defaults        1 1
    LABEL=/boot       /boot           ext3    defaults        1 2
    none              /dev/pts        devpts  gid=5,mode=620  0 0
    LABEL=/home       /home           ext3    defaults,usrquota,grpquota 1 2
    none              /proc           proc    defaults        0 0
    none              /dev/shm        tmpfs   defaults        0 0
    /dev/hda2         swap            swap    defaults        0 0
    /dev/cdrom        /mnt/cdrom      udf,iso9660 noauto,owner,kudzu,ro 0 0
    /dev/fd0          /mnt/floppy     auto    noauto,owner,kudzu 0 0
    在上面的例子中,/home 文件系统上启用了用户和组群配额。 
    6.1.2. 重新挂载文件系统
        添加了 userquota 和 grpquota 选项后,重新挂载每个相应 fstab 条目被修改的文件系统。如果某文件系统没有被任何进程使用,使用 umount 命令后再紧跟着 mount 命令来重新挂载这个文件系统。如果某文件系统正在被使用,要重新挂载该文件系统的最简捷方法是重新引导系统。 
    6.1.3. 创建配额文件
        重新挂载了每个启用了配额的文件系统后,系统现在就能够使用磁盘配额了。不过,文件系统本身尚且不能支持配额。下一步是运行 quotacheck 命令。 
        quotacheck 命令检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用来的表。该表会被用来更新操作系统的磁盘用量文件。此外,文件系统的磁盘配额文件也被 更新。 
        要在文件系统上创建配额文件(aquota.user 和 aquota.group),使用 quotacheck 命令的 -c 选项。例如,如果用户和组群配额都为 /home 分区启用了,在 /home 目录下创建这些文件: 
    quotacheck -acug /home
    -a 选项意味着在 /etc/mtab 中所有挂载了的非 NFS 文件系统都会被检查来决定是否启用了配额。
    -c 选项指定每个启用了配额的文件系统都应该创建配额文件,
    -u 选项指定检查用户配额,
    -g 选项指定检查组群配额。 
    如果 -u 或 -g 选项被指定,只有用户配额文件被创建。如果只指定了 -g 选项,只有组群配额文件会被创建。 
    文件被创建后,运行以下命令来生成每个启用了配额的文件系统的当前磁盘用量表: 
    quotacheck -avug
    所用选项如下: 
    • a — 检查所有启用了配额的在本地挂载的文件系统
    • v — 在检查配额过程中显示详细的状态信息
    • u — 检查用户磁盘配额信息
    • g — 检查组群磁盘配额信息

    quotacheck 运行完毕后,和启用配额(用户和/或组群)相应的配额文件中就会写入用于每个启用了配额的文件系统(如 /home)的数据。 
    6.1.4. 为每用户分配配额
    最后一步是使用 edquota 命令分配磁盘配额。 
    要为用户配置配额,以根用户身份在 shell 提示下执行以下命令: 
    edquota username
        为每个你想实现配额的用户执行该步骤。例如,如果在 /etc/fstab 中为 /home 分区(/dev/hda3)启用了配额,执行了 edquota testuser 命令后,系统默认的编辑器中就会有如下显示: 
    Disk quotas for user testuser (uid 501):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/hda3                    440436          0          0      37418        0        0

    注记

    edquota 使用 EDITOR 环境变量所定义的文本编辑器。要改变这个编辑器,把 EDITOR 环境变量设置为到你选中的编辑器的完整路径。 
        第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数。随后的两列用来设置用户在该文件系统上的软硬块限度。inodes 列显示了用户当前使用的内节点数量。最后两列用来设置用户在该文件系统上的软硬内节点限度。 
        硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。 
        软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为过渡期(grace period)。 过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。 
        如果以上值中的任何一个被设置为 0,那个限度就不会被设置。在文本编辑器中,改变想要的限度。如:, 
    Disk quotas for user testuser (uid 501):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/hda3                    440436     500000     550000     37418        0        0
    要校验用户的配额是否被设置,使用以下命令: 
    quota testuser
    6.1.5. 为每组群分配配额
    配额还可以根据组群来分配。例如,要为 devel 组群设置组群配额,使用以下命令(在设置组群配额前,该组群必须存在): 
    edquota -g devel
    以上命令在文本编辑器中显示现存的组群配额: 
    Disk quotas for group devel (gid 505):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/hda3                    440400          0          0      37418        0        0
    修改限度,保存文件,然后配置配额。 
    要校验组群配额是否被设置,使用以下命令: 
    quota -g devel
    6.1.6. 为每文件系统分配配额
    要根据每个启用了组群的文件系统来分配配额,使用以下命令: 
    edquota -t
    和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额: 
    Grace period before enforcing soft limits for users:
    Time units may be: days, hours, minutes, or seconds
      Filesystem             Block grace period     Inode grace period
      /dev/hda3                     7days                  7days
    改变块过渡期或内节点过渡期,保存对文件的改变,然后退出文本编辑器。

在linux中限制用户ftp访问权限的更多相关文章

  1. Oracle中注意用户的访问权限

    新增表.序列.存储过程等,要注意用户(例如System)的权限.如果在增删改查过程中出现数据库读写权限的报错,则在建表(或者序列.存储过程等)时,在脚本前面加 GRANT CREATE TABLE T ...

  2. Linux中普通用户配置sudo权限(带密或免密)

    配置步骤如下: 1.登陆或切换到root用户下: 2.添加sudo文件的写权限,命令是:chmod u+w /etc/sudoers 3.编辑sudoers文件:vi /etc/sudoers 找到这 ...

  3. linux 中更改用户权限和用户组的命令chmod,chgrp实例

    linux 中更改用户权限和用户组的命令实例; 增加权限给当前用户 chmod +wx filename chmod -R 777 /upload 用户组 chgrp -R foldname zdz ...

  4. Linux之acl库的安装与使用(限制Linux某用户的访问权限)

    acl库 作用:限制Linux某用户的访问权限 acl库的安装 首先github中下载acl代码: git clone https://github.com/acl-dev/acl 进入acl, 执行 ...

  5. linux中的用户、群组和权限

     linux中的用户.群组和权限   新建用户natasha,uid为1000,gid为555,备注信息为“master”   groupadd -g 555 natasha useradd -u 1 ...

  6. CentOS Linux SVN服务器 配置用户目录访问 权限 Authorization failed

    SVN 修改 aurhz 文件设置用户目录访问权限格式: [/code] user=rw user 用户对code目录拥有读和写的权限. 但是访问 svn://192.168.1.59 的时候却提示A ...

  7. 在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  8. Linux中搭建一个ftp服务器详解

    来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种 ...

  9. Android中的安全与访问权限控制

    Android是一个多进程系统,在这个系统中,应用程序(或者系统的部分)会在自己的进程中运行.系统和应用之间的安全性是通过Linux的facilities(工具,功能)在进程级别来强制实现的,比如会给 ...

随机推荐

  1. Tsinghua dsa mooc pa1

    第一题Range 关键:二分查找,查找不大于一个数的最大下标. #include <cstdlib> #include <cstdio> 4 int compare (cons ...

  2. 自动工作负载库(Automatic Workload Repository,AWR)

    自动工作负载库(Automatic Workload Repository,AWR)AWR的由来:    10g之前的oracle:用户的连接将产生会话,当前会话记录保存在v$session中:处于等 ...

  3. 绿色mysql启动脚本

    启动脚本如下:./mysqld_safe --defaults-file=/export/servers/mysql-5.5.38/my.cnf --ledir=/export/servers/mys ...

  4. C#整理6——数组的应用

    数组的应用:(一).冒泡排序.1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数.2.趟数=n-1:次数=n-趟数.3.里层循环使用if比较相临的两个数的大小,进行数值交换. 作业:1. ...

  5. SQL语句优化(转摘)

    (1) 选择最有效率的表名顺序(只在基于规则的seo/' target='_blank'>优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最 ...

  6. blog开篇

    本来是写java学习开篇的,现在就把它改为博客开篇吧. 其实一直都想着记录一下自己学习的过程,或者说是借口,一直在忙,也从重庆辗转到广州,又从广州辗转到天津了,又一个新阶段开始了,猴年马月都到了,哈哈 ...

  7. Permutations,Permutations II,Combinations

    这是使用DFS来解数组类题的典型题目,像求子集,和为sum的k个数也是一个类型 解题步骤: 1:有哪些起点,例如,数组中的每个元素都有可能作为起点,那么用个for循环就可以了. 2:是否允许重复组合 ...

  8. Android 动画小知识点

    <?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="h ...

  9. 判断用户是pc访问还是手机访问

    前天因为手机页面中点击无法链接53客服,就研究了下怎样通过js判断,用户是拿手机(ipad)访问,还是pc端访问, 如果是手机访问的话只需把链接通过attr修改a的链接地址~ <a class= ...

  10. Linux--正则表达式--详解

    一.linux文本查找命令 在说linux正规表达式之前,还介绍下linux中查找文本文件常用的三个命令: 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本 ...