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

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

이것이 내가 할 수 있기를 원하는 것입니다:

사용자 계정이 생성된 후에는 터널링이 가능해야 ssh하지만 루트 사용자가 카운트다운을 재설정하지 않는 한 해당 계정은 30일 후에 자동으로 삭제됩니다.

이를 어떻게 자동화할 수 있나요? 약 15명의 사용자를 처리해야 합니다.

답변1

사용자가 추가됨

--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 -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분) 후에 삭제/잠금되도록 설정하거나 다음 중 하나를 수행할 수 있습니다.

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

또는

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

인용하다

답변2

adduserDebian/Ubuntu를 사용하는 경우 및 를 사용해야 합니다 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

답변3

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

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

관련 정보