unix - 符号链接正在获取权限错误
问题描述
我正在尝试从其他用户那里获取符号链接。
我的文件位于/home/serviceA/logs/a.txt
并且我想创建一个指向/home/centos/logs/a.txt
.
这是我以 root 用户身份运行的命令:
ln -s /home/serviceA/logs/a.txt /home/centos/logs/a.txt
我看到文件名的红色。而且我仍然收到权限被拒绝错误
错误是lrwxrwxrwx 1 root root 47 Feb 12 01:49 /home/centos/logs/a.txt -> /home/serviceA/logs/a.txt
最终,我想将/home/centos/logs/a.txt
日志文件转发到 Splunk。
为什么创建符号链接后出现权限错误?我该如何解决?(chmod 777
没有帮助)
解决方案
不幸的是,这不是符号链接在 Linux 系统上的工作方式。您不能创建指向文件的符号链接,然后更改符号链接的权限并让它更改实际文件的权限。想想这种方法的安全问题!
如果您希望 Splunk 能够监控/home/serviceA/logs/a.txt
,您将需要:
- 将文件更改为全球可读 (
chmod a+r /home/serviceA/logs/a.txt
),或者 - 添加
splunk
(假设 Splunk 以用户身份运行splunk
)到拥有文件的组,并使文件组可读 (chmod g+r /home/serviceA/logs/a.txt
),或者 - 以 root 身份运行 Splunk,但这非常糟糕,不要在生产环境中执行此操作,仅用于测试,即使这样,也非常糟糕
推荐阅读
- python - 在 Python 3.8 中连接到 redis 集群的 AttributeError 错误
- sql - 当我尝试执行简单查询时,Spark 3 失败
- sql - 求两个 CASE 语句的总和 - (如何使用 CASE 表达式或横向 JOIN
- c - 未对齐的内存访问与数组
- javascript - 在 ExtJS 中创建容器面板时出现问题
- angular - .NET Core 3.1 OutOfProcess 和 AspNetCoreModule:应用程序在加载时挂起
- swiftui - PageTabViewStyle 打破 NavigationView
- vue.js - Vue3:是否可以使用 app.component(...) 注册单个文件组件?
- javascript - React Hooks - 不调用 Memoise 函数
- c - 是否可以验证变量参数计数?