根据其docs,Apache Kafka默认登录到/tmp/kafka-logs
。如何以非root用户身份运行Kafka?
由于/tmp
在Linux中属于root
,所以对我而言,这意味着您必须运行Kafka作为root
才能正确登录到该位置。但是出于安全性考虑,我不希望它以root身份运行,所以我试图弄清楚我的选择是什么。我相信我有以下之间进行选择:在-Dkafka.logs.dir
命令行开关
- 用于指定一个不同的位置(即不属于root)的日志被写入;或
- 提前修改系统(也就是在启动Kafka之前),以便
/tmp/kafka-logs
与将启动Kafka的用户拥有相同的用户(或者,一般来说,确保Kafka用户拥有正确的权限r/w/x到该目录);或
有人可以澄清(或纠正)我对Linux权限和流程的承诺是否正确,并且这些是我唯一的两种选择?当然,如果还有其他选项可以让我以非根的方式运行Kafka,请加入!
在我遇到过的每个Linux和UNIX上,'/ tmp /'是'rwxrwxrwx'。 – slim
“/ tmp在Linux中属于root”,这可能是真的,但所有权不是最终所有在FS权限中,检查/ tmp的模式为@slim建议 – rmlan
谢谢@rmlan(+1) - 请在他的回答下面,关于Mac和Linux之间的区别,请参阅我的** slim **问题。我对你有同样的问题! – smeeb