웹사이트 검색

Linux에서 일반 사용자 로그인을 차단하거나 비활성화하는 방법


시스템 관리자로서 귀하는 어느 시점에서든 필연적으로 예정된 시스템 유지 관리를 수행하게 됩니다. 때로는 시스템에 문제가 발생할 수 있으며 문제를 해결하기 위해 시스템을 내려놓아야 할 수도 있습니다. 어떤 상황이든 루트가 아닌(일반) 사용자가 시스템에 연결하지 못하도록 하는 것이 좋습니다.

추가 읽기: Linux에서 SSH 루트 로그인을 비활성화 또는 활성화하고 SSH 액세스를 제한합니다.

이 문서에서는 /etc/nologin 파일과 Linux의 nologin 셸을 사용하여 루트가 아닌 사용자의 로그인을 차단하는 방법을 설명합니다. 실제로 무슨 일이 일어나고 있는지 사용자에게 설명하는 메시지를 설정하는 방법을 살펴보겠습니다.

/etc/nologin 파일을 사용하여 사용자 로그인을 차단하는 방법

/etc/nologin 파일의 주요 기능은 종료 프로세스 중에 시스템에 로그온을 시도하는 사용자에게 메시지(파일에 저장됨)를 표시하는 것입니다.

메시지가 사용자에게 표시되면 로그인 절차가 종료되어 사용자가 시스템에 로그인할 수 없게 됩니다.

이는 다음과 같이 파일을 수동으로 생성하여 사용자 로그인을 차단하는 데 사용할 수 있습니다.

vi /etc/nologin

시스템에 로그온을 시도하는 사용자에게 표시될 아래 메시지를 파일에 추가하십시오.

The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin [email . 

이제 모든 것이 작동하는지 테스트할 수 있습니다. 아래 스크린샷에서 볼 수 있듯이 일반 사용자 tecmint는 로그인할 수 없습니다.

nologin 쉘을 사용하여 사용자 로그인을 차단하는 방법

이 방법은 약간 다르게 작동합니다. 즉, 사용자가 셸에 액세스하는 것만 차단합니다. 그러나 사용자는 시스템에 연결하기 위해 쉘이 반드시 필요하지 않은 ftp와 같은 프로그램을 통해 시스템에 로그온할 수 있습니다.

또한 특별한 시나리오에서 특정 사용자에 대한 셸 액세스를 차단할 수 있습니다.

RHEL/CentOS/Fedora에서

chsh(change shell) 명령을 사용하여 /etc/passwd 파일의 사용자 쉘을 /bin/bash와 같은 것으로 변경하면 됩니다. 또는 /bin/sh/sbin/nologin으로 변경하면 로그인 거부를 의미합니다.

chsh -s /bin/nologin tecmint

데비안/우분투에서

여기서는 /bin/false 파일을 사용해야 합니다. 아래 명령은 사용자 tecmint 쉘을 /bin/false로 변경하여 (사용자가 로그인 자격 증명을 제공한 후) 아무것도 하지 않음을 의미합니다.

sudo chsh -s /bin/false tecmint

다음 관련 기사를 읽고 싶을 수도 있습니다.

  1. Ubuntu에서 루트 로그인을 활성화 및 비활성화하는 방법
  2. RHEL/CentOS 7에서 잊어버린 루트 사용자 계정 비밀번호 재설정/복구
  3. chroot Jail을 사용하여 SFTP 사용자를 홈 디렉터리로 제한하는 방법
  4. Linux에서 로컬, 사용자 및 시스템 전체 환경 변수를 설정 및 설정 해제하는 방법

지금은 여기까지입니다! 이 주제와 관련하여 공유할 질문이나 추가 아이디어가 있는 경우 아래 의견 양식을 활용하세요.