Day2
本文最后更新于86 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

今日主题

Linux 用户、用户组与权限管理

今日目标

今天学完你要能做到:

1. 知道 root 用户和普通用户的区别
2. 知道用户、用户组是什么
3. 会查看当前用户
4. 会创建用户
5. 会修改文件所属用户和用户组
6. 会用 chmod 修改权限
7. 能理解为什么 Nginx / MySQL / Docker 经常会遇到权限问题

一、今天的核心理解

1. Linux 里面有“用户”和“用户组”

你可以这样理解:

用户 = 具体的人
用户组 = 一类人的集合

比如:

root 用户:系统最高管理员
nginx 用户:专门运行 Nginx 服务
mysql 用户:专门运行 MySQL 服务
普通用户:日常登录操作的用户

为什么服务要有自己的用户?

因为安全。

如果 Nginx 被攻击了,它不是 root 权限,攻击者能做的事情就会少很多。

二、今天要敲的命令

1. 查看当前用户

whoami

可能输出:

root

意思是你现在是 root 用户。


2. 查看当前用户 ID 和所属组

id

可能输出类似:

uid=0(root) gid=0(root) groups=0(root)

含义:

uid = 用户 ID
gid = 用户组 ID
groups = 当前用户属于哪些组

如果 uid=0,说明你是 root。


3. 查看系统有哪些用户

cat /etc/passwd

内容会很多,先不用全看懂。

你重点看这种格式:

root:x:0:0:root:/root:/bin/bash

大概意思:

用户名:密码占位:用户ID:组ID:说明:家目录:默认Shell

4. 查看系统有哪些用户组

cat /etc/group

格式类似:

root:x:0:

意思是:

组名:密码占位:组ID:组成员

三、创建一个测试用户

今天我们创建一个专门练习的用户。

useradd clouduser

给它设置密码:

passwd clouduser

系统会让你输入两次密码。

注意:Linux 输入密码时不会显示任何字符,这是正常的,不是键盘坏了。

四、切换用户

从 root 切换到 clouduser:

su - clouduser

查看当前用户:

whoami

应该输出:

clouduser

退出当前用户,回到 root:

exit
六、chown 修改文件所属用户

把文件所属用户改成 clouduser:

chown clouduser test.txt
ls -l

你会看到类似:

-rw-r--r-- 1 clouduser root 0 Apr 30 10:00 test.txt

意思是:

这个文件的主人变成了 clouduser
但是所属组还是 root
同时修改用户和用户组
chown clouduser:clouduser test.txt
ls -l

你会看到类似:

-rw-r--r-- 1 clouduser clouduser 0 Apr 30 10:00 test.txt

意思是:

所属用户 = clouduser
所属用户组 = clouduser

五、文件所属用户和用户组

回到 root 后,进入家目录:

cd ~
mkdir cloud-day2
cd cloud-day2
touch test.txt
ls -l

你可能看到:

-rw-r--r-- 1 root root 0 Apr 30 10:00 test.txt

重点看这两个:

root root

第一个 root:文件所属用户 第二个 root:文件所属用户组

六、chown 修改文件所属用户

把文件所属用户改成 clouduser:

chown clouduser test.txt
ls -l

你会看到类似:

-rw-r--r-- 1 clouduser root 0 Apr 30 10:00 test.txt

意思是:

这个文件的主人变成了 clouduser
但是所属组还是 root

同时修改用户和用户组

chown clouduser:clouduser test.txt
ls -l

你会看到类似:

-rw-r--r-- 1 clouduser clouduser 0 Apr 30 10:00 test.txt

意思是:

所属用户 = clouduser
所属用户组 = clouduser

七、chmod 修改权限

先看权限:

ls -l

比如:

-rw-r--r-- 1 clouduser clouduser 0 Apr 30 10:00 test.txt

权限拆解:

rw-   文件主人权限
r--   同组用户权限
r--   其他用户权限

对应数字:

r = 4
w = 2
x = 1

所以:

rw- = 4 + 2 = 6
r-- = 4
r-- = 4

因此:

rw-r--r-- = 644

常见权限数字

644:普通文件常用权限
755:脚本或目录常用权限
600:私密文件权限
777:所有人都能读写执行,不建议乱用

修改权限为 600

chmod 600 test.txt
ls -l

你会看到:

-rw------- 1 clouduser clouduser 0 Apr 30 10:00 test.txt

意思是:

只有文件主人可以读写,其他人没有权限

修改权限为 644

chmod 644 test.txt
ls -l

你会看到:

-rw-r--r-- 1 clouduser clouduser 0 Apr 30 10:00 test.txt

修改权限为 755

chmod 755 test.txt
ls -l

你会看到:

-rwxr-xr-x 1 clouduser clouduser 0 Apr 30 10:00 test.txt

意思是:

文件主人可以读、写、执行
同组用户可以读、执行
其他用户可以读、执行

八、今天的小实验

你今天直接按这个顺序敲。

whoami
id
cat /etc/passwd
cat /etc/group
useradd clouduser
passwd clouduser
su - clouduser
whoami
exit
cd ~
mkdir cloud-day2
cd cloud-day2
touch test.txt
ls -l
chown clouduser test.txt
ls -l
chown clouduser:clouduser test.txt
ls -l
chmod 600 test.txt
ls -l
chmod 644 test.txt
ls -l
chmod 755 test.txt
ls -l

九、面试苏打

Linux 通过用户、用户组和权限控制系统安全。每个文件都有所属用户和所属组,权限分为读、写、执行三种,分别用 r、w、x 表示,也可以用数字 4、2、1 表示。比如 644 表示文件所有者可读写,同组用户和其他用户只读;755 表示所有者可读写执行,其他人可读和执行。在实际运维中,Nginx、MySQL、Docker 等服务启动失败或无法写日志,经常和文件路径错误、权限不足、所属用户不正确有关。

小结

Code 4 云计算复盘 Day 2

1. 今日主题

Linux 用户、用户组与权限管理

2. 今日完成的命令

whoami id cat /etc/passwd cat /etc/group useradd passwd su exit chown chmod ls -l

3. 今天理解了什么?

今天理解了 Linux 中用户和用户组的作用。每个文件都有所属用户和所属组,权限由 r、w、x 组成,也可以用数字表示。r=4,w=2,x=1,所以 644、755、600 这些数字本质上就是权限组合。

4. 今天遇到的问题

这里写你真实遇到的问题。

5. 我是怎么解决的?

这里写你的解决方法。

6. 今天的面试表达

Linux 通过用户、用户组和权限控制系统安全。服务无法启动、日志无法写入、脚本无法执行,很多时候都和权限或所属用户有关。

7. 明天计划

继续学习 Linux 进程、端口、服务管理,包括 ps、top、kill、systemctl、ss、netstat。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇