账户

查看账户: #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以内的是系统组,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-28us282828 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