创建用户和组,设置访问权限,管理进程
1. 问题描述
接下来是一个高强度的实践环节,这里你可以应用之前课程中学到的所有知识。我们会创建用户,把他们分组,设置独特的访问权限,并管理系统中的进程。如果你在想:“这有什么用啊?”,试着想象自己是个系统管理员或 DevOps 工程师,需要配置一台服务器让团队协作。或者,只是想拯救自己的电脑免于混乱!在现实中,这种情况还蛮常见的。
你的目标是为以下用户和进程配置系统:
- 创建两个用户:
user1
和user2
。他们需要在developers
组中协作。 - 配置一个文件(比如
project.txt
),让只有developers
组的成员可以编辑它。 - 创建一些进程(比如用
sleep
命令),并学习如何在必要时终止它们。 - 查看活动进程以确定哪些占用了最多资源。
有计划了吧?让我们一步步实现它。
2. 第一步:创建用户
1. 创建用户
我们先创建两个用户:
sudo adduser user1
sudo adduser user2
运行这些命令时,系统会要求您设置密码并输入每个用户的描述信息。这里我们可以忽略这些额外信息,只需按 Enter 即可。
每个用户都会在 /home
中自动生成一个主目录。你可以用下面的命令来检查:
ls /home
如果你在本地操作,请别忘了使用 sudo
提升到管理员权限。 如果你是在 WSL 下操作,注意 WSL 的用户系统可能会有点特殊。例如,WSL 默认用户已经是系统管理员。
3. 第2步:创建组并添加用户
1. 创建组
为了让用户可以共同协作项目,我们需要将他们加入一个组。首先,我们创建一个组developers
:
sudo groupadd developers
2. 将用户添加到组
现在,我们将用户user1
和user2
加入到developers
组中。使用usermod
命令来完成这项任务:
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. 检查组成员身份
为了确认用户已正确添加到组,运行以下命令:
groups user1
groups user2
你应该会看到user1
和user2
是developers
组的成员。
4. 第 3 步:管理文件和权限
1. 为项目创建文件
我们在其中一个用户的主目录中创建文件 project.txt
(比如 user1
):
sudo -u user1 touch /home/user1/project.txt
sudo -u
命令允许我们以其他用户的身份执行操作。
2. 修改文件的所有者和组
将文件的所有者设置为 user1
,组设置为 developers
,这样两个用户可以拥有相同的访问权限:
sudo chown user1:developers /home/user1/project.txt
3. 设置文件权限
现在我们修改文件的权限。使用命令 chmod
:
sudo chmod 660 /home/user1/project.txt
我们做了什么?我们给 user1
(所有者)和 developers
(组)赋予了读写的权限 rw-
,其他人没有任何权限。
你可以用 ls
命令检查权限:
ls -l /home/user1/project.txt
预期结果:
-rw-rw---- 1 user1 developers 0 日期 时间 /home/user1/project.txt
5. 第4步: 启动进程
1. 启动进程
为了实验,我们用 sleep
命令创建几个“长时间运行”的进程:
sleep 300 &
sleep 400 &
sleep 500 &
每个 sleep
命令通过符号 &
在后台运行。
要检查进程列表,使用命令 ps
:
ps
使用 ps aux
可以查看更多信息:
ps aux | grep sleep
6. 第五步: 结束进程
1. 按 PID 结束进程
找到一个进程的 PID(比如 sleep
),用下面的命令结束它:
kill PID
这里 PID
是进程的标识符,可以通过 ps
找到。
2. 按名字结束进程
如果你想终止所有 sleep
进程,使用命令 killall
:
killall sleep
3. 使用 pkill
如果你记不清进程的完整名字,pkill
可以通过部分名字匹配终止进程:
pkill slee
7. 第6步:监控进程
为了监控系统负载,可以使用:
top
— 实时工作:top
在这里你可以查看 CPU、内存使用率以及活动进程。使用组合键
k
可以直接从界面终止进程。htop
— 更方便的界面(如果你安装了它):
退出请按htop
F10
。
8. 检查清单
完成所有步骤后,请确认以下几点:
- 已创建两个用户
user1
和user2
。 - 已创建并配置组
developers
,并将两个用户加入该组。 - 已创建文件
project.txt
,仅限developers
组访问。 - 通过命令
kill
、killall
和pkill
创建并终止了一些进程。 - 成功用
ps
、top
或htop
查看了进程列表。
如果以上都完成了——恭喜你!你已经掌握了Linux系统中关于用户、组、访问权限和进程管理的所有基础步骤。愿命令行的强大与你同在!
GO TO FULL VERSION