用户和用户管理

Posted on 2015-11-23 23:36  Y-HKL  阅读(174)  评论(0编辑  收藏  举报

用户配置文件

1.用户管理简介

  1.1越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范

  1.2在linux中主要是通过用户配置文件来查看和修改用户信息

2. 用户信息文件/etc/passwd

  2.1第一字段:用户名

  2.2第二字段:密码标志

  2.3第三字段:UID(用户ID)

    0:      超级用户

    1-499      系统用户(伪用户)

    500-65535   普通用户

  2.4第四字段:GID(用户初始组ID)

      初始组合附加组

      初始组:就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只      能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组

      附加组:指用户可以加入多个其他的用户组,缤纷拥有这些组的权限,附加组可以有      多个

  2.5第五字段:用户说明

  2.6第六字段:家目录

    普通用户:/home/用户名/

    超级用户:/root/

  2.7第七字段:登录之后的Shell

      Shell是什么

      Shell就是linux的命令解释器

      在/etc/passwd当中,除了标准Shell是/bin/bash/之外,还可以写如下/sbin        /nologin

3.影子文件/etc/shadow

  3.1第一字段:用户名

  3.2第二字段:加密密码

    如果密码位是!!或*代表没有密码,不能登录

  3.3第三字段:密码最后一次修改日期

    3.3.1使用1970年1月1日作为标准时间,每过一天时间戳加1

    3.3.2时间戳的换算

      把时间戳换算为日期

      date -d "1970-01-01  16740 days"

      

      把时间换算成时间戳

      echo $(($date --date="2015/11/23" +%s)/86400+1)

  3.4第四字段:两次密码的修改时间间隔(和第三字段相比)

  3.5第五字段:密码有效期(和第三字段相比)

  3.6第六字段:密码修改到期的警告天数(和第五字段相比)

  3.7第七字段:密码过期后的宽限天数(和第五字段相比)

  3.8第八字段:账号失效时间

        要用时间戳表示

  3.9第九字段:保留

  

4.组信息文件/etc/group

  4.1第一字段:组名

  4.2第二字段:组密码标志

  4.3第三字段:GID

  4.4第四字段:组中附加用户

 

5.组密码文件/etc/gshadow

  5.1第一字段:组名

  5.2第二字段:组密码

  5.3第三字段:组管理员用户名

  5.4第四字段:组中附加用户

用户管理相关文件

1.用户的家目录

  普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700

 

  超级用户:/root/,所有者和所属组都是root用户,权限是750

2.用户邮箱

/var/spool/mail/用户名/

3.用户模板目录

/etc/skel/       

用户管理命令

1.用户添加命令useradd

  语法:

  useradd [选项] 用户名

  选项:

  -u  UID:           手工指定用户的UID号

  -d  家目录         手工指定用户的家目录

  -c  用户说明       手工指定用户的说明

  -g  组名            手工指定用户的初始化

  -G  组名            手工指定用户的附加组

     -s shell             手工指定用户的登录shell。默认是/bin/bash

2.修改用户密码passwd

    语法:passwd [选项] 用户名

    选项:

    -S    查询用户密码的密码状态。仅root用户可用

    -l     暂时锁定用户。仅root用户可用

    -u    解锁用户。仅root用户可用

    --stdin        可以通过管道符输出的数据作为用户的密码

3.修改用户信息usermod

  语法:usermod [选项] 用户名

  选项:

    -u UID:      修改用户的UID号

    -c用户说明             修改用户的说明信息

    -G组名                 修改用户的附加组

    -L                        临时锁定用户(Lock)

    -U                        解锁用户锁定(Unlock)

  修改用户密码状态chage

  语法:chage [选项] 用户名

  选项:

    -l      列出用户的详细密码状态

    -d日期          修改密码最后一次更改日期(shadow3字段)

    -m天数         两次修改密码的间隔(4字段)

    -M天数          密码有效期(5字段)

    -W天数         密码过期前警告天数(6字段)

    -I天数           密码过后宽限天数(7字段)

    -E日期          账号失效时间(8字段)

 

4.删除用户userdel

  语法:userdel [-r] 用户名

    -r   删除用户的同时删除用户的家目录

  用户切换命令su

  语法:su [选项] 用户名

  选项:

    - :      选项只使用“-”代表连带用户的环境变量一起切换

                                 (要特别注意:切换用户的时候“-”一定不可以省略,否则会出错)

    -c命令             仅执行一次命令,而不切换用户身份

用户组管理命令

1.添加用户组

  语法:groupadd [选项] 组名

  选项:

    -g GID      指定组ID

2.修改用户组

  语法:groupadd [选项] 组名

  选项:

    -gGID      修改组ID

    -n新组名             修改组名

  例:groupadd -n a b                 把组名b修改为a

3.删除用户组

  语法:groupadd 组名

4.把用户添加入组或从组中删除

  gpasswd 选项  组名

  选项:

    -a用户名:    把用户加入组

    -d用户名:            把用户从组中删除