Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92594
  • 博文数量: 7
  • 博客积分: 1436
  • 博客等级: 上尉
  • 技术积分: 184
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-19 10:42
文章存档

2010年(1)

2009年(6)

我的朋友

分类: LINUX

2009-03-26 23:54:27

RHEL 5中,用户和组的管理(针对本地账号,域账号以后会提到)
 
1.用户账号的分类
  用户账号(UID)  群组账号(GID)
 (1)按照账号的位置分:  本地用户(Local Account)  域用户(Domain Account)
 (2)按照权限分:   用户账号,包括root,Not-root user。细分的话,Non-root user 又可以分为普通系统用户和程序用户(因特定的程序系统创建的)。
                   群组账号,包含root组, 用户自定义组,系统组
  其中要注意的是,root的UID以及GID都为0,而普通用户的UID,及用户自定义组GID都是大于等于500的,系统创建的用户ID及其组ID是介于0和500之间.
 
2.用户的账号所包含的信息
  本机的账号所保存的文件为/etc/passwd,示例如下:
  /etc/passwd这个文件的格式正如下面所示
  username:password:uid:gid:comment:homedir:shell
  username代表 特定的用户名称
  password代表 经过加密用户的密码数据(现一般将密码转移至/etc/shadow中保存了)
  uid代表 用户的ID号
  gid代表 用户所属的组ID号
  comment 可用来存放用户的注解信息,包括全名,地址,电话等信息,如果有空格,则必须使用双引号。
  homedir 用户登录后所要进入的home目录,必须以绝对路径指出,如果不指定,则用户登录后,暂以/目录为用户的home目录。
  shell 指出用户的登录shell,必须以完整路径给出,可在此处给出任何可执行程序。
 
3.组账号的内容
  所存放的文件为/etc/group,
格式如下:
  groupname:grouppassword:gid:members
其中members处存储着所有组成员的列表,中间以逗号分隔。其余选项与用户信息相似。
 
4.用户的管理
  手动增加和删除账户: 我们不推荐这样做,但在一些场合可能会用到,所以提一下。
  其实只要对/etc/passwd, /etc/group, /etc/shadow进行操作,就可以实现添加和删除用户的功能,但有时可能需要一个模板文件的支持更为便捷,即/etc/skel.
 我们推荐使用shadow工具进行这些操作:

 操作

 用户

 组

增加

useradd

groupadd

设置密码

passwd 

gpasswd

修改

      usermod     

groupmod

移除

userdel 

groupdel

 
                                     
                                     
 
useradd -u UID -g GROUP -G GROUPS -d HOME -s SHELL  -c COMMENT -p PASSWORD
        -m 建立主目录 -M 不建立主目录 没有这两个参数时,rhel默认建立用户目录
        -n 取消创建用户私有组
        -r 创建一个系统用户
 如果以上参数不指定,则系统为根据/etc/login.defs以及/etc/defaults/useradd中的定义创建默认账号,即:用户的邮箱位置为/var/spool/mail/USERNAME,新建立的用户ID为500以上,默认使用最后一个可用的ID,并自动创建用户的主目录。
 
usermod工具用来修改用户的信息,很多的参数与useradd这个命令的参数一样,下面仅列出部分有区别的参数:
        -l NEWNAME   修改账户的名称 ,后面跟上新账号名
        -L USERNAME  指定账户锁定,用户将不能登录到系统
        -U USERNAME  给锁定的账户解除锁定
 
userdel用来删除一个账户,只有一个-r的参数,用于指定是否删除用户所有的数据,这个工具请仔细使用,如果一个用户的文件没有用处了,但移除账户时没有移除文件,则可能会引发权限问题,因为LINUX是根据UID、GID等来确定权限,并非用户名,如果移除的这个账户是最后一个可用的ID,则新建用户会使用这个空白的ID,那么原先未移除的文件都将成为新加用户的文件。这是很多场合不愿看到的情景。
 
还有一个修改用户密码的口令,passwd,它用于修改用户的口令,并可使用以下参数,完成其他一些附加功能:           
            -d    删除密码,一旦使用这个参数,则指定的用户不需要密码就可能进入系统,
                  并且会清空/etc/passwd及/etc/shadow里面的密码项。
            -l    锁定用户账号,此工具只可以被root用户使用
            -S    用于查看指定用户的状态  也是只被root用户使用
            --stdin   密码从标准输入即键盘进行读入文本,再经passwd命令加密后成为密码
 
在日常的生产环境中,出于对信息安全管理的考虑,我们通常还会考虑用户账户及密码的有效期问题,linux这样一个注重系统安全的系统,更是有一些简单并且有用的管理工具,在这里仅介绍命令行工具的使用,相信图形界面的管理应该很容易就知道了。
我们使用chage命令来管理用户账号及密码有效期问题。
chage      
          -l  查看用户与密码的有效期限等信息
          -m  设置密码修改的最小天数
          -M  设置密码修改的最大天数
          -d  指定密码最后修改的日期
          -i  设置密码过期几天后,锁定用户账户
          -E  设置密码的过期日期 0 代表立即过期  -1代表永不过期
          -W  设置密码将要过期,提前多少天提醒,并发出警告信息
5.组账号也提供了类似的管理工具
 groupadd命令用于增加一个组  -g 指定一个组的标识符,即GID
                           -r 将这个新加组指定为系统组
                           -f 强制执行,一般用于增加一个同GID的组时使用这个参数
 
 groupmod命令用于修改维护组的信息    -g 修改组的GID
                                  -n NEWNAME 重命名组。
 groupdel命令用于删除一个组
 
 和用户管理一样,组也可以更改密码,使用gpasswd,但要注意的是它的两个参数,所代表的意义可能与传统意义不一样:
            -r    移除组密码
            -G    锁定组密码
 如果不指定参数,默认用于更改组的密码。
RHEL 5中允许一般用户来管理组中的成员,但先要让它成为这个组的管理员,以往只有root用户才有这样的权限,但gpasswd命令可以实现这样一个功能。
            gpasswd -A USER[,USER01...] GROUP
  可以一次为一个组增加多个管理员,可以用“,”分开。这样子,用户就可以以这个组的管理员身份来管理这个组,而无须使用root权限。
              -a USER  GROUP 参数可以用于添加组管理员到一个组中
              -d USER  GROUP 参数可以用于从一个指定组中删除一个指定的组管理员
6.真正的生产环境中,还会遇到一些关于用户信息及安全管理的问题,我们也常会用到下面这个比较重要的管理工具,即chage,它通常用来设定用户的密码安全策略。
  语法  chage [参数]用户名
               -l  用于查看指定用户的密码安全策略设置信息
               -m  用于设置用户最少在几天以后可以更改自己的密码 (后接天数)
               -M  用于设置用户最少在几天以内修改密码,即密码可以这指定天数内有效(后接天数)
               -d  用于修必用户最后修改密码的日期
               -I  用于指定密码过期后,锁定密码的天数
               -E  用于指定用户密码的过期日期,为0表示立即过期,为-1则表示永远不过期
                   这个选项 通常后接yyyy/mm/dd的格式,也可接从1970年1月1日开始的天数,但相信我们不愿意选择后者
               -W  用于指定密码过期前开始发出警告信息的天数
              
example:
     
 
  我们可以看到密码的最小有效期限已经设置为1天,也就是说,student1如果想修改自己的密码,至少在一天以后才能执行操作,以下是我切换到用户student1执行修必密码操作的示范:
可以从上面看出,提示student1至少等待一段时间才能更改密码
 
以上的内容是本人结合自己的学习笔记整理的,如有不妥之处,请一定赐教。
 
阅读(2976) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:RHEL5实现笔记本电脑触摸板开关功能

给主人留下些什么吧!~~