linux中的用户管理和用户认证信息

一、用户管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。添加用户帐号就是在系统中创建一个新帐号,然后为新帐号分配用户号、用户组、主目录和登陆shell等。

1.用户查看

linux中的用户管理和用户认证信息

    id         ##查看指定用户id信息
    id
        -u    ##查看用户的uid
        -g    ##查看用户的gid
        -G    ##查看用户所在的所有组的id
        -n    ##显示名字而不显示id数字

2.用户切换

linux中的用户管理和用户认证信息

su - 用户名称
    su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
    su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
    注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户    

3.用户在系统中的存储方式

/etc/passwd
    用户信息文件
    用户名称:密码:uid:gid:说明:家目录:默认shell

/etc/group
    用户组信息文件
    组的名字:组密码:组id:组成员
/etc/shadows
    认证信息文件

/etc/skel/.*
    默认开启shell的配置,用户的骨文件

/home/username
    用户的家目录

4.用户管理命令

用用户信息监控命令watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'来实时查看用户的建立过程

useradd                                                    ##建立用户的,建立用户时,读取/etc/login.defs 文件内容确定规则

useradd -u 8888 westos                        ##指定用户uid
useradd -g 21    westos                         ##指定用户初始组id,"21用户组必须是存在的"
useradd -G 21    westos                        ##指定用户的附加组id “21用户组必须存在”
useradd -c "hello" westos                      ##指定用户的说明
useradd -d /home/lee westos                ##指定用户的家目录
useradd -s /bin/sh westos                      ##指定用户的默认shell

 

userdel
    userdel student                                    ##删除用户但不删除用户的配置文件
    userdel -r student                                 ##删除用户并删除用户的配置文件

 

groupadd                                                 ##建立用户组
groupadd -g 888                                     ##建立用户组并指定用户组的id
groupdel                                                   ##删除用户组

linux中的用户管理和用户认证信息          

linux中的用户管理和用户认证信息

上图为使用用户管理命令建立了一个叫westos的用户,它的用户id是111,组id是222
,附加组id是222。

usermod的使用:

linux中的用户管理和用户认证信息

图为使用usermod命令修改westos的用户名、用户id、组id等,期间出现了一次错误,是因为修改组id时的id必须是已经建立了的组id,否则将无法更改。

二、用户认证信息

1.
/etc/shadow        ##记录用户认证信息
此文件一共有九列:
用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:
密码警告期限:用户非活跃天数:用户到期日:用户自定义列,目前没有启用

passwd -S westos    ##查看westos用户密码信息

linux中的用户管理和用户认证信息

可以看到修改后的用户名称、组id等已被改变

关于用户密码:

用户密码
    passwd         westos    ##更改westos密码
    passwd  -l     westos    ##在用户密码前加入“!!”
    passwd  -u     westos    
    usermod -L     westos    ##在用户密码前加入“!”
    usermod -U     westos    ##在密码不为空时使用
    passwd  -d     westos    ##清空westos密码
注意:
    普通用户改密码时
    1.必须知道当前永久原始密码
    2.密码不能和帐号名称相似
    3.密码不能是纯数字或纯字母
    4.密码不能是有序的字母和数字的组合


#用户密码最后一次被更改的时间#
    passwd -e westos    ##会改变用户最后一次更改密码时间为0.
                ##用户在登陆时会被强制更改密码
    chage -d 0 westos    ##两个命令功能类似


#用户密码最短有效期#
    passwd -n 1 westos    ##westos用户在1天之内不能修改密码
    chage -m 1 westos        

#用户密码最长有效期#
    passwd -x 30    westos    ##设定westos在30天内必须改密码
    chage -M 40    westos
#密码警告期限#
    passwd -w 2    westos    ##密码过期前两天有警告输出
    chage -W 2    westos
#用户非活跃天数#
    passwd -i 1    westos    ##密码过期后仍可登陆系统的天数
    chage -I 1    westos
#用户到期日#
    chage -E  2018-11-11 westos    ##westos用户在2018-11-11日会被冻结
#用户自定义列,目前没有启用#

linux中的用户管理和用户认证信息

可以看到在输入passwd+用户名之后可以修改命令。

注意:此时是在超级用户root做的。所以不需要输入原密码。