1. Linux文件权限机制深度解析
1.1 目录权限的三大核心要素
在Linux系统中,目录权限与普通文件权限有着本质区别。很多初学者容易混淆这三者的作用,下面我们通过实验来彻底搞懂它们:
实验环境准备:
bash复制[user@host ~]$ mkdir test_dir
[user@host ~]$ touch test_dir/file{1..3}.txt
[user@host ~]$ ll
drwxrwxr-x 2 user user 4096 Mar 1 10:00 test_dir
1.1.1 执行权限(x) - 进入目录的钥匙
当我们尝试删除执行权限时:
bash复制[user@host ~]$ chmod u-x test_dir
[user@host ~]$ cd test_dir
bash: cd: test_dir: Permission denied
关键发现:即使拥有读写权限,缺少x权限会导致无法进入目录。这就像有了大楼门禁卡但没有楼层权限,依然无法抵达目标楼层。
1.1.2 读权限(r) - 目录内容的查看权
保留x权限但移除r权限的实验:
bash复制[user@host ~]$ chmod u-x,u+r test_dir
[user@host ~]$ cd test_dir
[user@host test_dir]$ ls
ls: cannot open directory '.': Permission denied
有趣的现象是:
- 可以执行
cd进入目录 - 可以编辑已知文件名文件(若有w权限)
- 但无法列出目录内容
1.1.3 写权限(w) - 目录结构的修改权
最易被误解的是w权限:
bash复制[root@host ~]# touch test_dir/root_file.txt
[user@host ~]$ rm test_dir/root_file.txt
rm: remove write-protected regular empty file 'test_dir/root_file.txt'? y
[user@host ~]$ ll test_dir/
total 0
重要
