文章目录
- Linux下的用户
- 配置文件
- 用户管理
- useradd
使用方法
参数:
使用举例:
2) adduser
3) 删除用户: usedel - 密码文件
1)每一段的具体含义如下:
2)给用户添加密码
3) 这里补充一下与用户相关的命令:
- 修改用户的信息
1)usermod
2) 举例
修改UID
修改shell
更改用户主目录 - 关于用户管理常见的面试题
1) 查找当前系统下能够登陆系统的用户
2) 统计当前系统下能够登陆系统的用户个数
3) 增加一个新用户admin,权限是root
1. Linux下的用户
Linux是一个多用户的系统,我们可以多个用户同时登陆Linux,在Linux中用户有三种角色:
- 超级用户: root 拥有对系统的最高的管理权限 ID=0
- 普通用户:(普通用户又包含系统用户和本地用户)
这个有个UID: 即每个用户的身份标示,类似于每个人的身份证号码.
虚拟用户: 虚拟用户:伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache
2. 配置文件
每个用户有三个信息可以证明自己: 一个是配置文件,一个是用户组文件,一个是用户对应的密码信息
名称|账号信息|说明
用户配置文件|/etc/passwd| 记录每个用户的基本属性,并且对所有用户可读,每一行记录一个用户,每行记录用冒号分割。
用户组文件|/etc/group|用户组的所有信息存放地|
用户对应密码文件|/etc/shadow|用户密码单独分离出来放在了shadow下,该文件只有root用户拥有读的权限。
3. 用户管理
1) useradd
使用方法
使用方法: useradd -d -u “UID” -g “初始组” -s “/bin/bash” 用户
参数:
useradd 命令背后发生了什么?
- 创建一个唯一的UID
- 添加一个用户名相同的用户组和一个唯一的GID,并将用户设置为该组
- 在/home目录下创建一个与用户同名的目录
- 设置shell为/bin/bash
- 唯独没有设密码,需要使用passwd设置
使用举例:
- 添加一个名为gaosh的用户,并使用bash作为登陆的shell
每一部分的作用:(文字版)
- 创建用户并指定用户ID
- 指定用户的主目录
- 指定用户的主组
就相当于一个财务加到前台组,让财务偶尔也干前台
2) adduser
adduser是创建用户的另外一个命令,使用方法相同
由此可见,adduser是useradd的软连接
3) 删除用户: usedel
选项: -r 汇联通家目录和/var/mail的目录一同删除
userdel 用户名 皇帝下令斩立决
userdel -r 用户名 皇帝下令斩立决并抄家灭族
4) 密码文件
密码文件放在/etc/shadow下:
同 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 “:” 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:
1)每一段的具体含义如下:
- 账户名称
- 加密后的密码,如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,从上面可以看出,ubuntu默认的就不启用root账户。
- 最近改动密码的日期(这个是从1970年1月1日算起的总的天数)
- 密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
- 密码需要重新变更的天数:如果为99999则没有限制
- 密码过期预警天数
- 密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
- 账号失效日期,过了这个日期账号就无法使用
- 保留的
2)给用户添加密码
方法1:
方法2:
这里有个问题,如果两个不同的用户,他们的密码一样,在/etc/shadow中加密的hash值一样吗
3) 这里补充一下与用户相关的命令:
|命令|作用|
id| 用户和组的信息
whoami| 查看当前有效用户名
who | 显示目前登入系统的用户信息。
w | 显示已经登陆系统的用户列表
users | 用于显示当前登录系统的所有用户的用户列表
4. 修改用户的信息
1)usermod
语法:usermod 【参数】用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组
-G 附加组
-s 登录shell
-L 锁定