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
添加用户
语法
|
|
-
-uUID:手工指定用户的UID -
-d家目录:手工指定用户的家目录 -
-c用户说明:手工指定用户的说明 -
-g组名:手工指定用户的初始组 -
-G组名:指定用户的附加组 -
-sShell:手工指定用户的登录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'
用户组管理命令
添加用户组
语法
|
|
-gGID:指定组ID
修改用户组
语法
|
|
-
-gGID:修改组ID -
-n新组名:修改组名
示例
|
|
删除用户组
|
|
Author bingym
LastMod 2022-01-29