根據其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