在 Debian(以及所有 Linux 系统)里,软链接(symbolic link)本身的权限通常是不能直接“有效”修改的,这是很多人的常见疑惑。下面分情况说清楚。
lrwxrwxrwxchmod 改软链接时,默认是改目标文件ln -s /etc/passwd mypasswd
chmod 600 mypasswd # 实际改的是 /etc/passwd
⚠️ 所以你看到的软链接权限永远是 777,这是正常的。
如果你确实想操作软链接本身(比如某些特殊场景),可以用:
chmod -hchmod -h 755 mylink
-h 表示 只改符号链接本身,不改目标
⚠️ 但在 Linux 上,软链接权限通常仍不起作用
chown -h(改属主)chown -h user:group mylink
同样只影响链接本身。
✅ 绝大多数情况你应该这样做:
# 查看目标
readlink mylink
# 改目标权限
chmod 644 /real/path/file
chown user:group /real/path/file
如果是目录软链接:
ln -s /data/logs /var/log/mylogs
/data/logs 决定一般只在:
普通 Web / 服务部署 不需要改软链接权限
Debian 下软链接权限改不了也没必要改,真正要改的是它指向的文件或目录权限。
如果你有具体场景(比如 Nginx、PHP、Docker、权限拒绝),可以把命令贴出来,我帮你精确分析。