로그인
리눅스 시스템에 접속을 하기 위해서는 먼저 먼저 사용자 로그인 과정을 해야 합니다.
로그인이란?
리눅스에서 로그인(login)은 사용자가 시스템에 접근하기 위해 사용하는 프로세스
입니다. 로그인 과정에서 사용자는 자신의 계정 이름과 비밀번호를 입력하여 인증을 받게 됩니다. 인증이 완료되면, 시스템은 사용자가 접근할 수 있는 리소스와 권한 등을 정해주고, 로그인된 사용자를 위한 작업 환경을 생성합니다.
리눅스에서는 다중 사용자 시스템을 지원하기 때문에, 여러 사용자가 동시에 로그인
할 수 있습니다. 각 사용자는 자신의 계정 정보로 로그인하여 각자의 작업을 수행할 수 있습니다.
로그인은 보안적인 측면에서 매우 중요합니다. 올바른 인증 절차를 거치지 않고 로그인을 시도하면, 시스템은 접근을 차단합니다. 또한, 로그인 정보를 잘못 관리하거나 로그인 시도에 대한 로그를 제대로 기록하지 않으면 보안상 위험에 노출될 수 있습니다. 따라서, 로그인 프로세스는 시스템 보안
을 유지하기 위해 중요한 부분 중 하나입니다.
로그인 프로세스
리눅스에서 로그인시에는 다양한 내부 프로세스들이 실행됩니다. 이러한 내부 프로세스들은 사용자의 로그인 세션을 설정하고, 환경 변수를 초기화하며, 초기화된 셸을 시작합니다. 이러한 내부 프로세스들은 다음과 같습니다.
-
로그인 프로세스(login process): 사용자가 로그인하면, 로그인 프로세스가 사용자 계정의 정보를 확인하고, 사용자의 셸을 실행합니다. 이 프로세스는 로그인한 사용자를 새로운 세션에 할당하며, 사용자의 환경 설정 파일을 로드합니다.
-
셸 프로세스(shell process): 로그인 프로세스가 사용자의 셸을 실행하면, 셸 프로세스가 시작됩니다. 셸은 사용자가 입력한 명령어를 처리하고, 실행 결과를 출력합니다. 셸은 사용자의 세션 동안 계속 실행되며, 사용자가 로그아웃하면 종료됩니다.
-
init 프로세스(init process): init 프로세스는 시스템 부팅시 시작되며, 사용자의 로그인 세션을 설정하는 역할을 합니다. init 프로세스는 시스템에서 사용하는 다양한 서비스들을 시작하고, 관리합니다.
-
systemd 프로세스(systemd process): systemd 프로세스는 최신 리눅스 배포판에서 사용되는 초기화 시스템입니다. systemd는 시스템 부팅시에 로드되며, 다양한 서비스들을 실행하고 관리합니다. systemd는 로그인 세션 관리 뿐만 아니라, 다양한 시스템 관리 작업을 수행합니다.
이러한 내부 프로세스들은 사용자가 로그인할 때마다 실행됩니다. 이들 프로세스들은 사용자의 세션을 초기화하고, 필요한 서비스를 시작하며, 사용자의 환경을 설정합니다. 이들 프로세스들은 시스템과 사용자 간의 상호작용을 가능하게 하며, 사용자가 시스템을 보다 효율적으로 사용할 수 있도록 돕습니다.