2016-11-30 6 views
-1

ubuntuマシンにkubernetesをダウンロードしてインストールするためのスクリプトを書いています。スーパーユーザーとしてsystemctlコマンドを実行できないのはなぜですか?

スクリプトの最後の部分は、kubeletサービスを開始することです。

echo "Initializing the master node" 
kubeadm reset 
systemctl start kubelet.service 
kubeadm init 

私はユーザーにrootユーザーとしてスクリプトを実行させています。ただし、スクリプトがsystemctlコマンドに到達すると、スクリプトはそれを実行できません。さらに、rootユーザーとして手動でコマンドを実行しようとしました。私はそうすることができませんでした。しかし、私はそれを通常のユーザーとして実行することができます。 誰にも分かりますか?回避策はありますか?

+0

サービスにはどのような権限がありますか? – PeeHaa

+0

誰もが実行可能です。 –

+0

エラーメッセージは何ですか? – PeeHaa

答えて

0

可能な回避策は、スクリプトがrootとして実行されていても、通常のユーザーとしてサービスを開始することです。

originalUser="$(logname 2>/dev/null)" 

して、このユーザーとしてサービスを呼び出す:第一に、あなたは「オリジナル」ユーザーが誰であるかを知る必要があるかもしれない

su - "$originalUser" -c "systemctl start kubelet.service" 

その特定のサービスのユーザーによって実行さに依存しています誰がルートではないのですか(いくつかのプログラムはそれをテストします)。

関連する問題