| {%- from "linux/map.jinja" import system with context %} |
| {%- if system.enabled %} |
| {%- set defaults = {} %} |
| {%- set user_defaults = system.get('defaults', {}).get('user', {}) %} |
| {%- for option_name, login_defs_name in [('maxdays', 'PASS_MAX_DAYS'), |
| ('mindays', 'PASS_MIN_DAYS'), |
| ('warndays', 'PASS_WARN_AGE')] %} |
| {%- set value = user_defaults.get(option_name, None) %} |
| {%- if value != None %} |
| {%- do defaults.update({login_defs_name: value}) %} |
| {%- endif %} |
| {%- endfor %} |
| {%- if system.login_defs is defined or defaults %} |
| login_defs: |
| file.managed: |
| - name: /etc/login.defs |
| - source: salt://linux/files/login.defs.jinja |
| - template: jinja |
| - user: root |
| - group: root |
| - mode: 644 |
| - defaults: |
| defaults: {{ defaults|yaml }} |
| {%- endif %} |
| {%- endif %} |