首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用syslog中的输出通道指定文件权限。

尝试使用syslog中的输出通道指定文件权限。
EN

Stack Overflow用户
提问于 2022-03-09 12:19:53
回答 2查看 379关注 0票数 1

我试图使用syslog与输出通道一起创建一些日志文件,并且需要它们具有特定的所有者和权限

在/etc/rsyslog中,我正在编写以下内容:

代码语言:javascript
复制
$umask 0027
$FileGroup the-mothers-of-invention

$outchannel rotate1,/path/mylog.log, 10000000,/path/my-rotate-script.sh /path mylog 99 .log 10000000

$template myTemplate,"%timegenerated:1:23:date-rfc3339%+%timegenerated:28:36:date-rfc3339% %syslogpriority-text:1:2:uppercase%hostname%:%msg%\n"


if $app-name == 'MYAPP' then {
    *.*  :omfile:$rotate1;myTemplate
    stop
    }

使用此配置,我看到第一个mylog.log文件是通过权限640创建的,groupID是发明之母,但是在到达10 mv之后,脚本被正确执行(我使用mv命令),文件mylog__.log被创建,它继承原始mylog.log文件(到目前为止,一切正常)的所有者和权限,但是,当syslog自动创建新的mylog.log文件时,它用默认所有者(root:root)和权限(644)创建。

我已经阅读了很多信息&手册( rsyslog ),但是我没有看到任何关于合并权限更改和输出通道的信息。

有猜到吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-11 10:29:22

$FileCreateMode参数允许指定创建模式,用它来创建新文件。它只允许rsyslog为其运行的用户创建具有读写权限的文件。

首先,取消对rsyslog的任何限制:

代码语言:javascript
复制
$umask 0000

然后可以设置创建模式:

代码语言:javascript
复制
$FileCreateMode 0600
*.* /var/log/file-with-0600
$FileCreateMode 0644
*.* /var/log/file-with-0644

如果有一个侦听器必须绑定到1024下面的网络端口,则rsyslogd总是需要以根用户身份启动。例如,UDP侦听器通常需要侦听514,因此rsyslogd需要作为root启动。

这意味着,如果您有上面描述的任何侦听器,您就不能更改文件所有者--至少如果您要用rsyslog创建一个文件。

如果不是这样的话,您可以使用$PrivDropToGroup和/或$PrivDropToUser配置参数来指定一个组和/或用户,rsyslogd在初始化后应该将这些组和/或用户放到其中。

代码语言:javascript
复制
# These may require root privilege
$FileOwner syslog
$FileGroup adm
$PrivDropToUser syslog
$PrivDropToGroup syslog
票数 2
EN

Stack Overflow用户

发布于 2022-03-14 18:08:09

正如eDonkey所说,由于我没有使用任何UDP侦听器,所以在实例化outChannel之前包括了FileGroup和PrivDropToGroup,如下所示:

代码语言:javascript
复制
$umask 0000
$outchannel rotate1,/path/mylog.log, 10000000,/path/my-rotate-script.sh /path mylog 99 .log 10000000

$template myTemplate,"%timegenerated:1:23:date-rfc3339%+%timegenerated:28:36:date-rfc3339% %syslogpriority-text:1:2:uppercase%hostname%:%msg%\n"

if $app-name == 'MYAPP' then {
   $FileCreateMode 0640
   $FileGroup the-mothers-of-invention
   $PrivDropToGroup the-mothers-of-invention
   *.*  :omfile:$rotate1;myTemplate
   stop
}

非常感谢!

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

https://stackoverflow.com/questions/71409268

复制
相关文章

相似问题

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