gpt4 book ai didi

linux - Linux中目录的访问权限

转载 作者:太空宇宙 更新时间:2023-11-04 04:08:31 25 4
gpt4 key购买 nike

我有一个程序可以在网络服务器目录(/var/www/log)中创建日志文件。它每天都会生成一个新的日志文件。我已将此目录的访问权限设置为 777

chmod 777 -R /var/www/log

但是当系统生成新的一天的日志文件时,它没有访问权限777。我必须再次手动执行。如何正确设置目录的权限?该目录中的所有文件都必须自动具有 777。

最佳答案

  1. 让不需要的文件可执行是一个非常坏主意:这是一个可能的安全风险,而且是一个不小的风险。在您的情况下,root 拥有的某些文件对公众是可写的。对于对该文件具有写入权限的每个人来说,修改它们以以 root 身份运行(是的,您可以使任何文件在 Linux 下表现为程序)非常容易。正如 twalberg 指出的那样:这是一个非常糟糕的主意™
  2. 不要直接写入日志文件。它使系统管理员的生活变得不必要的困难。请改用syslog。每种编程语言都可以选择记录到系统日志。背后的原因:当公司达到一定规模时,他们很可能并且经常发生这种情况,他们使用集中式系统日志服务器。当每个包都表现良好时,所要做的就是更改一个配置文件,并将所有日志条目发送到该专用的系统日志服务器。或者管理员可能想要更改日志文件的写入位置,例如从/var/www/log 更改为/var/log/www。 syslogd.conf 中只有一行,但直接写入日志文件时的行数是不可预测的。直接写入日志文件可能是一个不错的后备方案,但默认情况下这样做是不好的做法。
  3. 如果您运行的软件不是由您编写的,但不是您的 Linux 发行版的 native 软件,您可以以 root 身份启动该软件,并使用 runusersudo 命令将其权限授予该软件的专用用户。该专用用户可以具有对日志文件的写访问权限。这仍然是一个黑客行为。服务应该能够以无人用户身份运行。

总的来说,我不明白为什么所有用户必须有权访问所有日志文件。请详细说明。

为了完整性:

最有可能发生的情况是 logrotate 启动。它是一种工具,可以压缩旧的日志文件并删除过时的日志文件,并根据 /etc/logrotate.conf 中的配置以及其中包含的文件创建新日志文件。否则一段时间后你的服务器就会耗尽空间。您可以更改 logrotate 的配置或

请勿执行以下操作

您可以将 chmod 0777 -R/var/www/log 添加到 crontab 根目录或各种系统 crontab。

关于linux - Linux中目录的访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20202460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com