Postfix:为某个命令管道别名设置权限

Fmy*_*Oen 5 linux permissions alias postfix-mta pipe

我正在尝试设置一个别名来为 Postfix 中的命令传输传入邮件。所以我的里面有这样的东西/etc/aliases

myuser: "|/usr/bin/command --parameter1 --parameter2"
Run Code Online (Sandbox Code Playgroud)

问题是 Postfix/usr/bin/command以 user 身份执行nobody:nogroup。根据此描述,它可以更改,但不能更改单个别名。那么问题来了,如何给用户设置某个别名呢?设置nobody:nogroup目录/usr/bin/command应该运行不是一个选项。

Aar*_*lla 1

替换/usr/bin/command/usr/bin/sudo -u <user> /usr/bin/command并配置sudo以允许nobody执行此命令。

[编辑]您的问题有两种解决方案:

  1. 使所有必要的文件可读/可写nobody:nogroup
  2. 更改用户(使用suid 脚本su/ sudo)。

如果您两者都不喜欢,那么您的问题就没有解决方案。你不能这样做,aliases(5)因为格式不支持这个(其他程序也读取这个文件,所以 postfix 不能改变语法)。

您可以使用default_privs,但这会更改所有外部命令的用户,而您不希望这样(巨大的安全风险)。