유닉스 사용자 계정이 잠겨있는 모든 방법을 찾는 방법


12

유지 관리되지 않은 시스템에 계정이 잠겨있는 상황이 발생하는 경우가 있습니다. 문제는 각각 자신의 잠금 해제 방법으로 계정을 잠글 수있는 다양한 방법이 있다는 것입니다.

계정이 잘못 예기치 않게 잠긴 것은 아니지만 재설정 할 올바른 잠금을 찾는 것은 어렵습니다.

이 문제에 대한 가장 최근의 공격은 SUSE 시스템에서 발생한 것으로, 암호가 만료 된 것으로 나타났습니다 (이는 로그인 시도가 그러한 종류의 피드백을 제공하는 시스템을 통한 것이 아니기 때문에 처음에는 알려지지 않았습니다). 로그인 시도 실패로 인해.

가능한 모든 계정 잠금 목록과 비활성화 방법 목록이 있습니까? 홈 디렉토리 액세스 문제, 손상된 PAM 라이브러리 등과 같은 실제 고장 이이 질문의 범위를 벗어나려고합니다.

답변:


13

passwd예를 들어 계정이 잠겨있는 경우 일부 정보를 수집 하는 데 사용할 수 있습니다.

passwd -S user
user LK 2012-11-06 0 99999 7 -1 (Password locked.) (CentOS)
user L 01/22/2013 0 99999 7 -1 (Ubuntu)

chage유틸리티는 계정의 다양한 타이머에 대한 정보를 제공합니다 (예 : 만료되지 않은 비밀번호).

chage -l user
Last password change                                    : Nov 12, 2012
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

만료 된 비밀번호

chage -l user
Last password change                                    : password must be changed
Password expires                                        : password must be changed
Password inactive                                       : password must be changed
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 22
Number of days of warning before password expires       : 33

passwdchage유틸리티는 계정 잠금을 많이 나열합니다.

getent검사를 위해 관련 데이터베이스에서 직접 정보를 가져 오는 데 사용할 수 있습니다.

getent passwd user
user:x:505:505::/home/passtest:/sbin/nologin  <-- denied login
getent shadow user
user:!!:0:0:22:33:44::   <-- this is locked

7

일반적으로 : 아닙니다.

Iain의 대답은 암호 노화 시스템을 쿼리하는 방법에 대한 좋은 요약이지만 모든 종류의 것을 놓쳤습니다. 예를 들면 다음과 같습니다.

  • ssh를 통해 로그인을 시도하는 사람은 sshd구성의 지시문에 의해 금지 될 수 있습니다 .
  • 시스템은 특정 넷 그룹의 구성원 만 로그인 할 수 있도록 구성 될 수 있습니다.
  • 로컬 PAM구성은 명시 적 그룹 멤버쉽을 요구하거나 특정 사용자 목록 만 허용 할 수 있습니다.
  • 잠긴 계정처럼 보이는 것이 홈 디렉토리 액세스 문제 일 수 있습니다.
  • 누군가가 /etc/nologin일부 애플리케이션 (예 ssh:)에서 모든 사용자를 잠그도록 만들었을 수 있습니다 .

다시 말해, passwd파일 과 관련이없는 계정을 잠그는 방법에는 여러 가지가 있습니다. 가장 좋은 방법은 /var/log/secure배포 또는 적절한 지역 아날로그를 확인하는 것입니다.


나는 물건이 "파손되지 않았다"고 사용자가 이전에 로그인 할 수 있다고 가정하려고 내 질문을하고 있었다. 즉, 일부 시스템 기능이 제대로 계정을 잠갔습니다. 이것들은 좋은 점이지만 질문을 좀 더 명확하게 업데이트하겠습니다.
wfaulk

1

상기 이외에, passwd chagegetent도있다pam_tally2

실패한 로그인 시도 횟수가 허용 한계 (/etc/pam.d/password-auth에 설정)를 초과하면 pam_tally2 --user=foo --reset다시 로그인하기 전에 수행 해야합니다.


0

다음 스크립트는 모든 사용자와 그 상태 (잠금 여부)에 대한 간단한 설명을 제공합니다.

cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }'

계정을 잠글 수있는 방법 중 하나만 확인합니다.
wfaulk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.