it-swarm.dev

계정을 비활성화하지 않고 사용자 로그인 비활성화

adduser 명령을 사용하여 "bogus"라는 사용자를 작성한다고 가정 해 봅시다. 계정을 비활성화하지 않고이 사용자가 유효한 로그인 옵션이되지 않도록하려면 어떻게해야합니까? 요컨대, su - bogus, 그러나 일반 로그인 프롬프트를 통해 액세스하고 싶지 않습니다.

주변을 검색하면 해당 사용자의 비밀번호를 비활성화해야하지만 passwd -d bogus는 도움이되지 않았습니다. 사실 암호를 입력하지 않아도 가짜에 로그인 할 수 있기 때문에 상황이 악화되었습니다.

주어진 계정에 대해 정기적 인 로그인을 비활성화하는 방법이 있습니까?

참고 : 명확하게 말하자면 gdm과 같은 그래픽 로그인 화면의 메뉴 옵션에서 사용자를 제거하는 방법을 알고 있지만 이러한 방법은 실제로 로그인을 비활성화하지 않고 계정을 숨 깁니다. 정규 로그인을 완전히 비활성화하고 텍스트 모드가 포함됩니다.

92
Malabarba
passwd -l user

당신이 원하는 것입니다.

사용자 계정이 잠 깁니다. 그러나 당신은 여전히 ​​할 수 있습니다

su - user

하지만 루트로 su - user해야합니다.

또는 !의 사용자 암호 앞에 /etc/shadow를 추가하여 동일한 작업을 수행 할 수 있습니다 (이것은 모두 passwd -l가 뒤에서 수행함). 그리고 passwd -u는 이것을 취소 할 것입니다.

105
Chad Feller

passwd(1)의 맨 페이지에 passwd -l :

이렇게해도 계정이 비활성화되지는 않습니다. 사용자는 여전히 다른 인증 토큰 (예 : SSH 키)을 사용하여 로그인 할 수 있습니다. 계정을 비활성화하려면 관리자는 usermod --expiredate 1 (계정 만료 날짜를 1970 년 1 월 2 일로 설정)을 사용해야합니다.

그래서

usermod --expiredate 1 [LOGIN]

사용자가 더 이상 사용할 수없는 계정을 비활성화하는 올바른 방법 인 것 같습니다 (예 : 회사를 떠났기 때문에).

39
Jörg Gottschlich

사용자가 로그인 할 수 없도록하는 두 가지 방법이 있습니다.

  1. /etc/passwd를 편집하여 사용자를 잠글 수 있습니다.
  2. -l 스위치로 passwd 명령을 직접 발행하여

두 번째 경우 사용자는 다른 인증 토큰 (예 : SSH 키)을 사용하여 로그인 할 수 있습니다.

방법 # 1

  1. Nologin이있는 위치를 찾으십시오./bin/nologin 또는/bin/sbin/nologin
  2. 터미널을 열고 루트로 로그인하십시오
  3. vi /etc/passwd를 입력하십시오.

이제 passwd 파일 프레스에 있습니다. Ins 파일을 편집합니다.

nologin 옵션을 사용하여 아래 행을 변경하십시오 (/bin/bash는 사용자가 로그인 할 수 있음을 의미합니다).

root:x:0:0:root:/root:/bin/bash

이에. nologin는 사용자가 로그인 할 수 없음을 의미합니다.

root:x:0:0:root:/root:/bin/nologin

(또는/bin/sbin/nologin 사용)

  1. Vi를 닫습니다 Esc:wq

방법 # 2

사용자를 잠 그려면 : passwd -l username

사용자를 잠금 해제하려면 : passwd -u username

28
Mansur Ul Hasan

/etc/passwd 파일에서 약간의 변경 만하면됩니다.

일반적으로 기본적으로 /bin/bash 인 Shell을 변경해야합니다. 즉이 Shell을 사용하여 로그인하여 /bin/nologin 또는 /bin/false로 변경할 수 있습니다. /bin/nologin가 오래되었으므로 /bin/false (으)로 변경하는 것이 좋습니다.

7
PRABHAT PARASHAR

/bin/false에서 /etc/passwd를 쉘로 설정하십시오.

4
danadam

passwd -l user 명령, "!! "는 /etc/shadow 파일. 그러나 여전히 루트 계정에서 사용자 셸로 전환 할 수는 있지만 다른 일반 사용자 로그인 셸에서는 사용자 계정으로 전환 할 수 없습니다.

/bin/nologin 또는 /bin/false에서 /etc/passwd 파일. 따라서 사용자가 로그인하지 못할 수 있습니다.

0
Sushil Musande