【发布时间】:2017-02-06 17:13:34
【问题描述】:
根据其docs,Apache Kafka 默认登录到/tmp/kafka-logs。
由于/tmp 在Linux 中归root 所有,因此对我来说,这意味着您必须以root 的身份运行Kafka 才能正确登录到该位置。但是出于安全目的,我不希望它以 root 身份运行,所以我试图弄清楚我的选择是什么。我相信我必须在以下选项中做出选择:
- 使用
-Dkafka.logs.dir命令行开关为要写入的日志指定不同的位置(不属于root 用户);或 - 提前(即在启动 Kafka 之前)修改系统,以便
/tmp/kafka-logs与将要启动 Kafka 的用户拥有相同的用户(或者,通常,确保 Kafka 用户拥有r/w/x 对该目录的正确权限);或
有人可以澄清(或更正)我对 Linux 权限和进程的理解是正确的,并且这是我仅有的两个选择吗?当然,如果有任何其他选项可以让我以非 root 身份运行 Kafka,请加入!
【问题讨论】:
-
/tmp/在我遇到的所有 Linux 和 UNIX 上都是rwxrwxrwx。 -
"/tmp 在 Linux 中由 root 拥有",这可能是真的,但所有权并不是 FS 权限的最终目的,请按照@slim 的建议检查 /tmp 的模式
-
感谢@rmlan (+1) - 请在他的回答下方查看我对 slim 的问题,关于 Mac 和 Linux 之间的差异。我有同样的问题要问你!
标签: java linux apache-kafka sudo