在 Linux/Unix 系统中,软链接(符号链接,symbolic link)本身的权限通常不决定对目标文件的访问权限,这是一个容易混淆的点。下面分情况说明。
ls -l
示例:
lrwxrwxrwx 1 user user 8 Jun 10 10:00 link -> target
l 表示软链接rwxrwxrwx(777)一般不能真正生效:
chmod 600 link
chmod 会作用于目标文件,而不是链接本身ls 显示的软链接权限通常是固定的 777✅ 结论:无需、也无法通过软链接权限控制访问
chmod 644 target
chown user:user target
访问软链接时:
用户 → 软链接 → 目标文件权限
所以:
✅ 控制目标文件权限即可:
chmod 750 target
chown app:app target
软链接常用于发布目录:
ln -s /data/app/current /var/www/html/app
确保:
current 及其父目录o+x如某些网络文件系统(NFS 特定配置),但极少见。
chattr(防删)chattr +i link
防止软链接被意外删除(部分系统支持)。
软链接权限基本不用管,控制目标文件权限才是关键。
如果你有具体使用场景(如 Nginx、Docker、多用户环境),可以告诉我,我给你更精准的建议。