首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux中使用C创建"/var/log/“目录

在Linux中使用C创建"/var/log/“目录
EN

Stack Overflow用户
提问于 2015-03-09 09:54:42
回答 1查看 1.6K关注 0票数 0

我需要使用C程序在/var/log中创建一个目录,该程序执行,而不是以超级用户权限运行This linked question didn't help me!

我知道/var/log的文件权限不允许我们在其中写入,也不想更改它。我使用mkdir()创建目录,该目录由于明显的原因而失败。

那么,普通的(没有根权限的)C程序是否可以在/var/log中创建一个目录?

我的目标:使用/var/log中的C程序创建一个目录,而不更改父文件权限。我应该以根用户的身份运行我的程序吗?但我宁愿不喜欢

帮帮忙吧。提亚

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-09 10:10:16

您不能以编程方式推翻文件系统的访问控制。

您可以尝试使用系统提供的现有日志机制。例如,systemd附带的journald允许每个用户进行日志记录。

如果您的程序以用户身份运行,它应该只使用用户的主目录来存储文件,无论是配置还是日志记录。这样想一想:如果多个用户同时使用您的程序,会发生什么情况?

如果您的程序确实是一个系统守护进程,请查看其他在自己用户下运行的软件。它们可以通过调用它们的init脚本(以不同用户的身份运行守护进程本身)准备自己的日志目录,或者在启动时清除它们的特权。一个例子是httpd,它需要根权限来侦听端口80。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28939103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档