내가 읽고 있어요아푸에계속해서 프로그램을 참조 login
하지만 내 OS(Ubuntu)에서 이 프로그램이 무엇을 하고 있는지 여전히 알 수 없습니다.
§8.11:
일반적으로 실제 사용자 ID는
login(1)
로그인할 때 프로그램에 의해 설정되며 절대 변경되지 않습니다.login
수퍼유저 프로세스이기 때문에 setuid 호출 시 세 개의 사용자 ID를 모두 설정합니다.
ps aux | grep login
:
root 840 0.0 0.0 70732 6120 ? Ss 15:13 0:00 /lib/systemd/systemd-logind
root 1120 0.0 0.0 419680 9468 ? Sl 15:13 0:00 gdm-session-worker [pam/gdm-autologin]
tianhe 1151 0.0 0.1 445184 20540 ? SLl 15:13 0:05 /usr/bin/gnome-keyring-daemon --daemonize --login
tianhe 10838 0.0 0.0 21536 1060 pts/0 S+ 21:50 0:00 grep --color=auto login
간단히 말해서, login
이 프로그램은 운영 체제에 어떤 기능을 제공합니까?
어떤 상황에서 사용되거나 실행되나요?
login
그런데 와 비교하면 어떤가요 ssh
?
답변1
대화형으로 실행하는 명령이 아닙니다.
이 login
명령은 일반적으로 명령줄에 입력되지 않습니다.
-수동 login
. IBM AIX 7.2
한때 그랬습니다. 이 접근 방식은 1980년대에 효과가 있었고 C-셸 사용자는 외부 프로그램에 연결하고 수퍼유저의 UID로 설정된 해당 프로그램으로 셸 프로세스를 덮어쓸 login
수 있는 편리한 내장 명령 도 갖고 있었습니다.exec
login
그러나 오늘날의 운영 체제는 더 이상 1980년대 BSD처럼 작동하지 않습니다. ㅏ로그인 세션setsenv
(그런데, 이것은 거기에서 논의된 세션 유형입니다.) 프로세스에서 제대로 시작하기에는 단방향 트랩도어(사용자 보안 컨텍스트, 제어 그룹, UID "taint" 플래그 변경, AIX 등)가 너무 많습니다. 임의의 사용자 새 로그인 세션이미 여기에사용자 로그인 세션.
그럼에도 불구하고 1990년대 PAM의 출현으로 인해 login
새 프로그램에 의해 덮어쓰여질 쉘 프로세스는 더 이상 1980년대처럼 트리의 최상위 프로세스가 아닙니다. 이제 이는 감독자 프로세스의 하위 프로세스이며 PAM 세션 설정 및 해제를 담당합니다.
이것이 "데몬화"가 오류이고 login
기존 로그인 세션에서 실행하는 것이 실제로 현명하지 않은 이유입니다.
시스템 프로그램입니다.
login
~라고 불리는단말기 로그인 서비스일반적으로 서비스 또는 서비스 관리 인프라가 일부 환경 변수를 설정한 후 터미널 장치를 열고 라인 규칙을 초기화/푸시하고 이를 제어 터미널로 설정하고 일부 제어 시퀀스로 터미널을 초기화합니다.
- 1987년 AT&T Unix System 5 릴리스 4에서는 이러한 서비스가
ttymon
서비스 액세스 기능의 일부로 관리되었습니다. 오늘날에도 OpenSolaris와 Illumos 및 Schillix와 같은 파생 제품에서 이러한 내용을 볼 수 있습니다. - systemd Linux 운영 체제에서 이는 서비스입니다(일반적으로 서비스의 별칭). 이것은 우주의 시스템 5 측면에서 주목할 만한 이상한 현상으로, 거의 아무도 호출하지 않는 상황에서도 여전히 프로그램을 사용하여 호출합니다.
autovt@something
getty@something
getty
login
- 운영 체제에서 사용Nosh 도구 세트서비스 관리의 경우 이것이 서비스입니다.
ttylogin@something
- 우주의 BSD 측에서 nosh 서비스 관리가 사용되지 않으면 이러한 서비스는 표에 따라 프로세스 #1에 의해 생성된 서비스입니다
/etc/ttys
.
가상 또는 실제 터미널에 로그인하는 경우 login
대화형 로그인 셸을 호출하기 전에 비밀번호와 사용자 이름을 입력하라는 메시지가 표시됩니다.
login
SSH 로그인에는 사용되지 않습니다. 사용되지도 않음GUI로그인. 둘은 다르게 작동하며 둘 다 다른 프로그램을 사용합니다. login
텍스트 사용자 인터페이스를 통해 터미널과 대화할 것으로 예상됩니다.
그것예예전 Berkeley rlogin 시스템에서 사용되었지만 지금은 사용하면 안 됩니다. 소위 버클리 "r-" 순서에 대한 추가 논의는 이 답변의 범위를 훨씬 벗어납니다. 그래서 저는 일이 1980년대와 같은 방식으로 진행되지 않는다고 말씀드리고 싶습니다.
추가 읽기
- 조나단 드 보인 폴라드. "단말기".스낵 가이드. 소프트웨어.
- 조나단 데보인 폴라드(2018).
getty
init
과거 에서 태어났습니다 .. 자주 주어지는 답변입니다. - https://unix.stackexchange.com/a/446619/5132
답변2
창 세션에 로그인되어 있을 수 있으며, 이 경우 디스플레이 관리자 xdm
... gdm
가 kdm
사용자를 로그인합니다. 하지만 로그인하는 다른 방법도 있습니다. 예를 들어 (지시한 대로) 웹을 통해 사용할 수 있습니다 ssh
. 로컬로 로그인했지만 윈도우 시스템에는 로그인하지 않은 경우 다른 로그인 절차가 필요합니다. 로그인이 들어가는 곳입니다.
을 누르고 ctrlaltf1로그인하여 실행 중인 프로세스를 살펴보세요. 로그인 상태를 유지하는 이유