温馨提示×

ubuntu软连接权限如何设

小樊
34
2026-10-04 02:46:12
栏目: 智能运维

在 Ubuntu(以及其它 Linux 发行版)里,符号链接(软连接,symlink)本身的权限基本没意义,关键要看它指向的文件/目录的权限。下面分情况说明。


一、软连接权限的真相

ln -s target linkname

创建后:

ls -l
lrwxrwxrwx 1 user user 6 date linkname -> target

你会发现:

  • 软连接权限通常显示 lrwxrwxrwx
  • 这个权限不起作用
  • 真正起作用的是 target 的权限

✅ 访问 linkname ≈ 访问 target


二、如何“设置软连接权限”(正确做法)

1️⃣ 设置目标文件的权限(最常用)

chmod 755 target
chown user:user target

软连接会自动继承对目标的访问能力。


2️⃣ 想改软连接本身的“归属”(不常用)

chown -h user:user linkname

-h 表示只改软连接本身,不改目标。

⚠️ 一般没必要这么做


3️⃣ 想改软连接本身的权限(无效操作)

chmod 644 linkname

⚠️ 多数文件系统会忽略
在 Ubuntu 上通常报错或无效果


三、目录软连接的特殊情况

如果软连接指向目录:

ln -s /data/logs /var/log/mylogs

访问权限取决于:

  • /data/logs 的权限
  • 父目录 /data 是否有 x 权限

示例:

chmod 755 /data
chmod 755 /data/logs

四、常见坑

❌ 软连接没权限但目标有

→ 仍然能访问

❌ 软连接有权限但目标没

→ 访问被拒

❌ 用 chmod 改软连接

→ 没用


五、查看软连接真实权限

namei -l linkname

或:

stat target

六、总结一句话

Ubuntu 软连接没有实际权限,权限看目标文件/目录

如果你有具体场景(比如 Web 服务、Docker、Nginx、普通用户访问),可以告诉我,我给你精确配置示例。

0 踩