文章目录
- 1. 创建包含时间的文件
- 2. 与用户相关的文件
- 3. 用户分类
- 4. 与用户相关的命令
- 4.1 添加用户
- 4.2 删除用户
- 4.3 查看用户
- 4.4 修改用户密码
- 5. sudo
- 6. 思维导图
- 7. 老男孩思想-学习方法
1. 创建包含时间的文件
- ``或$()是替换符号,可以将命令的结果作为字符串或变量的一部分。
- 注意是反引号
[root@oldboy99-Kylin ~]# touch test-`date +%F`.txt
[root@oldboy99-Kylin ~]# ll
-rw-r--r-- 1 root root 0 5月 7 18:33 test-2025-05-07.txt
2. 与用户相关的文件
文件路径 | 说明 |
---|---|
/etc/passwd | 用户信息文件 |
/etc/shadow | 密码信息文件(密码是经过加密的,或没有密码) |
/etc/group | 用户组信息 |
/etc/gshadow | 用户组密码信息(几乎用不到) |
3. 用户分类
用户分类 | UID | 说明 |
---|---|---|
root | 0 | 超级管理员账户 |
虚拟用户 | 1-999 | 命令解释器不是/bin/bash的用户一般为虚拟用户; 这类用户无法登录系统; 虚拟用户维护着服务/软件正常运行 |
普通用户 | 1000及以上 | 日常使用的用户,可以远程登录与执行命令; 权限受限,没有root权限那么高 |
4. 与用户相关的命令
4.1 添加用户
- useradd
选项 | 说明 |
---|---|
-s | 指定命令解释器; 类红帽系统中,普通用户:/bin/bash; Ubuntu/Debian系统中,普通用户:/bin/dash; 虚拟用户都是/sbin/nologin |
-m | 创建家目录;类红帽系统会自动创建家目录,但是Ubuntu/Debian系统不自动创建 |
-M | 不创建家目录 |
# 添加用户
[root@oldboy99-Kylin ~]# useradd skx
# 为用户设置密码
[root@oldboy99-Kylin ~]# passwd skx
更改用户 skx 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
# 切换到普通用户
[root@oldboy99-Kylin ~]# su - skx
# ctrl+d:退出当前用户
[skx@oldboy99-Kylin ~]$ 注销
[root@oldboy99-Ubuntu ~]# useradd -s /bin/bash -m lidao
[root@oldboy99-Ubuntu ~]# su - lidao
lidao@oldboy99-Ubuntu:~$ whoami
lidao
- 添加虚拟用户
[root@oldboy99-Kylin ~]# useradd -s /sbin/nologin -M mysql
[root@oldboy99-Kylin ~]# tail -1 /etc/passwd
mysql:x:1002:1002::/home/mysql:/sbin/nologin
4.2 删除用户
- userdel
- -r:删除用户家目录(不推荐使用)
[root@oldboy99-Kylin ~]# userdel mysql
[root@oldboy99-Kylin ~]# tail -1 /etc/passwd
skx:x:1001:1001::/home/skx:/bin/bash
[root@oldboy99-Kylin ~]# userdel -r skx
[root@oldboy99-Kylin ~]# tail -1 /etc/passwd
oldboy:x:1000:1000::/home/oldboy:/bin/bash
4.3 查看用户
查看用户信息命令给你 | 说明 |
---|---|
whoami | 查看当前登陆用户 |
id | 查看用户id和组id;也能查看用户是否存在 |
w | 查看系统平均负载;当前系统上有哪些用户;当前用户正在执行什么命令 |
last | 查看用户的登录情况(什么时间、ip地址) |
lastlog | 查看所有用户最近一次登录情况(时间、ip地址) |
- 用户巡检案例:
# 统计系统中有多少用户
[root@oldboy99-Kylin ~]# wc -l /etc/passwd
37 /etc/passwd
# 统计可以登录系统的用户数量
[root@oldboy99-Kylin ~]# grep '/bin/bash' /etc/passwd |wc -l
2
# 统计其他用户数量
[root@oldboy99-Kylin ~]# grep -v '/bin/bash' /etc/passwd |wc -l
35
# 查看当前登录的用户数量
[root@oldboy99-Kylin ~]# w19:46:21 up 12:28, 4 users, load average: 0.00, 0.00, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 11:52 5.00s 0.23s 0.00s w
root pts/1 19:30 16:08 0.01s 0.01s -bash
root pts/2 19:30 16:05 0.01s 0.01s -bash
root pts/3 19:30 16:03 0.01s 0.01s -bash
# 查看指定用户的登录ip
[root@oldboy99-Kylin ~]# lastlog |grep 'root'
root pts/3 10.0.0.1 三 5月 7 19:30:18 +0800 2025
4.4 修改用户密码
- 非交互式修改密码
# 红帽类系统专用
# --stdin:标准输入,从管道内获取用户的密码
[root@oldboy99-Kylin ~]# echo 'Lidao996' |passwd --stdin oldboy
# Ubuntu、红帽类系统
# 创建密码文件(用户名:密码)。批量修改用户密码
[root@oldboy99-Kylin ~]# cat pass.txt
oldboy:123
lidao:123
skx:123
[root@oldboy99-Kylin ~]# cat pass.txt |chpasswd
5. sudo
- sudo可以使普通用户临时使用root用户的权限运行命令
sudo su - # 切换成root用户
- 授权普通用户以root权限:
- visudo命令,相当于
vim /etc.sudoers
。推荐使用visudo - 第一个
ALL
:表示允许从任何主机(即所有机器)登录的root
用户执行命令。 - 第二个
(ALL)
:表示root
用户可以切换为系统中任何其他用户的身份(如su user
)。 - 第三个
ALL
:表示root
用户可以执行所有命令(即无限制权限)
- 授予普通用户所用权限,并且不需要输入密码
[oldboy@oldboy99-Kylin ~]$ sudo su -
上一次登录: 三 5月 7 20:08:02 CST 2025 从 10.0.0.1 pts/0 上
[root@oldboy99-Kylin ~]#
6. 思维导图
【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX
7. 老男孩思想-学习方法
- 听话出活
- 以终为始抓问题本质
- 输出才是最好的学习
- 多交流活跃思维
- 及时总计复习