일반적으로 프로세스를 실행하고 소유자(ruid 또는 euid)가 되려면 사용자가 로그인해야 합니까? 이것은 모든 사용자 또는 루트가 아닌 사용자에게 작동합니까? 예를 들어:
Linux 부팅 시퀀스에서 커널은 첫 번째 프로세스로 init 시스템을 시작한 다음
login
모든 사용자가 로그인할 수 있도록 init 프로세스를 실행합니다. init 프로세스는 에 속합니다root
.root
프로세스를 시작하기 전에 사용자가 로그인해야 합니까init
? 바라보다로그인한 모든 사용자에게 "systemd" 프로세스가 있는 이유는 무엇입니까?대화형 셸을 시작하지 않고 run 명령을 사용하는 경우
ssh
명령을 실행하기 전에 로그인해야 합니까?
프로세스를 실행하기 위해 프로세스 소유자로 로그인할 필요가 없으면 어떻게 해야 합니까?
감사해요.
답변1
아니요, 지정된 사용자로 실행되는 프로세스를 시작하기 위해 로그인할 필요가 없습니다. 로그인은 사용자 공간 구성입니다. 커널은 이에 대해 신경 쓰지 않습니다. 이에 대한 많은 예가 있습니다. 예를 들어, 사용자가 로그인하지 않고도 cron 작업을 실행할 수 있습니다.
특정 문제를 해결하려면:
- 아니요, 다행스럽게도 루트는 프로세스를 시작하기 위해 로그인할 필요가 없습니다
init
(수천 대의 서버와 수백만 대의 VM 대기열을 처리한다고 상상해 보십시오). - SSH를 사용하여 연결하면 로그인으로 간주됩니다.