Linux User Management
Contents
用户配置文件
用户信息文件
/etc/passwd
-
第1字段:用户名
-
第2字段:密码标志(x)
-
第3字段:UID(用户id)
0
:超级用户
-
1-499
系统用户(伪用户) -
500-65535
:普通用户。如果把uid改成0,则会变成管理员用户。 -
第4字段:GID(用户初始组ID)
-
第5字段:(用户说明)
-
第6字段:家目录
- 普通用户:
/home/用户名
- 普通用户:
-
超级用户:
/root
-
第7字段:登录之后的shell
- root和普通用户的shell都是
/bin/bash
- root和普通用户的shell都是
-
伪用户的shell是
/sbin/nologin
-
如果要暂时禁用一个用户,可以将shell改成
/sbin/nologin
影子文件
/etc/shadow
-
第1字段:用户名
-
第2字段:加密密码
- 加密算法升级为
sha512
散列加密算法
- 加密算法升级为
-
如果密码位是
!!
或*
代表没有密码,不能登录 -
第3字段:密码最后一次修改日期
- 使用1970年1月1日作为标准时间,每过一天时间戳加1
-
第4字段:两次密码的修改间隔时间(和第3字段相比),即多少天之后才能修改密码
-
第5字段:密码有效期(和第3字段相比)
-
第6字段:密码修改到期前的警告天数(和第5字段相比)
-
第7字段:密码过期后的宽限天数(和第5字段相比)
0
:代表密码过期后立即失效
-
-1
代表密码永远不会失效 -
第8字段:账号失效时间
- 要用时间戳表示
-
第9字段:保留
组信息文件
/etc/group
-
第1字段:组名
-
第2字段:组密码标志
-
第3字段:GID
-
第4字段:组中附加用户
组密码文件/etc/gshadow
用户管理相关文件
用户的家目录
-
普通用户:
/home/用户名
,所有者和所属组都是此用户,权限是700 -
超级用户:
/root
,所有者和所属组都是root用户,权限是550
用户的邮箱
/var/spool/mail/用户名
用户模板位置
用户在新建完成之后家目录下会出现的文件,都是从这个目录里面copy过来的
/etc/skel
用户管理命令
查看登录用户信息
who
查看登录用户信息
/usr/bin/who
执行权限:所有用户
语法
|
|
-
tty
表示本地终端 -
pts
表示远程终端
w
查看登录用户详细信息
/usr/bin/w
语法
|
|
用户添加命令useradd
添加用户
语法
|
|
-
-u
UID:手工指定用户的UID -
-d
家目录:手工指定用户的家目录 -
-c
用户说明:手工指定用户的说明 -
-g
组名:手工指定用户的初始组 -
-G
组名:指定用户的附加组 -
-s
Shell:手工指定用户的登录shell,默认是/bin/bash
用户默认值文件
/etc/default/useradd
-
GROUP=100
用户默认组
-
HOME=/home
用户家目录
-
INACTIVE=-1
密码过期宽限天数,shadow文件第7字段
-
EXPIRE=
密码失效时8
-
SHELL=/bin/bash
默认shell
-
SKEL=/etc/skel
模板目录
-
CREATE_MAIL_SPOOL=yes
是否建立邮箱
/etc/login.defs
-
PASS_MAX_DAYS 99999
密码有效期
-
PASS_MIN_DAYS 0
密码修改间隔
-
PASS_MIN_LEN 5
密码最小5位
-
PASS_WARN_AGE 7
密码到期警告
-
UID_MIN 500
最小和最大UID范围
-
GID_MAX 60000
-
ENCRYPT_METHOD SHA512
加密模式
修改用户密码passwd
设置用户密码
语法
|
|
-
-S
查询用户密码的密码状态。仅root用户可以用 -
-l
暂时锁定用户。仅root用户可用。 -
-u
解锁用户。仅root用户可用。 -
--stdin
可以通过管道符输出的数据作为用户的密码。
示例
|
|
修改用户信息usermod
用于修改用户信息
- 选项与``useradd`的一样,只不过这个是用来修改的
修改用户密码状态chage
修改用户密码状态
语法
|
|
-
-l
列出用户的详细密码 -
-d
修改密码最后一次更改日期 -
-m
两次密码修改间隔 -
-M
密码有效期 -
-W
密码过期前警告天数 -
-I
密码过期后宽限天数 -
-E
账号失效时间
示例
|
|
删除用户userdel
语法
|
|
-r
删除用户的同时删除用户家目录
查看用户id
|
|
用户切换命令su
语法
|
|
-
-
选项只使用-
代表连带用户的环境变量一切切换,切换用户的时候必须带,如su - root
-
-c
仅执行一次命令,而不切换用户身份,如su - root -c 'useradd user02'
用户组管理命令
添加用户组
语法
|
|
-g
GID:指定组ID
修改用户组
语法
|
|
-
-g
GID:修改组ID -
-n
新组名:修改组名
示例
|
|
删除用户组
|
|
Author bingym
LastMod 2022-01-29