在 Debian(以及其它 Linux 发行版)里,软链接(symbolic link)本身的权限通常是改不了的,也不建议改。下面分情况说明:
lrwxrwxrwxchmod 改软链接时,实际改的是它指向的目标文件ls -l 看到的软链接权限是系统固定的,不代表真实访问控制ln -s /etc/passwd mylink
ls -l mylink
# lrwxrwxrwx 1 user user 11 Jun 10 10:00 mylink -> /etc/passwd
直接改目标文件:
chmod 644 /etc/passwd
或:
chmod 644 mylink # 实际改的是 /etc/passwd
用 -h 参数(非常重要):
sudo chown -h user:group mylink
不加 -h 会改目标文件,而不是链接本身。
⚠️ 在 Linux 上:
chmod 对软链接无效如果你看到权限不对,问题在目标文件,不在软链接
ln -s 时的权限来源软链接创建时:
umask 影响正确做法是:
✅ 改目标文件权限
✅ 或把软链接放在受限目录
✅ 或用 mount --bind(高级)
| 目的 | 正确命令 |
|---|---|
| 改目标文件权限 | chmod 权限 链接名 |
| 改链接所有者 | chown -h 用户 链接名 |
| 改软链接权限 | ❌ 不支持 |
| 限制访问 | 改目标 or 目录权限 |
如果你能说下具体场景(比如:Web 目录、systemd、Docker、共享目录),我可以给你更精确的建议。