Linux 是多用户系统

每个文件 / 进程都"属于"某个用户和某个组。

whoami              # 看自己是谁
id                  # 看自己 + 所属组
hostname            # 看在哪台机器

sudo:临时变 root

普通用户默认不能改系统文件:

echo "hi" > /etc/test.txt
# bash: /etc/test.txt: Permission denied

sudo echo "hi" > /etc/test.txt    # ⚠ 重定向用 sudo 失败(shell 先开 fd 再 sudo)
echo "hi" | sudo tee /etc/test.txt   # ✓ 正确写法
sudo apt update             # 用 root 权限装包
sudo -i                     # 切到 root shell(小心)
sudo su -                   # 同上

用完 sudo -i 记得 exit 退回普通用户——别在 root shell 里日常工作。

文件权限:rwx 三组

ls -l hello.txt
# -rw-r--r-- 1 wadely wadely 1234 May 9 10:23 hello.txt

第一列拆解:

- rw- r-- r--
↑ ↑   ↑   ↑
| |   |   └─ 其他人(others)
| |   └───── 组(group)
| └───────── 所有者(owner)
└─────────── 文件类型(- 普通 / d 目录 / l 链接)

每组三个字符:

符号 文件 目录
r 可读内容 可列出条目
w 可修改内容 可创建 / 删除文件
x 可执行 可进入(cd)

例:rw-r--r-- = 所有者可读写、组可读、其他人可读。

chmod:改权限

两种写法。

符号法

chmod u+x script.sh        # 所有者加可执行
chmod g-w file.txt         # 组去掉写
chmod o+r file.txt         # 其他人加读
chmod a+r file.txt         # 所有人加读(a = all)
chmod u=rwx,g=rx,o=r f.txt # 显式设

数字法(更常用)

r = 4, w = 2, x = 1
rwx = 4+2+1 = 7
rw- = 4+2 = 6
r-x = 4+1 = 5
r-- = 4
chmod 755 script.sh        # rwxr-xr-x  — 可执行文件常用
chmod 644 readme.txt       # rw-r--r--  — 普通文件常用
chmod 600 .ssh/id_rsa      # rw-------  — 私钥必须这个
chmod 700 .ssh             # rwx------  — 私钥目录
chmod 777 anything         # ⚠ 全开放,几乎从不该用

实战例子

# 写个脚本要执行
echo '#!/bin/bash
echo hello' > script.sh
chmod +x script.sh         # 简写:默认 a+x
./script.sh

# 看脚本权限
ls -l script.sh
# -rwxr-xr-x 1 wadely wadely 20 May 9 10:30 script.sh

下一篇起进入模块二:文件查找与文本处理。