`su -c "command" user` は失敗するが、コマンドは成功する

`su -c "command" user` は失敗するが、コマンドは成功する

このコマンドは、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 でラップされたコマンドも機能しますが、機能しない特殊なケースがあります。これはなぜ可能なのでしょうか?

関連情報