Fedora下用户/用户组管理(三)

2478阅读 0评论2012-02-01 校长的马夹
分类:

主要内容:
     1、用户管理(增、删、改;口令);
     2、用户组管理(增、删、改);
     3、用户/组相关配置文件;
     4、其它;
 
三、用户、组配置文件
   用户账户与组的配置均基于配置文件。例如,用户的账号信息保存在/etc/passwd中,当一个用户登陆时,linux首先查找/etc/passwd文件,查看该账号是否存在。不存在则退出;如果存在,则会获取用户的ID、用户组ID、根目录、SHELL,然后核对/etc/shadow,判断用户ID对应的密码是否正确,密码正确可以成功登陆到设定shell,否则退出。
     3.1、/etc/passwd
      查看passwd文件内容如下(less /etc/passwd,仅列出部分):
  1. root:x:0:0:root:/root:/bin/bash                        ---超级用户账号
  2. bin:x:1:1:bin:/bin:/sbin/nologin
  3. daemon:x:2:2:daemon:/sbin:/sbin/nologin
  4. .................
  5. gdm:x:42:42::/var/gdm:/sbin/nologin
  6. admin:x:500:500:admin:/home/admin:/bin/bash              ---上文中添加的用户
  7. named:x:25:25:Named:/var/named:/sbin/nologin
  8. hello:x:501:500::/home/hello:/bin/bash                   ---上文中添加的用户
  9. gpadminuser:x:502:502::/home/gpadminuser:/bin/bash       ---上文中添加的用户
  10. normaluserA:x:503:503::/home/normaluserA:/bin/bash       ---上文中添加的用户
  11. normaluserB:x:504:504::/home/normaluserB:/bin/bash       ---上文中添加的用户
  12. ccb:x:505:509::/home/ccb:/bin/bash                       
该文件中内容格式如下,各个字段以分号分开:
Login ID Password User ID Group ID Comment Home directory Default shell
用户名如admin x 或空 500 500 admin /home/admin /bin/bash
 
 
 Login ID   :用户名,即用户登陆的账号名。如超级用户root,本人添加的用户:admin、hello、normaluserA、ccb等;
 Password   :用户密码,由于fedora中用户的密码在/etc/shadow中保存,这里仅显示为‘x’,没有密码显示为空;
 User ID    :与用户名对应的一个ID,通常情况:1-500为系统预留,500以上为普通用户使用;
 Group ID   :与用户组对应,即用户组ID,见/etc/group;
 Comment    :用户名注释性内容,通常为用户全名,也是useradd命令中的options:-c指定;
 Home directory :用户的根目录。root根目录默认为/root,普通用户:/home/userid;
 Default Shell:用户的登陆shell;
另外:登陆用户通常具备访问用户和用户组文件权限,即:/etc/passwd,/etc/group 权限;
但对于用户与组密码文件没有访问权限,仅根目录可以访问,即:/etc/shadow,/etc/gshadow。见下图:
 
  1. [root@localhost ~]# ll /etc/group /etc/passwd /etc/shadow /etc/gshadow
  2. -rw-r--r-- 1 root root 818 2012-02-01 00:17 /etc/group
  3. -r-------- 1 root root 805 2012-02-01 00:17 /etc/gshadow
  4. -rw-r--r-- 1 root root 1863 2012-02-01 00:17 /etc/passwd
  5. -r-------- 1 root root 1268 2012-02-01 00:17 /etc/shadow
  6. [root@localhost ~]#
另、文件中同时存在另一类用户,该用户没有登录shell,仅为进程访问相应文件设置。 
 
3.2、/etc/shadow
      查看shadow文件内容如下(less /etc/shadow,仅列出部分):
 
  1. root:$1$fzI8UKH6$33Cke1mEGQ.GdQmHFg5A21:15351:0:99999:7:::
  2. bin:*:15235:0:99999:7:::
  3. daemon:*:15235:0:99999:7:::
  4. adm:*:15235:0:99999:7:::
  5. ...........
  6. gdm:!!:15235:0:99999:7:::
  7. admin:$1$1k5R5HD.$7NRu4.ylOvZHZo/Ii5DFr/:15235:0:99999:7:::
  8. named:!!:15321::::::
  9. hello:$1$I9J0jnRS$FNBd7.BvnBX2j9zpttWYK.:15368:0:99999:7:::
  10. gpadminuser:$1$mMEVkNVZ$zWs9esFH.xJUsljenqhJE0:15370:0:99999:7:::
  11. normaluserA:!!:15370:0:99999:7:::
  12. normaluserB:!!:15370:0:99999:7:::
  13. ccb:!!:15370:0:99999:7:::
 
该文件中内容格式如下,各个字段以分号分开:
 

username

password

last_change

min_change

max_change

warm

failed_expire

expiration

admin

$1$1k5R5HD.$7NRu4.ylOvZHZo/Ii5DFr/

15235

0

999999

7

 

 

Username:用户名(上表中admin);

Password:加密后的登陆密码,*标识用户不能登陆,!标识该用户被锁定;

Last_change:密码最近一次被修改的时间;

Min_change:两次密码修改的最小间隔时间(修改间隔不限制);

Max_change:最大间隔(99999密码不用修改);

Warn:密码过期前向用户发送告警的提前天数(7天);

Failed_expire:账号失效时间,即账号到达指定时间人没有更改密码,则账号失效;

Expiration:账号销毁时间;

 
3.2、/etc/group
      查看group文件内容如下(less /etc/group,仅列出部分):
  1. root:x:0:root
  2. bin:x:1:root,bin,daemon
  3. daemon:x:2:root,bin,daemon
  4. .........
  5. gdm:x:42:
  6. admin:x:500:
  7. named:x:25:
  8. wbpriv:x:88:
  9. test:x:505:
  10. moo:x:506:hello
  11. normalgroup:x:507:
  12. gpadminuser:x:502:normaluserA,normaluserB
  13. normaluserA:x:503:
  14. normaluserB:x:504:
  15. gptest:x:508:normaluserB,admin
  16. ccb:x:509:

该文件中内容格式如下,各个字段以分号分开:

Group

Password

Group ID

User

 gptest

 x

 508

 admin

Group :用户组名称;

Password:用户组密码,实际group密码保存在/etc/gshadow;

Group ID: 用户组ID;

User:用户组内的用户,以逗号分割;

 

3.4、/etc/gshadow

 查看group文件内容如下(less /etc/gshadow,仅列出部分):

  1. root:::root
  2. bin:::root,bin,daemon
  3. daemon:::root,bin,daemon
  4. sys:::root,bin,adm
  5. adm:::root,adm,daemon
  6. ..........
  7. gdm:x::
  8. admin:$1$917/6Wi7$5bFDkBEEddW0OIbIUjb6N1::
  9. named:!::
  10. wbpriv:!::
  11. test:!::
  12. moo:!:admin:hello
  13. normalgroup:!::
  14. gpadminuser:$1$Cwj05A08$UXdrysgkCADamRmx/Q1Xz/:gpadminuser:normaluserA,normaluserB
  15. normaluserA:!::
  16. normaluserB:!::
  17. gptest::ccb:normaluserB,admin
  18. ccb:!::
  19. (END)

文件中的内容如下格式:

Group

Password

Administrator

User

 

 

 

 

Group :用户组名称;

Password:加密后的用户组密码,某用户的附属群组为该群组,如果想通过newgrp切换到该附属组,则需要提供改密码(当然,这里是加过密的),可以为空(通过gpasswd -r删除密码的情况),或者!(通常是创建群组后没有设定密码);

Administrator:用户组管理员列表,用逗号间隔。组管理员可以管理用户组成员添加删除等权限;

User:用户组内的用户,以逗号分割;
---------------------------------------------------------------------------------

注意:
     1、一个普通的用户例如:userA,不属于用户组GroupB,且该用户组设定了组密码,如果用户userA想切换到用户组
GroupB,则可以通过newgrp命令用用户组密码切换用户组ID;
     2、一个用户组GroupA(无论是否设置了用户组密码),该用户组内的用户均可以直接通过newgrp切换用户组,不需要提供密码;
     3、一个用户组GroupC,如果没有设置用户组密码,则不允许非本用户组内的用户通过newgrp命令切换到用户组GroupC(包括其用户组管理员);
     4、一个用户Other仅有一个主用户组GrouptOther,且该用户是用户组GroupA的用户组管理员且该用户组设置了密码,则Other用户除了可以操作GroupA成员外(增删),该用户(Other)切换到用户组GroupA仍然需要提供密码(同上述1,即用户组的管理员也不例外哦);
     

 

 
 
 
上一篇:关于AIX 系统空间的监控
下一篇:Share:MSDN Hook专题