我写了一个程序,它会自动安装 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
用于跳过第二次登录验证。这对于 root 来说尤其不起作用,而且在 Linux 下似乎也不能很好地工作。
你正在做的--login-options "-f root"
事情显然是不应该起作用的。
所以我认为应该是 root shell 的东西并不是 root shell。您可以添加whoami
到 /etc/profile 来确定。
答案2
使用 sudo 运行解决了我的问题。 “/usr/bin/sudo /root/myapp” 当我自动登录时我是 root,但有些不同我仍然不知道。
我的问题解决了什么。感谢你们。