在 Debian(以及所有 Linux 系统)里,软链接(symbolic link)本身的权限几乎不起作用,真正起作用的是它指向的文件/目录的权限。不过你可能会遇到几种常见情况和需求,下面系统说一下。
ln -s /target/file linkname
ls -l linkname
# lrwxrwxrwx 1 user user 11 date linkname -> /target/file
lrwxrwxrwx✅ 所以:
改软链接权限一般没意义,改目标权限才有用
chmod 600 /target/file
chown user:group /target/file
这样通过软链接访问时也会受限。
chmod 755 linkname
⚠️ 实际效果:
ls -l 显示chown -h user:group linkname
-h 很重要,否则会改到目标文件
如果你用软链接做 web 目录:
ln -s /data/www /var/www/html/site
要注意:
示例:
chmod 755 /data
chmod 755 /data/www
❌ 给软链接单独设置“只读软链接”
❌ 用软链接权限阻止访问
❌ 靠 chmod 隐藏软链接内容
| 目的 | 正确做法 |
|---|---|
| 限制访问 | 改目标文件权限 |
| 换拥有者 | chown -h |
| Web 服务 | 目标目录权限 + 父目录 x |
| 安全控制 | 不用软链接,用 bind mount |
如果你能说一下具体场景(比如:Web、服务启动、用户隔离、Docker),我可以给你更精确的 Debian 配置示例。