Linux用户管理
一.Linux系统的用户和用户组
1.Linux系统的用户
对Linux系统来说,用户的角色是通过UID 来识别的,它唯一标识一个用户的账号。
- ==系统管理员UID为0:==默认为root用户可以操作系统中的任何文件和命令,拥有最高的管理权限。
- ==系统用户UID为1~999:==这类用户的特点是安装系统后就默认存在了,且默认大多数情况下不能登录系统,他们 的存在方便系统的管理,满足相应的系统进程对文件属主的要求。
- ==普通用户UID从1000开始:==是由管理员创建用于日常工作的用户。
二.Linux的用户账号文件
1./etc/passwd 文件的作用
/etc/passwd 文件是系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都对此文件执行读的权利。
2./etc/passwd 文件的结构
在/etc/passwd 文件中每一行就是一个用户账号的相关信息,有几行就代表有几个用户。里面有系统账号,保证系统的正常运行,不要轻易删除。
3./etc/passwd文件中个字段的含义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q4K5GGht-1658027052139)(C:\Users\秦彦\AppData\Roaming\Typora\typora-user-images\image-20220716214041166.png)]
- 用户名字段:(即上图的postfix)是用户的账号名称,
- 密码字段:(即上图的x)是用户的登录密码。考虑到安全性通常用X来代表。
- UID字段:(即上图的第一个89)是用户的唯一标识符,0代表root用户,0~999代表系统用户,1000以上代表普通用户
- GID字段:(即上图的第二个89)是用户所属组的组号,与/etc/group文件中用户组的组号是一致的。
- 用户信息字段:(即上图第二个89后面两个顿号之间的部分)用户信息包括用户名称、办公电话、住宅等相关信息。如想设置用户字段信息则用chfn命令进行设置。
- 家目录字段:(即上图的/var/spool/postfix)是用户的起始工作目录,用户成功登陆后的默认目录。
- shell字段;(即上图的/sbin/nologin)用户所使用的shell,当用户登陆系统后,会取得一个shell与系统内核进行通信从而进行用的相关操作,默认为“/bin/bash”,如果这一字段为“/sbin/nologin”,则不允许用户登陆系统。
4. /etc/shadow 文件的作用
/etc/shadow 文件用于储存Linux系统中用户的密码信息,是加过密的密码。为了保证用户的安全性,只有root用户对该文件有读的权限且不能修改。
5. /etc/shadow 文件的结构
在/etc/shadow 中每行都是一个用户的相关信息。每行有9个字段组成,分别用==:==隔开。这九个字段分别是用户名、密码、最后一次修改时间、最小修改间隔字段、密码的有效期、密码需要修改前的警告天数、密码过期后的宽限天数、账号失效时间、保留字段。
6. /etc/shadow 文件中各个字段的含义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KaDRBHoX-1658027052140)(C:\Users\秦彦\AppData\Roaming\Typora\typora-user-images\image-20220717091254748.png)]
- 用户名字段:(即图中的shutdown)是用户账号的名称,用户登陆时的用户名。
- 密码字段:(即图中的*)是用户的登陆密码,这里保存的是经过加密的密码。
- 最后一次修改时间字段:(即图中的17834)表示最后一次修改密码的时间。可以用==date -d"1970-01-01 17843 days"==查看。
- 最小修改间隔字段:(即图中的0)表示自最后一次修改日期起多长时间内不能修改密码。
- 密码的有效期字段:(即图中的99999)该字段表示最后一次修改日期后的多少天内要修改密码。99999默认表示永久生效。
- 密码需要修改前的天数警告字段:(即上图的7)用与设置提前发出警告天数,当账号密码快到期时用与发出此警告。这里的7 表示距离有效期的第七天开始。
- 密码过期后的宽限天数字段:(即上图7后的第一个冒号后)在密码过期后的这个天数内还能登陆,过了之后就不能登陆了,这里为空表示立即生效。
- 账号失效时间字段:(即上图7后的第二个冒号后)表示在这个规定日期后,将无法在使用这个账号登陆。
- 保留字段:(即上图7后的第三个冒号后)目前没有使用,等待新功能加入。
三、新增用户 useradd
1、useradd命令的作用
useradd用于创建用户,使用useradd创建的用户,实际保存在/etc/passd文本文件中。创建的用户的家目录默认放在/home目录中,默认的shell编辑器为/bin/bash ,而且默认会创建一个与用户同名的基本用户组。
2、useradd 命令的语法
useradd 【选项】 用户账号名
3、useradd命令的参数
参数 | 作用 |
---|---|
-d | 指定用户的家目录 |
-e | 账户到期时间,格式为YYYY-MM-DD (日期在前用户名在后,例:useradd -d YYYY-MM-DD 用户名 |
-u | 指定用户默认UID(例;useradd -u UID 用户名) |
-g | 指定一个初始的用户组(例:useradd -g 用户组 用户名) |
-G | 指定一个或者多个扩展用户组 |
-N | 不创建与用户同名的用户组 |
-s | 指定该用户默认的shell编辑器 |
四、修改用户usermod
1、usermod 命令的作用
usermod命令用于修改用户的属性。
2、usermod 命令的语法
usermod 【选项】 用户名
3、usermod 命令的参数
参数 | 作用 |
---|---|
-c | 填写用户账号的备注信息(例:usermod 【-c <备注>】 用户名 |
-d | 修改用户登陆时的目录 |
-e | 账户到期时间(例;usermod 【-e YYYY-MM-DD】用户名) |
-g | 变更所属用户组(例:usermod 【-g 新的用户组】用户名) |
-G | 变更拓展用户组 |
-L | 锁定用户禁止器登陆系统 |
-U | 解锁用户,允许器成功登陆 |
-s | 修改用户登陆后使用的shell |
-u | 修改用户的UID |
五、设置用户密码 passwd
1、passwd 命令的作用
passwd命令用于修改用户密码、过期时间、认证信息,系统管理员可以用它修改用户的密码,用户只能修改自己的密码。
2、passwd命令的语法
passwd 【选项】 用户账号
3、passwd的参数
参数 | 作用 |
---|---|
-d | 删除密码,仅root账户使用 |
-f | 强制执行 |
-k | 设置只有在密码过期失效后,方能更新 |
-l | 锁住密码 |
-s | 列出密码相关信息,仅root账户使用 |
-u | 解开已上锁账号 |
六、用户身份切换 su 命令
1、su命令的作用
su命令用于切当前用户身份到其他用户身份。
2、su命令的语法
su 【选项】用户名
3、su命令的参数
参数 | 作用 |
---|---|
-c | 执行完命令后恢复原来身份 |
-f | 使shell不用读取启动文件 |
-m | 变更身份时不更改环境变量 |
-s | 指定要执行的shell |
七、维护用户账户 userdel命令
1、userdel命令的作用
userdel命令用于删除给定的用户,以及相关的文件。
2、userdel命令的语法
userdel 【选项】用户名
3、userdel命令的 参数
参数 | 作用 |
---|---|
-f | 强制删除用户,即使当前账户已经登陆 |
-r | 删除用户的同时删除用户相关的所有文件 |
参数 | 作用 |
---|---|
-f | 强制删除用户,即使当前账户已经登陆 |
-r | 删除用户的同时删除用户相关的所有文件 |