查看账户:

#id   查看的是当前登录账户的id信息,identify

uid=0(root) gid=0(root) 组=0(root)

                    主属组             附属组

uid 系统用来识别账户的user identify

gid 系统用来识别组的group identify


#id user1  查看user1这个账户的id信息

#whoami 查看我现在所使用的账户

#cat /etc/passwd 账户的基本信息都在这个文件内

用户名:代表密码:uid:gid:账户的描述信息:家目录:登录shell 

uid从0开始,默认500(rhel7发生变化)以内的是系统账户,500(包括500本身)以上是普通账户,最大到60000

gid从0开始,默认500(rhel7发生变化)以内的是系统组,500(包括500本身)以上是普通组,最大到60000

60000是系统默认能给的最大值(手动指定不受此限制)


    登陆shell:

    首先shell只是一个应用程序,每个用户在登录的时候必须要有一个shell来负

责给他解释命令,这个shell就是登录shell

    

    给shell一个定义:命令解释器

    

    shell是用户登录后运行的第一个程序:可以指定其他,比如

            /usr/sbin/poweroff

            /usr/sbin/reboot


    使用finger命令查看用户基本信息:

    [root@vm21 /]# finger wing

    Login: wing           Name: 

    Directory: /home/wing               Shell: /bin/bash

    Last login 一 9月 25 22:15 (EDT) on pts/2

    注意:finger命令默认不存在,需要安装#yum install finger -y

    

======================================

新建账户:

#useradd [参数] ... 用户名称

在新建账户的同时会产生一个同名的组,会在home下创建一个跟用户同名的家目录

-d  指定家目录

    # useradd -d /user3  user3

    # cat /etc/passwd | grep user3

    # user3:x:502:502::/user3:/bin/bash

-u  指定uid

-o  当Uid不唯一的时候使用

    # useradd -u 1000  user4

    # id user4

    uid=1000(user4) gid=1000(user4) 组=1000(user4)

-g  指定主属组

    # useradd -g 1000  user5

    # id user5

    uid=1001(user5) gid=1000(user4) 组=1000(user4)

-c  指定描述字段

    # useradd -c qq-28282828 user6

    # cat /etc/passwd | grep user6

    user6:x:1002:1002:qq-28282828:/home/user6:/bin/bash

-s指定登录shell

    查看系统现在所支持的shell

    # cat /etc/shells

            /bin/sh

            /bin/bash

            /sbin/nologin

            /bin/dash

            /bin/tcsh

            /bin/csh

    # useradd -s /sbin/nologin user7

    # cat /etc/passwd | grep user7

    user7:x:1003:1003::/home/user7:/sbin/nologin

-M  不创建家目录


======================================

修改账户:

方式1.修改passwd文件:

此文件里面除了密码字段能删除不能直接修改之外,其他字段全部都能直接修改

方式2.使用命令usermod:

修改用户名称

-l 

    # usermod -l user9 user8

    # id user8

    id: user8:无此用户

修改uid

    -u

    -o 当指定的Uid不唯一的时候使用


修改gid

    -g


修改描述

    -c


修改家目录

    -d


修改登录shell

    -s


锁定帐号

    -L

解锁帐号

    -U

    

    修改用户附属组

        -G

        # usermod -G grp3 user11  

追加用户附属组(-aG一起用)

-a

    # id wing

            uid=1001(wing) gid=1001(wing) groups=1001(wing),1006(jim)

            # usermod -aG tom wing   

            # id wing

            uid=1001(wing) gid=1001(wing) groups=1001(wing),1005(tom),1006

            (jim)

    

======================================

账户密码操作


给账户设置密码

    给当前账户设置密码(所有人可以用,但是普通账户不能给自己设置初始密码)

#passwd

只适用于root账户

#passwd 用户名称  


锁定密码

#passwd -l 账户名称

# passwd -l user10

锁定用户 user10 的密码 。

passwd: 操作成功


解锁密码

#passwd -u 账户名称

# passwd -u user10

解锁用户 user10 的密码 。

passwd: 操作成功


查看密码状态

#passwd -S 账户名称

# passwd -S user10

user10 PS 2013-11-21 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)

# passwd -S user10

user10 LK 2013-11-21 0 99999 7 -1 (密码已被锁定。)


密码信息

/etc/shadow  又称他为影子文件 

#man 5 shadow

用户名

加密密码

最后一次修改密码的时间(用天数来表示,从1970.1.1到最后一次修改密码的天数)

密码生存周期(两次密码修改之间的最小间隔)

密码的有效期(用天数来表示,从1970.1.1开始计算到密码过期有多少天)

警告时间(密码过期之前的警告时间)

密码有效期

帐号的有效期

预留字段


修改密码信息:

方式1.    /etc/shadow文件所有字段都可以手动修改。


方式2.    使用chage命令 


        普通账户不能查看shadow文件


======================================

删除账户

#userdel -r 用户名称

-r 连带个人信息(家目录,个人邮箱)一起删除


======================================

切换账户

#su -  账户

#su -l 账户

        在当前shell使用后名指定的账户执行命令:

#su - -c "命令" 账户

======================================

密码扩展:

root:$1$MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:::   

        $id$salt           $encrypted 


加密算法$id:

    $1:  MD5

    $5:  SHA-256

    $6:  SHA-512