Ми налаштували політику свого облікового запису в PAM, щоб відповідати вказівкам RHEL7 STIG http://rhel7stig.readthedocs.io/en/latest/. У нас є кілька облікових записів, де вони єпаролі порожні, а для входу використовуйте SSH-ключі. Після 60 днів термін дії облікових записів служби закінчується і вимикається. Це не така поведінка, на яку я очікував безкористувацького облікового запису, я не думав, що термін дії пароля застосує до облікових записів без паролів. Як я можу сказати PAM не закінчувати термін дії паролів?
У login.defs
PASS_MIN_DAYS 1
PASS_MAX_DAYS 60
PASS_WARN_AGE 7
FAIL_DELAY 4
В / etc / default / useradd
INACTIVE=0
Відповіді:
1 для відповіді № 1Оскільки система не хвилює, чи є у цих облікових записів пароль чи ні. Вам доведеться встановити PASS_MAX_DAYS на 99999 або те, що коли-небудь здасться підходящим для цих облікових записів.
1 для відповіді № 2
Схоже, мені потрібно створити ці облікові записи як системні облікові записи. Із сторінки useradd man ...
Користувачі системи будуть створені без інформації про старіння в / etc / shadow - https://linux.die.net/man/8/useradd
Приклад команди.
useradd testuser --system
Якщо ви використовуєте Ansible, ви можете вказати систему в модулі користувача.
- user:
name: testuser
group: testuser
system: yes
Результат видно в / etc / shadow. Зауважте, що для тестувача не вводиться максимальний пароль для віку.
[root@localhost ~]# useradd testuser --system
[root@localhost ~]# grep testuser /etc/shadow
testuser:!!:17417::::::
[root@localhost ~]# grep ryan /etc/shadow
ryan:*:18976:1:60:7:0::