在 CentOS(以及其它 Linux 发行版)中,软链接(符号链接,symbolic link)本身的权限通常不需要、也无法像普通文件那样“真正生效”。下面分几种常见情况说明。
lrwxrwxrwxchmod 修改软链接权限时:
示例:
ln -s /var/www/html/app app_link
ls -l app_link
# lrwxrwxrwx 1 root root 15 app_link -> /var/www/html/app
chmod 700 app_link
# 实际修改的是 /var/www/html/app 的权限
如果你确实想操作软链接本身(而非目标),使用:
chmod -h 700 app_link
但注意:
例如:
ln -s /data/share/share_link
用户能否访问 share_link,取决于:
ls -ld /data/share
如果目录权限是 750,而用户不在属组:
drwxr-x--- root share /data/share
那么该用户 无法访问软链接
rxrchmod 755 /var/www/html
chmod 644 /var/www/html/index.php
即使权限正确,也可能被 SELinux 拦截:
查看:
getenforce
必要时:
chcon -R -t httpd_sys_content_t /data/share
或临时测试:
setenforce 0
CentOS 中软链接权限不用设,设了也没用;真正要管的是“它指向的文件或目录的权限”。
如果你有具体场景(Web、脚本、用户隔离等),可以告诉我,我可以给你更精确的建议。