![`su -c "command" user` 失败,而命令成功](https://linux22.com/image/169494/%60su%20-c%20%22command%22%20user%60%20%E5%A4%B1%E8%B4%A5%EF%BC%8C%E8%80%8C%E5%91%BD%E4%BB%A4%E6%88%90%E5%8A%9F.png)
当该命令由不同于 myuser 且具有 sudo 权限的用户运行时会失败:
sudo su - -c "export KAFKA_OPTS=-Djava.security.auth.login.config=/etc/kafka/conf/kafka_jaas.conf;/usr/hdp/current/kafka-broker/bin/kafka-configs.sh --zookeeper hostname1:2181,hostname2:2181,hostname3:2181 --alter --entity-type topics --entity-name topicname1 --add-config max.message.bytes=5" kafka
当以 kafka 身份登录时,会成功:
export KAFKA_OPTS=-Djava.security.auth.login.config=/etc/kafka/conf/kafka_jaas.conf;/usr/hdp/current/kafka-broker/bin/kafka-configs.sh --zookeeper hostname1:2181,hostname2:2181,hostname3:2181 --alter --entity-type topics --entity-name topicname1 --add-config max.message.bytes=5
通常 su 包装的命令也可以工作,我有一个特殊情况,它不起作用。这怎么可能?