Разница между учетной записью с истекшим сроком действия и неактивной учетной записью

Поле st_blksize, возвращенное stat(), дает «предпочтительный размер блока для эффективного ввода-вывода файловой системы». (из справочной страницы stat). Значение следует интерпретировать как подсказку о том, что вы должны читать и записывать данные в файлы, кратные этому размеру, для эффективного ввода-вывода. Это, как вы говорите, зависит от устройства хранения, а также может зависеть от файловой системы. Он может быть больше, чем размер логического блока аппаратного устройства, но обычно ограничивается размером страницы памяти ЦП. Размер логического блока обычно составляет 512 или 4096 байт на жестких дисках и 2048 байт на оптических носителях.

Кстати, в вашем коде используется поле st_blocksструктуры stat. В этом поле указано, сколько блоков по 512 -байт занимает файл. Я думаю, вы хотели вместо этого использовать поле st_blksizeв своей программе.

2
25.12.2019, 13:46
2 ответа

usermod -eобычно принимает в качестве параметра дату :если указать usermod -e 2019-12-31 joeuser, то учетная запись пользователя Джо будет работать только до конца года, и не более, если только администратор повторно -не активирует учетную запись, либо путем установки новой даты истечения срока действия учетной записи или с помощью usermod -e "" joeuser, чтобы позволить учетной записи быть включенной на неопределенный срок без запланированного срока действия.

Вы также можете использовать usermod -e 1 joeuserдля немедленного отключения учетной записи. :Это фактически установит срок действия учетной записи на 2 января 1970 года, что навсегда останется в прошлом.

Подобное отключение учетной записи работает для всех механизмов аутентификации. :Даже если пользователь использует ключи SSH, смарт-карту, RSA SecurID или любой другой механизм аутентификации, эта учетная запись не будет принимать входы в систему. Когда учетная запись отключена таким образом, пользователь ничего не может сделать в одиночку, чтобы повторно -включить ее :, единственный выход — обратиться к системному администратору.

Обратите внимание, что это истечение срока действия учетной записи полностью отделено от истечения срока действия пароля .


usermod -f, с другой стороны, ожидает в качестве параметра количество дней. Это часы, которые начинают тикать, когда истекает срок действия пароля пользователя :. Например, если вы установите срок действия пароля пользователя Джо на 90 дней(passwd -x 90 joeuserusermod -f 14 joeuser, то по прошествии 90 дней с момента последнего изменил свой пароль, у Джо будет ровно 14 дней, когда система заставит его сменить пароль, если он попытается войти в систему. Если он это сделает, новый пароль снова будет действителен в течение 90 дней.

Если Джо не войдет в систему в течение этих 14 дней, учетная запись будет заблокирована, и Джо должен будет связаться с администратором, чтобы разблокировать ее, если ему все еще нужен доступ к системе.


Обратите внимание, что исторически passwd -lозначало блокировку учетной записи; с современной реализацией Linux PAM это фактически означает блокировку только пароля . Если для учетной записи настроены SSH-ключи или какие-либо другие методы аутентификации, они все равно будут разрешены даже после passwd -l.

Текущий рекомендуемый способ полного отключения учетной записи без ее удаления или изменения ее конфигурации (, чтобы ее можно было снова -включить точно так, как она была раньше, при желании )это usermod -e 1 <username>. Это гарантированно одинаково эффективно как для новых, так и для старых реализаций PAM.

Изменение оболочки пользователя на /bin/falseили на команду, которая отображает сообщение, а затем завершает работу, также будет работать для отключения входа в строку команды -для любого метода аутентификации, но как побочный эффект, информация о пользовательском текущая оболочка будет потеряна. Кроме того, если в системе есть другие службы, такие как электронная почта или FTP, которые используют системные пароли для аутентификации, изменение оболочки может не отключить доступ к ним.

4
28.04.2021, 23:26

Я не уверен на 100%, потому что я не могу проверить сейчас, но если я не ошибаюсь, флаг -fявляется третьим с последнего полем /etc/shadow. Это поле указывает время, когда учетная запись должна быть «неактивной» (никто не входит в систему )до того, как система отключит ее. Переключатель -e— это день истечения срока действия учетной записи. Эти два поля не связаны.

1
28.04.2021, 23:26

Теги

Похожие вопросы