Ключ -e
в useradd
ожидает дату в международном формате даты ( YYYY-MM-DD
), как можно найти на его странице руководства. :
-e, --expiredate EXPIRE_DATE
The date on which the user account will be disabled. The date is
specified in the format YYYY-MM-DD.
[...]
Теперь вам просто нужно указать дату истечения срока действия учетной записи. Вы можете сделать этот расчет в PHP. Ответ, на который вы связались, делает это с помощью стандартного инструмента командной строки, поэтому язык высокого уровня использовать не нужно.
Вот пример кода, как это сделать в PHP:
$diffHour = 0;
$diffMinute = 0;
$diffSecond = 0;
$diffMonth = 10;
$diffDay = 0;
$diffYear = 0;
$hour = date("H") + $diffHour;
$minute = date("i") + $diffMinute;
$second = date("s") + $diffSecond;
$month = date("n") + $diffMonth;
$day = date("j") + $diffDay;
$year = date("Y") + $diffYear;
$time = mktime($hour, $minute, $second, $month, $day, $year);
$date = date("Y-m-d", $time);
Просто введите переменные в самый верхний блок. Я заполнил их для вашего примера за 10 месяцев. Вы тоже можете вернуться в прошлое. Например, если вы хотите, чтобы срок его действия истек через 7 месяцев минус 4 дня, вы можете установить $ diffMonth = 7;
и $ diffDay = -4;
.
Затем передайте значение даты ( 2018-02-09
при запуске сегодня (за исключением случаев, когда вы живете в Америке, тогда это день раньше, потому что мы все еще используем отложенную систему времени с часовыми поясами. )) в ваш сценарий bash.
Пример bash-кода:
useradd -e "2018-02-09" "rizal"
Расширенные загрузочные записи должны содержать только два значения, и ваши EBR, вероятно, содержат их. Вторая запись в EBR указывает на следующую EBR (если только она не последняя в цепочке).
Ваша утилита disktype проходит по цепочке из трех EBR и отображает каждую из записей, как если бы это была многозаписная MBR.
(Это объясняется в разделе Values статьи википедии)