오늘 회의 내용:
x@yz:~$ shutdown now
User nobody is logged in on ???.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl poweroff -i'.
나는 그것을 항상 사용해 왔지만 shutdown now
이런 것을 본 적이 없습니다. 이건 뭐죠? nobody
문제 가 있습니까 ???
? 나는 내 시스템의 유일한 사용자이고 nobody
시스템을 망친 적이 없습니다.
편집(의견 기준):
x@yz:~$ ps -aux | grep nobody
nobody 2666 0.0 0.0 45408 132 ? Ss May 09 0:00 /lib/systemd/systemd --user
nobody 2667 0.0 0.0 163956 8 ? S May 09 0:00 (sd-pam)
x 11189 0.0 0.0 24480 1004 pts/0 S+ 02:50 0:00 grep --color=auto nobody
x@yz:~$ ps -U 65534
PID TTY TIME CMD
2666 ? 00:00:00 systemd
2667 ? 00:00:00 (sd-pam)
답변1
이 모든 것을 명확히 하기 위해:-
1. 시스템에 사용자가 아무도 없다면 어떻게 사용자가 들어갈 수 있나요?
아무도 사용자는 많은 Linux 및 Unix 배포판에서 새로 설치할 때 기본적으로 생성되는 의사 사용자입니다.
2. 아무도 없는 사용자는 누구입니까?
"아무도"사용자는 시스템에 대해 최소한의 권한을 갖습니다. 파일을 소유하지 않고, 권한이 있는 그룹에 속하지도 않으며, 다른 사용자가 소유한 능력 이외의 능력도 없습니다. 누구도 사용자에게 쉘을 할당하지 않습니다.
~$ sudo grep nobody /etc/passwd
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
3. none 사용자의 목적은 무엇입니까?
초기 Unix 및 Linux 배포판에서는 시스템의 나머지 부분에 대한 손상을 제한하기 위해 데몬(예: 웹 서버)을 무인 사용자로 실행하는 것이 일반적이었기 때문에 악의적인 사용자가 그러한 데몬에 대한 제어권을 획득한 경우 파일이나 권한이 없습니다. 액세스할 수 있습니다.
그러나 문제는 아무도 사용자로 실행되지 않는 데몬이 여러 개 있을 때 이것이 더 이상 의미가 없다는 것입니다. 이것이 바로 오늘날 이러한 데몬이 자체 사용자를 갖는 이유입니다.
4. 무인 사용자는 어떻게 시스템에 로그인합니까?
어느 누구의 사용자도 실행하지 않는 일부 서비스/데몬을 실행하고 있을 수 있습니다. 서비스의 예로는 httpd, nfs, postfix 등이 있습니다.
5. 시스템에서 무인 사용자로 실행되는 두 프로세스는 무엇입니까?
- systemd - 사용자가 처음 로그인할 때 시작된 인스턴스(귀하의 경우 무인 사용자)
- (만약에pam_systemd활성화됨) systemd는 "systemd-user" 서비스 이름을 사용하여 사용자에 대한 PAM 세션을 여는 하위 프로세스 "(sd-pam)"를 시작합니다.
6. none 사용자로 실행되는 서비스가 더 이상 실행되지 않는데도 프로세스(systemd 및 sd-pam)가 여전히 존재하는 이유는 무엇입니까?
글쎄, 이것은 버그로 보고되었습니다.
Systemd-user가 PAM 세션을 제대로 닫지 않았습니다.
sd-pam 하위 프로세스가 pam_open_session() 후에 권한을 제거하기 때문에 Systemd는 pam 세션을 제대로 닫을 수 없습니다. 따라서 pam_close_session()은 루트 대신 사용자로 실행되며, 이는 세션을 정리하기 위해 권한 있는 작업을 수행해야 하는 PAM 모듈을 중단시킵니다.
이에 대한 추가 정보:
https://github.com/systemd/systemd/issues/8598
https://github.com/systemd/systemd/issues/1350
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803907;msg=5