useradd
Ви можете керувати тим, як довго діє обліковий запис користувача, використовуючи --expiredate
опцію для useradd
.
уривок зі useradd
сторінки man
-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
Список літератури