만료되는 사용자 계정을 자동으로 만들려면 어떻게합니까?


20

이것이 내가 할 수있는 일입니다.

사용자 계정을 만든 후에는 ssh터널링 할 수 있지만 루트 사용자가 카운트 다운을 재설정하지 않으면 30 일 후에 계정이 자동으로 제거됩니다.

이것을 자동화하려면 어떻게해야합니까? 약 15 명의 사용자를 처리해야합니다.

답변:


29

useradd

--expiredate옵션을 사용하여 사용자 계정의 유효 기간을 제어 할 수 있습니다 useradd.

useradd매뉴얼 페이지 에서 발췌

-e, --expiredate EXPIRE_DATE
     The date on which the user account will be disabled. The date is
     specified in the format YYYY-MM-DD.

     If not specified, useradd will use the default expiry date specified
     by the EXPIRE variable in /etc/default/useradd, or an empty string 
     (no expiry) by default.

따라서 사용자 계정을 설정할 때 앞으로 +30 일을 지정하고 계정을 설정할 useradd때이를 명령에 추가 할 수 있습니다.

$ useradd -e 2013-07-30 someuser

chage

chage명령을 사용하여 기존 계정 날짜를 변경할 수도 있습니다 . 계정 만료 날짜를 변경하려면 다음을 수행하십시오.

$ chage -E 2013-08-30 someuser

지금부터 날짜 +30 일 계산

이 작업을 수행하는 것은 실제로 date명령을 사용하는 것이 쉽지 않습니다 . 예를 들면 다음과 같습니다.

$ date -d "30 days"
Sun Jul 28 01:03:05 EDT 2013

+FORMAT옵션을 사용하여 date명령 을 포맷 하면 다음과 같은 결과가 나타납니다.

$ date -d "30 days" +"%Y-%m-%d"
2013-05-28

함께 모아서

위의 조각을 아는 것은 여기에 한 가지 방법이 있습니다. 먼저 계정을 만들 때 다음 명령을 실행하십시오.

$ useradd -e `date -d "30 days" +"%Y-%m-%d"` someuser

그런 다음 만료 날짜를 조정하려면 주기적으로 다음 명령을 실행하십시오.

$ chage -E `date -d "30 days" +"%Y-%m-%d"` someuser

24 시간 미만의 기간 지정

사용자가 몇 분 동안 만 활동하게하려면 날짜를 지정해야하므로 위의 옵션을 사용할 수 없습니다. 이 경우 crontab지정된 시간 (예 : 10 분) 후에 생성 된 사용자를 제거 / 잠그 도록 a 를 설정 하거나 다음 중 하나를 수행 할 수 있습니다.

adduser someuser && sleep 600 && usermod --lock someuser

또는

$ adduser someuser
$ echo usermod --lock someuser | at now + 10 minutes

참고 문헌


3
나는 % M (분)을 % m (월)으로 바꾸는 자유를 취했다
Anthon

5

데비안 / 우분투에있는 경우에 당신은 사용해야 adduser하고 usermod. 데비안 기반 시스템 useradd에서는 저수준으로 간주되며 (설명서 페이지에 따라) :administrators should usually use adduser(8) instead

adduser 만료 옵션이 없으므로 계정을 만드는 데 사용합니다.

usermod만료 날짜를 설정 하는 -e/ --expiredate옵션이 있습니다.

다음 date과 함께 매개 변수를 계산합니다 date -d "30 days" "+%Y-%m-%d".

usermod --expiredate $(date -d "30 days" "+%Y-%m-%d") username

1

다른 방법 (OS가 계정 만료를 지원하지 않거나이 기능이 어떤 이유로 든 작동하지 않는 경우) : 지금부터 30 일 동안 실행되도록 크론 작업을 설정하면이 계정이 잠 깁니다.

일반적으로 암호화 된 비밀번호를 유효하지 않은 값으로 설정하면 계정이 잠 깁니다. FreeBSD에서 pw lock Xcommand는 계정을 잠급니다 X.


1
계정을 잠글 수있는 방법을 설명하십시오.
slm

그것은 실제로 OS에 달려 있습니다.
sendmoreinfo

4
당신이 그것을 보여주는 예제를 주면 여전히 도움이 될 것입니다.
slm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.