私はあなたのニーズに合うかもしれない追加の代替案を提供できますが、それは満たされるためにいくつかの前提条件を必要とします:
次の手順は次のとおりです。
secret-tool
from libsecret
を使用してパスワードを保存します。例えば:
$ secret-tool store --label=myProgram myService password
Password: <type it here>
実行可能ファイルが環境変数からのパスワードの読み取りをサポートしている場合、それはより良い方法です。
[Service]
ExecStart=/usr/bin/sh -c 'env SECRET=$(secret-tool lookup myService password) /usr/bin/script'
実行可能ファイルがパスワードを引数として受け入れる場合でも、次のsecret-tool
ように使用できます。
[Service]
ExecStart=/usr/bin/sh -c '/usr/bin/script --secret=$(secret-tool lookup myService password)'
注意:パスワードはsystemctl --user status myUnit.service
コマンドラインで実行されているものとして引数を表示するので、実行するとパスワードは明白に表示されます。つまり、これはtop
またはを実行しているユーザーにも表示されますps -aux
。