1. 用户相关命令
1.1 用户管理命令
id [用户名]
可以查看用户的组信息等useradd [用户名]
新建用户userdel [用户名]
删除用户,如果加-r
则会把home目录删除,如果不加home目录保留passwd [用户名]
修改用户密码,不加用户名则是修改root用户usermod [选项] [用户名]
修改用户属性chage [选项] [用户名]
修改用户属性,修改用户生命周期相关信息
1.2 用户组管理命令
groupadd [用户组名]
新建用户组groupdel [用户组名]
删除用户组usermod -g [用户组名] [用户名]
将用户的用户组改为新的用户组useradd -g [用户组名] [用户名]
新建用户的时候直接给此用户添加用户组
1.3 切换用户命令
su - [username]
切换用户和相对应的shell环境,如果没有加减号是只切换用户身份不切换shell环境的sudo
以其他用户身份执行命令visudo
定义哪些用户组或者用户在哪些机器上可以执行哪些命令
[用户名] [主机名]=[命令1], [命令2], [命令3].... [NOPASSWD:ALL]
主机名可以是localhost
(只能在本机的文字终端访问),ALL
任意来源shell;[NOPASSWD:ALL]
可以不填,填了表示执行的时候不需要输入密码,不填执行的时候就需要输入密码%[用户组] [主机名]=[命令1], [命令2].....
id [用户名]
查看用户的用户组信息, 如果不会带用户名,则是查看自己的
2. 用户配置文件
2.1 /etc/passwd 文件
例图:
- 每个用户在
/etc/passwd
文件中都对应一个记录行
- 直接在文件中新增一行,相当于用命令新增一个用户,(但是要手动创建家目录)
- 一行分为了7个字段
- 用户名
- 有
x
需要密码验证,无x
表示不需要密码验证 - uid,用户id
- gid,用户组id
- 注释
- 家目录路径
- 用户登录后的命令解释器
/sbin/nologin
表示不允许登录终端,/bin/bash
2.2 /etc/shadow 文件
例图:
- 保存用户和用户密码相关的信息
- /etc/shadow 文件只有 root 用户拥有读权限
- 用户名称
- 加密后的密码,两个用户即使密码相同,这里存储的都不一样,SHA512 散列加密
- 密码最后一次修改时间
- 最小修改时间间隔,如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。
- 密码有效期,该字段的默认值为 99999,也就是 273 年,可认为是永久生效。如果改为 90,则表示密码被修改 90 天之后必须再次修改,否则该用户即将过期。管理服务器时,通过这个字段强制用户定期修改密码。
- 密码需要变更前的警告天数,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用.比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。
- 账号失效时间
- 这个字段目前没有使用,等待新功能的加入。
- 忘记密码怎么办
/etc/group 文件
例图:
各字段:
- 用户组的名称
- 用户组是否需要密码验证
- gid,用户组id
- 组中的其他用户,初始的用户不会显示在这