09. Linux文件权限与用户管理
Linux 是一个多用户操作系统,它对"谁"能对"什么文件"做"什么事"有着极其严格的控制。这就是权限 (Permissions)。
1. 理解 ls -l 的输出
在终端输入 ls -l,你会看到类似这样的输出:drwxr-xr-x 2 user user 4096 Jan 1 12:00 Documents
我们主要关注第一列 drwxr-xr-x,它决定了权限。
- • 第 1 位: 文件类型。
d 代表目录 (Directory),- 代表普通文件。 - • 第 2-4 位 (rwx): 所有者 (Owner) 的权限。
- • 第 5-7 位 (r-x): 所属组 (Group) 的权限。
- • 第 8-10 位 (r-x): 其他人 (Others) 的权限。
rwx 的含义:
- •
r (Read): 读。对文件是查看内容,对目录是列出文件名。 - •
w (Write): 写。对文件是修改内容,对目录是新建/删除文件。 - •
x (Execute): 执行。对文件是运行脚本/程序,对目录是进入该目录。
2. 修改权限:chmod
chmod (Change Mode) 用于修改文件权限。
方式一:数字法(最常见)
例如 rwx = 4+2+1 = 7,r-x = 4+0+1 = 5。chmod 755 file 意味着:所有者(7=rwx),组(5=rx),其他人(5=rx)。
方式二:符号法
- • u (User), g (Group), o (Others), a (All)
chmod +x script.sh # 给所有人添加执行权限 (最常用)chmod u+w file.txt # 给所有者添加写权限chmod o-r secret.txt # 移除其他人的读权限
3. 超级用户:Root 与 Sudo
在 Linux 中,有一个神一般的存在叫 Root。它可以做任何事,包括删掉整个系统。为了安全,Ubuntu 默认锁定了 Root 账户,普通用户只能通过 sudo (SuperUser DO) 来临时获得管理员权限。
- • 什么时候用 sudo?当你要安装软件、修改系统配置、编辑
/etc 下的文件时。 - • 怎么用?在命令前加上
sudo。sudo apt update
系统会要求你输入你的密码(输入时屏幕不会显示星号,盲打完回车即可)。
一个实用习惯:能不用 sudo 就不用。很多“权限不够”的问题,其实是文件所有者/所属组不对,优先用 chown 把所有权修正,再谈 chmod。
4. 用户与组管理
chown (Change Owner)
改变文件的所有者。
sudo chown user:group file.txtsudo chown -R user:user /var/www/html # 递归修改文件夹所有者
useradd / adduser
创建新用户。推荐用 adduser,它有交互式向导,更友好。
sudo adduser newuser
usermod
修改用户属性。最常用的是把用户加入 sudo 组,赋予管理员权限。
sudo usermod -aG sudo newuser
理解了权限,你就理解了为什么 Linux 比 Windows 安全。在 Linux 里,病毒想运行?先问问 chmod 答不答应。