![Linux 로그인은 어떻게 작동하나요? [복사]](https://linux55.com/image/69101/Linux%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%9D%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9E%91%EB%8F%99%ED%95%98%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
실제로 로그인이 어떻게 작동하는지 알고 싶습니다. ldap을 사용하도록 로그인을 설정하거나 계속 사용할 수 있으므로 확실히 커널의 일부는 아니지만 /etc/passwd
커널은 인증 및 권한 부여 활동을 수행하기 위해 확실히 해당 정보를 사용할 수 있습니다.
전체 로그인 메커니즘을 시작하는 것처럼 보이는 logind라는 시스템 데몬도 있습니다.
제가 볼 수 있는 디자인 문서가 있나요? 아니면 누군가 여기에 설명할 수 있나요?
답변1
바이너리는 login
(원칙적으로) 매우 간단합니다. 이는 사용자로 실행되는 프로그램일 뿐입니다( root
첫 번째 사용자 공간 프로세스에서 시작하여 X 디스플레이 관리자를 통해 간접적으로 시작됨). 로그인한 사용자를 인증하고, 성공하면 사용자를 변경하고(일련의 시스템 호출 중 하나를 사용하여) 적절한 환경 변수, umask 등 및 sa 로그인 쉘을 설정합니다.getty
init
setuid()
exec()
소스 코드를 읽는 것이 도움이 될 수 있지만, 만약 그렇게 한다면 적어도 작동에 익숙해질 때까지 설정하지 않고(데비안 설치를 위한 표준 로그인을 가정하여) shadow-utils
읽는 것이USE_PAM
답변2
이 웹사이트시작하기에 아주 좋은 곳인 것 같습니다. PAM에 대해 논의합니다 /etc/passwd
. 나는 당신이 실제로 PAM에 대한 설명을 찾고 있다고 생각합니다. 특정 목적을 위해 달성하고 싶은 것이 있는 경우 질문을 편집하여 달성하려는 것이 무엇인지 알려주세요.