麒麟系统终端文件权限管理教程
第一章 文件权限基础
1.1 为什么需要权限管理
在银河麒麟操作系统(基于 Linux 内核)中,所有资源都以文件形式存在。为了保证系统安全和数据隔离,每个文件和目录都设有严格的访问权限控制。权限管理是 Linux 系统管理最核心的技能之一,正确设置权限可以:
• 防止未授权用户读取敏感数据(如配置文件、密码文件)
• 避免误操作导致系统文件被篡改或删除
• 保障多用户环境下各用户数据的隐私与安全
• 控制可执行文件的运行,防止恶意程序执行
1.2 三类用户与三种权限
Linux 权限体系围绕「三类用户、三种权限」构建:
三类用户(Who)
|
标识 |
英文 |
中文 |
说明 |
|
u |
User |
文件所有者 |
创建该文件的用户,通常拥有最大权限 |
|
g |
Group |
用户组 |
与文件所有者同组的用户,便于团队协作共享 |
|
o |
Others |
其他用户 |
系统中除所有者和同组用户外的所有用户 |
|
a |
All |
所有用户 |
等同于 u+g+o,即全部三类用户 |
三种权限(What)
|
权限 |
符号 |
文件含义 |
目录含义 |
八进制值 |
|
读 |
r |
可读取文件内容 |
可列出目录内文件列表(ls) |
4 |
|
写 |
w |
可修改文件内容 |
可在目录中创建/删除/重命名文件 |
2 |
|
执行 |
x |
可作为程序运行 |
可进入目录(cd)并访问内部文件 |
1 |
|
无权限 |
- |
无对应权限 |
无对应权限 |
0 |
💡 提示:记忆技巧:r=4, w=2, x=1,三个数字相加即可得到数字权限值。例如 rwx=4+2+1=7,rw-=4+2+0=6。
1.3 权限的表示方式
权限有两种常见表示方式:符号表示法和八进制(数字)表示法。
符号表示法示例:
-rwxr-xr-- 1 kylin kylin 1024 Oct 15 10:00 test.sh
对上述 ls -l 输出的解读:
• 第1位「-」:文件类型(- 普通文件、d 目录、l 链接、b 块设备、c 字符设备)
• 第2-4位「rwx」:所有者权限(读+写+执行)
• 第5-7位「r-x」:用户组权限(读+执行,无写权限)
• 第8-10位「r--」:其他用户权限(仅读,无写和执行)
数字表示法示例:
rwxr-xr-- = 7 5 4 → 即 chmod 754
第二章 ls 命令详解
2.1 ls 命令简介
ls(List 的缩写)是 Linux/麒麟系统中最常用的命令之一,用于列出目录中的文件和子目录信息。不带任何参数时,ls 仅显示文件名;加上不同选项可以显示详细的权限、大小、时间等信息。
2.2 基本语法
ls [选项] [文件或目录路径]
若不指定路径,默认列出当前目录的内容。
2.3 ls -l:长格式输出(查看权限的关键选项)
-l(long)选项是查看文件权限最常用的参数,它会输出文件的详细信息,格式如下:
kylin@kylin:~$ ls -l /home/kylin/
-rw-r--r-- 1 kylin kylin 3200 Oct 10 09:15 readme.txt
drwxr-xr-x 2 kylin kylin 4096 Oct 12 14:30 Documents
-rwxr-xr-x 1 kylin kylin 128 Oct 15 08:00 script.sh
lrwxrwxrwx 1 kylin kylin 10 Oct 15 08:05 link -> readme.txt
ls -l 输出各列含义:
|
列序 |
示例 |
含义 |
|
第1列 |
-rw-r--r-- |
文件类型+权限位(共10位) |
|
第2列 |
1 |
硬链接数 |
|
第3列 |
kylin |
文件所有者(属主) |
|
第4列 |
kylin |
文件所属用户组(属组) |
|
第5列 |
3200 |
文件大小(字节) |
|
第6-8列 |
Oct 10 09:15 |
最后修改时间 |
|
第9列 |
readme.txt |
文件名 |
2.4 ls 常用选项速查
|
选项 |
全称 |
功能说明 |
|
-l |
long |
长格式显示,包含权限、大小、时间等详细信息 |
|
-a |
all |
显示所有文件,包括以 . 开头的隐藏文件 |
|
-h |
human-readable |
以 K/M/G 等人类可读单位显示文件大小 |
|
-d |
directory |
仅显示目录本身信息,不列出其内容 |
|
-R |
recursive |
递归列出所有子目录内容 |
|
-t |
time |
按修改时间排序,最新修改的在前 |
|
-S |
size |
按文件大小排序,大文件在前 |
|
-r |
reverse |
反向排序(与 -t/-S 配合使用) |
|
-i |
inode |
显示文件的 inode 编号 |
|
-n |
numeric-uid-gid |
以数字 UID/GID 代替用户/组名显示 |
|
--color=auto |
— |
用颜色区分文件类型(目录蓝、可执行绿、链接青) |
2.5 实用组合示例
示例1:查看当前目录所有文件(含隐藏文件)的详细信息,大小以可读方式显示:
ls -alh
示例2:查看某个目录本身的权限(而非其内容):
ls -ld /home/kylin
# 输出:drwxr-xr-x 20 kylin kylin 4096 Oct 15 10:00 /home/kylin
示例3:按时间倒序列出文件(最近修改的在前):
ls -lt
# 按时间正序(最旧的在前)
ls -ltr
示例4:列出当前目录下所有 .sh 脚本文件:
ls -l *.sh
💡 提示:日常最常用组合是 ls -l,可以用 alias 给它起个别名 ll。很多麒麟系统默认已配置 alias ll='ls -alF',直接输入 ll 即可。
第三章 chmod 命令详解
3.1 chmod 命令简介
chmod(Change Mode 的缩写)用于修改文件或目录的访问权限。只有文件的所有者或 root 超级用户才能更改文件权限。这是 Linux 权限管理中最核心、使用频率最高的命令。
3.2 基本语法
chmod [选项] 模式 文件或目录
chmod 支持两种权限设置模式:符号模式(Symbolic Mode)和数字模式(Numeric/Octal Mode)。
3.3 符号模式(推荐新手使用)
符号模式通过「用户+操作符+权限」的组合来设置权限,直观易懂,适合精确修改某一类用户的权限而不影响其他权限。
操作符说明:
|
操作符 |
含义 |
示例 |
|
+ |
添加权限 |
u+x 表示给所有者添加执行权限 |
|
- |
移除权限 |
go-w 表示移除组和其他用户的写权限 |
|
= |
设置权限(覆盖原有) |
a=r 表示将所有用户权限设为仅读 |
符号模式常用示例:
|
命令 |
说明 |
|
chmod u+x script.sh |
给文件所有者添加执行权限 |
|
chmod go-rw file.txt |
移除组用户和其他用户的读写权限 |
|
chmod a=r file.txt |
所有用户仅设置为只读(等价于 chmod 444) |
|
chmod u=rw,g=r,o=r file.txt |
所有者可读写,组和其他用户仅读(即 644) |
|
chmod ug+x script.sh |
同时给所有者和组添加执行权限 |
|
chmod +x script.sh |
等价于 a+x,给所有用户添加执行权限 |
⚠️ 注意:注意:chmod +x file 是 chmod a+x file 的简写,会给所有三类用户都加上执行权限。若只想给所有者加执行权限,应使用 chmod u+x file。
3.4 数字/八进制模式(推荐熟练后使用)
数字模式用三位八进制数(0-7)分别表示所有者、组、其他用户的权限,每位数字是 r(4)+w(2)+x(1) 的和。
常见数字权限组合:
|
权限值 |
符号表示 |
适用场景 |
说明 |
|
777 |
rwxrwxrwx |
⚠️ 极不推荐 |
所有用户可读写执行,严重安全风险 |
|
755 |
rwxr-xr-x |
可执行文件/目录 |
所有者可读写执行,其他人只读和执行 |
|
644 |
rw-r--r-- |
普通文件 |
所有者可读写,其他人只读 |
|
700 |
rwx------ |
私密目录/脚本 |
仅所有者可访问,其他人无任何权限 |
|
600 |
rw------- |
敏感配置/密钥 |
仅所有者可读写,最高私密性 |
|
750 |
rwxr-x--- |
团队共享目录 |
所有者全权,组用户可读执行,其他人无权限 |
数字模式示例:
# 将脚本设置为所有者可读写执行,其他人只读和执行
chmod 755 /home/kylin/start.sh
# 将私钥文件设置为仅所有者可读写(SSH 密钥必须为 600)
chmod 600 ~/.ssh/id_rsa
# 将文档设为所有人只读
chmod 444 readme.txt
# 将目录设为所有者全权,组可读执行,其他人无权限
chmod 750 /home/kylin/project/
3.5 chmod 常用选项
|
选项 |
功能说明 |
|
-R |
递归修改目录下所有文件和子目录的权限(最常用) |
|
-v |
verbose,显示每个文件的权限修改详情 |
|
-c |
changes,仅显示实际发生权限变更的文件 |
|
-f |
force,强制修改,不显示错误信息 |
|
--reference=RFILE |
参考 RFILE 的权限来设置目标文件 |
3.6 递归修改权限:-R 选项
当需要修改整个目录树的权限时,使用 -R(Recursive)选项:
# 将 mydata 目录及其所有内容设为 755
chmod -R 755 /home/kylin/mydata/
# 递归给所有 .sh 文件添加执行权限
chmod -R u+x /home/kylin/scripts/*.sh
⚠️ 注意:递归修改权限时要格外小心!执行 chmod -R 777 / 会导致整个系统权限混乱,几乎无法恢复,可能需要重装系统。

浙公网安备 33010602011771号