useradd
Mit der --expiredate
Option to können Sie steuern, wie lange ein Benutzerkonto gültig ist useradd
.
Auszug aus der useradd
Manpage
-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.
Wenn Sie also das Konto des Benutzers einrichten, können Sie ein Datum von +30 Tagen in der Zukunft angeben und dies zu Ihrem useradd
Befehl hinzufügen, wenn Sie dessen Konten einrichten.
$ useradd -e 2013-07-30 someuser
chage
Sie können auch ein vorhandenes Kontodatum mit dem chage
Befehl ändern . So ändern Sie das Ablaufdatum eines Kontos:
$ chage -E 2013-08-30 someuser
Berechnung des Datums in 30 Tagen
Dies zu tun ist mit dem date
Befehl eigentlich ziemlich trivial . Beispielsweise:
$ date -d "30 days"
Sun Jul 28 01:03:05 EDT 2013
Sie können mit den +FORMAT
Optionen des date
Befehls formatieren, wodurch Sie Folgendes erhalten:
$ date -d "30 days" +"%Y-%m-%d"
2013-05-28
Alles zusammen
Wenn Sie die obigen Teile kennen, haben Sie hier eine Möglichkeit, sie zusammenzustellen. Wenn Sie ein Konto erstellen, führen Sie zunächst den folgenden Befehl aus:
$ useradd -e `date -d "30 days" +"%Y-%m-%d"` someuser
Wenn Sie dann das Ablaufdatum anpassen möchten, führen Sie regelmäßig den folgenden Befehl aus:
$ chage -E `date -d "30 days" +"%Y-%m-%d"` someuser
Angabe von Zeiträumen von weniger als 24h
Wenn ein Benutzer nur einige Minuten aktiv sein soll, können Sie die obigen Optionen nicht verwenden, da für sie ein Datum angegeben werden muss. In diesem Fall können Sie entweder a einrichten crontab
, um den erstellten Benutzer nach der angegebenen Zeit (z. B. 10 Minuten) zu entfernen / zu sperren, oder Sie können eine der folgenden Aktionen ausführen:
adduser someuser && sleep 600 && usermod --lock someuser
oder
$ adduser someuser
$ echo usermod --lock someuser | at now + 10 minutes
Verweise