cephを自動的にインストールするプログラムを作成しました。プログラムを手動で実行すると正常に動作しますが、getty(以下のconf)を使用して自動的にログインし、このように/etc/profile "./myapp"の最後の行でプログラムを実行すると、次の承認を受けます。エラー。
** ERROR: error creating empty object store in /var/lib/ceph/tmp/mnt.XSlAG1: (13) Permission denied
プログラム実行時に問題が発生するceph-disk activate
私の問題は何ですか?
/etc/systemd/system/getty\@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --skip-login --login-options "-f root" %I 38400 linux
答え1
man 1 login
説明する:
-f は、
2 番目のログイン確認をスキップするために使用されます。これは特にrootでは動作せず、Linuxでも正しく動作しないようです。
あなたがやっていることは--login-options "-f root"
明らかにうまくいきません。
だから私がルートシェルでなければならないと思ったのはルートシェルではありません。 /etc/profileに追加することでwhoami
確認できます。
答え2
sudoで実行すると問題が解決しました。 "/usr/bin/sudo /root/myapp" 自動的にログインするとルートになりますが、まだ分からないことがあります。
私の問題は何を解決しましたか?ありがとうございます。