답변:
--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
이 작업을 수행하는 것은 실제로 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
사용자가 몇 분 동안 만 활동하게하려면 날짜를 지정해야하므로 위의 옵션을 사용할 수 없습니다. 이 경우 crontab
지정된 시간 (예 : 10 분) 후에 생성 된 사용자를 제거 / 잠그 도록 a 를 설정 하거나 다음 중 하나를 수행 할 수 있습니다.
adduser someuser && sleep 600 && usermod --lock someuser
또는
$ adduser someuser
$ echo usermod --lock someuser | at now + 10 minutes
데비안 / 우분투에있는 경우에 당신은 사용해야 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
다른 방법 (OS가 계정 만료를 지원하지 않거나이 기능이 어떤 이유로 든 작동하지 않는 경우) : 지금부터 30 일 동안 실행되도록 크론 작업을 설정하면이 계정이 잠 깁니다.
일반적으로 암호화 된 비밀번호를 유효하지 않은 값으로 설정하면 계정이 잠 깁니다. FreeBSD에서 pw lock X
command는 계정을 잠급니다 X
.