Linux的基础代码学习(练习用账号的建立)
— 适合新手快速解决问题,避免陷入复杂的进程排查。为了防止在实践过程中出错对我的虚拟机系统造成毁灭性打击,我决定额外创建账户。这是最直观的权限层面,每个文件或目录都有一组针对三种不同身份的权限。由于这个账号仍旧有进程存在,我将试图终止进程并再次执行删除操作。在系统层面,用户被分为不同的类别,拥有不同的系统管理权限。由于在写博客之前这个账号已经存在,我先将它删除。,还有三种特殊权限,用于更精细和高级
账号的删除和建立
为了防止在实践过程中出错对我的虚拟机系统造成毁灭性打击,我决定额外创建账户。
由于在写博客之前这个账号已经存在,我先将它删除。
[root@anzhixingtong ~]# id dantaye
uid=1002(dantaye) gid=1002(dantaye) 组=1002(dantaye),10(wheel)
[root@anzhixingtong ~]# userdel -r dantaye
userdel: user dantaye is currently used by process 2531
但是此时出现了问题
[root@anzhixingtong ~]# ps -u dantaye
PID TTY TIME CMD
2531 pts/0 00:00:00 bash
5897 pts/0 00:00:00 bash
由于这个账号仍旧有进程存在,我将试图终止进程并再次执行删除操作。
[root@anzhixingtong ~]# pkill -u dantaye
[root@anzhixingtong ~]# userdel -r dantaye
userdel: user dantaye is currently used by process 2531
虽然显示删除成功但是执行测试指令时,它还在。
[root@anzhixingtong ~]# cat /etc/passwd | grep dantaye
dantaye:x:1002:1002::/home/dantaye:/bin/bash
[root@anzhixingtong ~]# cat /etc/group | grep dantaye
wheel:x:10:dantaye
dantaye:x:1002:
[root@anzhixingtong ~]# cat /etc/shadow | grep dantaye
dantaye:$1$Ptw365mo$NTsa4.gnc.ViRoKIiNQDX/:20413:0:99999:7:::
[root@anzhixingtong ~]# ls /home/dantaye
[root@anzhixingtong ~]# ps -u dantaye
PID TTY TIME CMD
2531 pts/0 00:00:00 bash
5897 pts/0 00:00:00 bash
进程还在,我重启虚拟机
安全重启代码:
reboot
这次删除成功了
C:\~]$
Connecting to 192.168.32.164:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Fri Nov 21 00:42:31 2025
[root@anzhixingtong ~]# id dantaye
uid=1002(dantaye) gid=1002(dantaye) 组=1002(dantaye),10(wheel)
[root@anzhixingtong ~]# userdel -r dantaye
[root@anzhixingtong ~]# ps -u dantaye
error: user name does not exist
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).
[root@anzhixingtong ~]#
当 pkill/kill 等命令无法终止顽固进程时,重启系统是最直接的 “兜底方案” —— 适合新手快速解决问题,避免陷入复杂的进程排查。重启后系统会恢复到 “干净状态”,此时执行 userdel -r 用户名 可顺利删除用户,无任何阻碍。
再次创建账号dantaye
[root@anzhixingtong ~]# sudo useradd -m dantaye
[root@anzhixingtong ~]# su - dantaye
[dantaye@anzhixingtong ~]$
账号权限
以下解释来自豆包ai
一、文件和目录的基础权限
这是最直观的权限层面,每个文件或目录都有一组针对三种不同身份的权限。
1. 三种身份 (Owner, Group, Others)
- 所有者 (Owner):文件或目录的创建者。
- 所属组 (Group):文件或目录所属的用户组。
- 其他人 (Others):系统中除了所有者和所属组之外的所有其他用户。
2. 三种基本权限 (Read, Write, Execute)
- 读 (r, read):
- 对文件:可以查看文件内容。
- 对目录:可以列出目录中的文件(使用
ls命令)。
- 写 (w, write):
- 对文件:可以修改文件内容,可以删除文件。
- 对目录:可以在目录中创建新文件或子目录,可以删除目录中的文件或子目录(无论这些文件的所有者是谁)。
- 执行 (x, execute):
- 对文件:可以将文件作为程序或脚本执行。
- 对目录:可以进入该目录(使用
cd命令)。
3. 权限的表示方法
- 符号表示法:如
-rwxr-xr-- - 数字表示法:如
754(每一位数字分别对应所有者、所属组、其他人的权限)
| 符号 | 数字 | 权限 |
|---|---|---|
r |
4 |
读 |
w |
2 |
写 |
x |
1 |
执行 |
- |
0 |
无权限 |
示例: -rwxr-xr--
- 所有者:
rwx(4+2+1=7) - 所属组:
r-x(4+0+1=5) - 其他人:
r--(4+0+0=4) - 对应的数字表示就是
754。
二、用户身份分级
在系统层面,用户被分为不同的类别,拥有不同的系统管理权限。
-
超级用户 (root, UID=0)
- 权限:拥有系统的完全控制权,可以执行任何命令,访问和修改任何文件。
- 标识:命令行提示符通常是
#。 - 类比:公司的 CEO 或系统管理员。
-
系统用户 (System Users)
- 权限:权限受限,通常是为了运行特定的系统服务(如
nginx,mysql)而创建的,一般不允许登录。 - 特点:它们的 UID 通常在 1-999 之间。
- 权限:权限受限,通常是为了运行特定的系统服务(如
-
普通用户 (Regular Users)
- 权限:权限有限,主要只能管理自己家目录(
/home/用户名)下的文件和目录。 - 标识:命令行提示符通常是
$。 - 类比:公司的普通员工。你的
dantaye账号就属于这一类。
- 权限:权限有限,主要只能管理自己家目录(
-
特权用户 (Privileged Users)
- 这不是一个正式分类,而是指那些被授予了部分
root权限的普通用户。 - 通过修改
/etc/sudoers文件或将用户加入wheel组(在 CentOS 中),可以让普通用户执行一些或全部需要root权限的命令。 - 类比:拥有部分签字权的部门经理。
- 这不是一个正式分类,而是指那些被授予了部分
三、特殊权限 (Special Permissions)
除了基础的 rwx,还有三种特殊权限,用于更精细和高级的权限控制。
-
Set User ID (SUID,
s或4)- 作用于:可执行文件。
- 效果:当一个带有 SUID 权限的程序被执行时,该程序会以文件所有者的身份运行,而不是执行它的用户的身份。
- 常见例子:
passwd命令。任何用户都可以执行它来修改自己的密码,但它需要以root身份运行才能修改/etc/shadow文件。 - 风险:SUID 权限是一把双刃剑,如果被滥用,可能导致权限提升漏洞。
-
Set Group ID (SGID,
s或2)- 作用于:可执行文件或目录。
- 效果(对文件):程序以文件所属组的身份运行。
- 效果(对目录):在该目录下创建的所有新文件和子目录,其所属组都会继承该目录的所属组,而不是创建者的主组。这在团队协作中非常有用。
-
Sticky Bit (SBIT,
t或1)- 作用于:目录。
- 效果:在一个设置了 Sticky Bit 的目录里,只有文件的所有者、目录的所有者或者
root用户才能删除该文件。 - 常见例子:
/tmp目录。系统上所有用户都可以在/tmp里创建和修改文件,但只有自己才能删除自己的文件,防止别人误删。[root@anzhixingtong ~]# su - dantaye [dantaye@anzhixingtong ~]$ su - root 密码: 上一次登录:五 11月 21 01:23:49 PST 2025从 192.168.32.1pts/0 上 [root@anzhixingtong ~]# usermod -aG wheel dantaye [root@anzhixingtong ~]#为dantaye账户添加sudo权限。
更多推荐
所有评论(0)