アカウントがあります
grafana:x:494:494:Grafana User:/tmp:/sbin/nologin
コンテナの実行に使用したいです。もし私がするなら
jsmith$ sudo -u grafana -s TMPDIR=/bs XDG_DATA_HOME=/bs XDG_CONFIG_DIR=/bs podman run --network-config-dir=/bs -it alpine
「/home/jsmithにchdirを指定できませんでした。権限が拒否されました」というメッセージが表示されます。 grafanaが書き込むことができるディレクトリに初めてchdirを指定すると、OKコマンドを実行できます。しかし、ディレクトリを変更せずに、つまり単一のコマンドを使用して起動スクリプトから起動したいと思います。私は何をすべきかわかりません。 HOMEを設定しても役に立ちません。私は以下を使用しなければこの問題を解決できませんでした。
jsmith$ sudo su -l -s /bin/bash -c 'XDG_DATA_HOME=/bs XDG_CONFIG_DIR=/bs podman run --network-config-dir=/bs -it alpine' grafana
しかし、これはバイパスのようです。
ベストアンサー1
私が見るには、これは2つの方法で達成できるようです。
最初の方法は、ログインできるようにアカウントを変更することです。
grafana:x:494:494:Grafana User:/tmp:/bin/bash
これは潜在的なセキュリティリスクになる可能性があるため、それを望まない場合は、起動スクリプトの代わりにシステム単位ファイルを使用して起動することを検討できます。
/etc/systemd/system/[mycontainer].service に保存します。 (mycontainerを適切な名前に置き換えます。)
[Unit]
Description=Run Container
AssertPathExists=/bs
[Service]
User=grafana
Group=grafana
Environment="XDG_DATA_HOME=/bs"
Environment="XDG_CONFIG_DIR=/bs"
Environment="TMPDIR=/bs"
ExecStart=podman run --network-config-dir=/bs -it alpine
Nice=5
# Uncomment this if you want the container to be started on boot, otherwise don't
#[Install]
#WantedBy=multi-user.target
その後、実行systemctl enable mycontainer
して使用systemctl start mycontainer
してsystemctl stop mycontainer
管理します。
私が見つけたSystemdデバイスの詳細については、これとても役に立ちます。