查看账户:
#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