![자동 로그인을 사용하여 프로그램을 실행하면 bash에서 실행하는 것처럼 작동하지 않습니다.](https://linux55.com/image/130196/%EC%9E%90%EB%8F%99%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EB%A9%B4%20bash%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EA%B2%83%EC%B2%98%EB%9F%BC%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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는
두 번째 로그인 확인을 건너뛰는 데 사용됩니다. 이것은 특히 루트에서는 작동하지 않으며 Linux에서도 제대로 작동하지 않는 것 같습니다.
당신이 하고 있는 일은 --login-options "-f root"
분명히 작동하지 않을 것입니다.
그래서 제가 루트 쉘이어야 한다고 생각한 것은 루트 쉘이 아닙니다. /etc/profile에 추가하여 whoami
확인할 수 있습니다.
답변2
sudo로 실행하면 문제가 해결되었습니다. "/usr/bin/sudo /root/myapp" 자동으로 로그인하면 루트가 되지만 아직 모르는 다른 점이 있습니다.
내 문제는 무엇을 해결 했습니까? 감사합니다.