adduser
이 명령을 사용하여 "bogus"라는 사용자를 생성한다고 가정해 보겠습니다 . 계정을 비활성화하지 않고 이 사용자가 실행 가능한 로그인 옵션이 아닌지 어떻게 확인할 수 있습니까? 간단히 말해서, 계정에 액세스할 수 있기를 원 su - bogus
하지만 일반 로그인 프롬프트를 통해 액세스하고 싶지는 않습니다.
주위를 둘러보면 이 사용자의 비밀번호를 비활성화해야 할 것 같지만 passwd -d bogus
소용이 없습니다. 사실, 이제는 비밀번호를 입력하지 않고도 가짜 계정에 로그인할 수 있기 때문에 상황이 더욱 악화되었습니다.
특정 계정에 대한 일반 로그인을 비활성화하는 방법이 있습니까?
참고: 명확하게 말하면 그래픽 로그인 화면(예: gdm)의 메뉴 옵션에서 사용자를 제거하는 방법을 알고 있지만 이러한 방법은 실제로 로그인을 비활성화하지 않고 계정을 숨길 뿐입니다. 텍스트 모드를 포함하여 일반 로그인을 완전히 비활성화하는 방법을 찾고 있습니다.
답변1
passwd -l user
당신이 원하는 것.
그러면 사용자 계정이 잠깁니다. 하지만 넌 아직 할 수 있어
su - user
하지만 su - user
루트여야 합니다.
!
또는 사용자 비밀번호 앞에 를 추가하여 동일한 작업을 수행할 수 있습니다 /etc/shadow
(이 작업은 모두 passwd -l
뒤에서 수행됩니다). 이 작업을 취소 합니다 passwd -u
.
답변2
매뉴얼 페이지에는 다음과 passwd(1)
같이 나와 있습니다 passwd -l
.
이로 인해 계정이 비활성화되지는 않습니다. 사용자는 다른 인증 토큰(예: SSH 키)을 사용하여 계속 로그인할 수 있습니다. 계정을 비활성화하려면 관리자는 usermod --expiredate 1을 사용해야 합니다(이렇게 하면 계정 만료 날짜가 1970년 1월 2일로 설정됩니다).
그래서
usermod --expiredate 1 [LOGIN]
제 생각에는 사용자가 더 이상 사용해서는 안 되는 계정을 비활성화하는 올바른 방법입니다(예: 회사를 떠난 경우).
답변3
사용자의 로그인을 방지하는 방법에는 두 가지가 있습니다.
- 편집을 통해 사용자를 잠글 수 있습니다.
/etc/passwd
passwd
스위치를 직접 사용하여-l
명령 실행
두 번째 경우, 사용자는 다른 인증 토큰(예: SSH 키)을 사용하여 로그인할 수 있습니다.
방법 1
- nologin 위치 찾기: /bin/nologin 또는 /bin/sbin/nologin
- 터미널을 열고 루트로 로그인하세요
- 유형
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 사용)
- vi 닫기Esc :wq
방법 #2
사용자 잠금:passwd -l username
사용자 잠금 해제:passwd -u username
답변4
/bin/false
쉘로 설정/etc/passwd