RedHat Linux用户管理经验点滴

RedHat Linux是众多Linux发行版本中较流行的一个。这里结合笔者的使用经验谈谈在RedHat Linux下的用户管理。笔者使用的是RedHat 5.1发行版,核心版本2.2.11,如不作特别说明,下面的操作都是在root 账户下完成的。

为普通用户和用户组加入磁盘配额限制

Linux的quota程序允许为系统上每一用户或用户组指定所能使用的磁盘配额。目前quota仅能工作在ext2类型的文件系统上。使用quota需要确定以下两点:

1当前的系统核心支持quota。

2系统已正确安装quota程序包。

如果你当前的系统核心不支持quota,请重新编译你的核心,当系统提示:

Quota support(CONFIG—QUOTA)[n]

回答y ,生成新的系统核心。

如果没有quota程序包,请到以下地址下载quota的源程序并编译之。

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz

一般Linux的发行版本的核心都缺省包含了quota支持,也附带了quota 程序包,只需安装quota 并加以设置便可让quota工作。

quota的具体设置步骤:

1.编辑系统初始脚本(RedHat是/etc/rc.d/rc.sysinit,别的发行版可能有所不同)让它检查quota并激活quota。

# Check quota and then turn quota on.

if [ -x /usr/sbin/quotacheck ]

then

echo ″Checking quotas. This may take some time.″

/usr/sbin/quotacheck -avug

echo ″Done.″

fi

if [ -x /usr/sbin/quotaon ]

then

echo ″Turning on quota.″

/usr/sbin/quotaon -avug

fi

在RedHat 5.1版的/etc/rc.d/rc.sysinit文件中已包含了以上语句,请检查你自己的系统初始脚本文件,没有就加上。注意必须让其在/etc/fstab。

2.编辑 /etc/fstab。你的 /etc/fstab 文件可能会是这样的:

/dev/hda1 / ext2 defaults 1 1

/dev/hda2 /home ext2 defaults 1 1

选择用户所在分区所在行的第四个域,为用户加入 quota支持,如下:

/dev/hda1 / ext2 defaults 1 1

/dev/hda2 /home ext2 defaults,usrquota 1 1

如为用户组加入quota支持,可将usrquota替换为grpquota。

如两者兼而有之,可将这两项一并写入,如下:

/dev/hda1 / ext2 defaults 1 1

/dev/hda2 /home ext2 defaults,usrquota,grpquota 1 1

3.建立quota记录文件quota.user和quota.group。进入用户所在分区根目录,如上例中打入cd /home即可,按下面命令建立文件:

touch quota.user

touch quota.group

chmod 600 quota.user quota.group

完成上面几步以后,重新启动计算机以使设置生效。

4.为用户或用户组设置磁盘配额限制。假设在你的系统上有一名为bob 的用户,现在想给他10MB的硬盘配额限制,他所拥有的最大文件数不得超过100个。执行edquota -u dquo,系统将进入编辑环境(具体编辑环境视editor变量设置而定),将如下三行:

Quotas for user bob:

/dev/hda2: blocks in use: 14, limits (soft=0, hard=0)

inodes in use: 12, limits (soft=0, hard=0)

改为:

Quotas for user bob:

/dev/hda2: blocks in use: 14, limits (soft=0, hard=10240)

inodes in use: 12, limits (soft=0, hard=100)

其中:

blocks in use:用户已使用块的大小,单位是kB。

inodes in use:用户现有文件的大小。

这两项都是系统自动给出,不必改动。

软限制(soft limits)

通常设置软限制为一接近硬限制的值,超越此限制时,系统将警告用户将到达最大磁盘配额限制。软限制为0 时没有软限制。结合宽限期使用时,只要用户超越了软限制,一过宽限期,任何对磁盘空间的额外需求将被立即拒绝。

硬限制(hard limits)

磁盘配额的绝对限制,设置了quota的用户不能超越此限制。

宽限期(Grace Period)

宽限期是用户超越了软限制而没有到达硬限制时的一段放宽期,在这段时间内,用户可以在硬限制范围内自由地使用磁盘空间,超过这段时间,所有对磁盘空间的额外需求将被拒绝,即使用户还在硬限制之内。宽限期的单位可以是秒、分、时、天。执行edquota -t命令设置宽限期。执行该命令后,将系统提示中的两个0 days 改成你认为合适的值即可。

有时想给一批用户加上同样的限制,比方说,给系统上所有100个用户加上与bob同样的限制,可手工先给bob加上限制,然后执行下面命令:

edquota -p bob ′awk -F: ′$3 > 499 {print $1}′/etc/passwd′

给用户组设置磁盘配额限制与普通用户类似,假设有一用户组game,执行 edquota -g game即可。

控制用户的登录地点

文件/etc/secruity/access.conf可控制用户登录地点,为了使用access.conf,必须在文件/etc/pam.d/login中加入下面行:

account required /lib/security/pam—access.so

access.conf文件的格式:

permission : users : origins

其中:

permission:可以是 “+”或“-”,表示允许或拒绝。

user:可以是用户名、用户组名,如果是all则表示所有用户。

origins:登录地点。local表示本地,all表示所有地点,console表示控制台。另外,origins也可以是某一网络。

后面两个域中加上 except是“除了”的意思。例如:除了用户wheel、shutdown、sync禁止所有的控制台登录:

-:ALL EXCEPT wheel shutdown sync:console

root账户的登录地点不在access.conf文件中控制,而是由/etc/securetty文件控制,具体作法一看便知。

限制用户每次所发邮件大小

Linux系统使用sendmail发送邮件,配置文件是/etc/sendmail.cf,缺省使用TCP/IP协议。我们的Linux机器上往往会有多个用户同时工作,或者干脆就用它作邮件服务器,在同一时刻,系统可能要收发很多邮件,因此不能让某一用户过多地占用sendmail的时间。sendmail的缺省配置对每次收发邮件的大小没有限制,更改配置文件/etc/sendmail.cf,找到O MaxMessageSize,去掉行首的#号,并将其后的数值改为一合适的数值,单位为字节。如:

O MaxMessageSize = 1048576

意为每次收发邮件最大为1MB,任何超过这个值的邮件将被拒绝。

(0)

相关推荐

  • RedHat Linux用户管理经验点滴

    RedHat Linux是众多Linux发行版本中较流行的一个.这里结合笔者的使用经验谈谈在RedHat Linux下的用户管理.笔者使用的是RedHat 5.1发行版,核心版本2.2.11,如不作特别说明,下面的操作都是在root 账户下完成的. 为普通用户和用户组加入磁盘配额限制 Linux的quota程序允许为系统上每一用户或用户组指定所能使用的磁盘配额.目前quota仅能工作在ext2类型的文件系统上.使用quota需要确定以下两点: 1当前的系统核心支持quota. 2系统已正确安

  • Linux用户磁盘配额设置方法

    一:内核中支持QUOTA: [root@localhost /]# grep CONFIG_QUOTA /boot/config-3.10.0-123.el7.x86_64 CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_TREE=y CONFIG_QUOTACTL=y CONFIG_QUOTACTL_COMPAT=y 如果有上列输出,则表示当前内核已经支持q

  • RedHat linux 8.0下内核编译步骤和说明

    ************************************************************************以下步骤有很多都是很初级的命令或解释,因为偶是linux新手,*在编译过程中走了很多弯路,花了大量时间找各种解决办法,所以*把相应的命令都写了出来,希望对跟偶一样的才入门不久而又想*编译内核的新手有所帮助!** kilvon 05-Mar-2003******************************************************

  • Linux用户在第一次登录时强制更改初始密码

    下面介绍如何迫使用户在下一次登录时更改其密码. Linux下的每个用户帐户都与和密码相关的各个配置和信息关联起来.比如说,它记得上一次密码更改的日期.密码更改间隔的最少/最多天数以及何时让当前密码到期失效,等等. 一种名为chage的命令行工具可以访问和调整与密码到期失效有关的配置.你可以使用该工具,迫使任何用户在下一次登录时更改密码. 想查看某一个用户(比如alice)的密码到期失效信息,运行下面这个命令.请注意:只有在你检查你自己之外的其他任何用户的密码有效期信息时,才需要根用户权限. $

  • Linux用户配置sudo权限(visudo)的方法

    sudo的工作过程如下: 1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 3,若密码输入成功,则开始执行sudo后续的命令 4,root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则) 5,若欲切换的身份与执行者的身份相同,也不需要输入密码 visudo使用vi打开/etc/sudoers文件,但是在保存退出时,

  • Linux用户与最小权限原则解析

    Linux的用户在登录(login)之后,就带有一个用户身份(user ID, UID)和一个组身份(group ID, GID).在Linux文件管理背景知识中,我们又看到,每个文件又有九位的权限说明,用来指明该文件允许哪些用户执行哪些操作(读.写或者执行). (参考Linux文件管理背景知识) 一般来说,Linux的用户信息保存在/etc/passwd中,组信息保存在/etc/group中,文件的每一行代表一个用户/组.早期的Linux将密码以名码的形式保存在/etc/passwd中,而现在

  • 使用userdel命令删除Linux用户的教程详解

    serdel是什么 userdel 是一个底层用于删除用户的工具.在 Debian 上,我们通常会使用 deluser 命令.userdel 会查询系统账户文件,例如 /etc/password 和 /etc/group.那么它会删除所有和用户名相关的条目.在我们删除它之前,用户名必须存在. 如何使用userdel 由于 userdel 会修改系统账户文件,那么我们需要root特权来运行它.不然我们会遇到一个报错信息"只有root权限才能执行这项操作"或者类似的信息.在我们得到特权后,

  • Node.js命令行/批处理中如何更改Linux用户密码浅析

    前言 本文主要介绍了Node.js命令行/批处理更改Linux用户密码的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 hpasswd 可在批处理文件中批量更改Linux用户的密码. 用法: chpasswd [options] option主要为一些密码加密选项 -c, --crypt-method Use the specified method to encrypt the passwords. The available methods are DES, MD5

  • 详解Linux用户态与内核态通信的几种方式

    Linux 用户态和内核态由于 CPU 权限的限制,通信并不像想象中的使用进程间通信方式那么简单,今天这篇文章就来看看 Linux 用户态和内核态究竟有哪些通信方式. 我们平常在写代码时,一般是在用户空间,通过系统调用函数来访问内核空间,这是最常用的一种用户态和内核态通信的方式.(关于 Linux 用户态和内核态可以参考 xx) 除此之外,还有以下四种方式: procfs(/proc) sysctl(/proc/sys) sysfs(/sys) netlink 套接口 procfs(/proc)

  • 在VMware上创建虚拟机及安装Redhat Linux操作系统(图文教程)

    在VMware上如何创建虚拟机以及安装Redhat Linux操作系统创建虚拟机(本人使用的是VMware pro 15) ( 1)点击Create a New Virtual Machine (2)选择自定义,然后点击next (3)出现以下界面,不做任何修改,点击next (4)选择稍后安装操作系统(s),点击next (5)客户机操作系统选择Linux,版本选择Red Hat Enterprise Linux 7 64-bit(可根据自己的实际镜像文件版本选择适合的版本),然后点击next

随机推荐