Saltstack Official Users Formula
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

99 行
3.1KB

  1. # vim: sts=2 ts=2 sw=2 et ai
  2. {# import defaults.yaml as defaults #}
  3. {% import_yaml 'users/defaults.yaml' as defaults %}
  4. {# set Os-family specific settings #}
  5. {% set users = salt['grains.filter_by'](
  6. defaults,
  7. merge=salt['grains.filter_by']({
  8. 'MacOS': {
  9. 'sudoers_dir': '/etc/sudoers.d',
  10. 'sudoers_file': '/etc/sudoers',
  11. 'googleauth_dir': '/etc/google_authenticator.d',
  12. 'shell': '/bin/bash',
  13. 'visudo_shell': '/bin/bash',
  14. 'bash_package': 'bash',
  15. 'sudo_package': 'sudo',
  16. 'googleauth_package': 'google-authenticator-libpam',
  17. },
  18. 'Debian': {
  19. 'sudoers_dir': '/etc/sudoers.d',
  20. 'sudoers_file': '/etc/sudoers',
  21. 'googleauth_dir': '/etc/google_authenticator.d',
  22. 'root_group': 'root',
  23. 'shell': '/bin/bash',
  24. 'visudo_shell': '/bin/bash',
  25. 'bash_package': 'bash',
  26. 'sudo_package': 'sudo',
  27. 'googleauth_package': 'libpam-google-authenticator',
  28. 'polkit_dir': '/etc/polkit-1/localauthority.conf.d',
  29. 'polkit_defaults': 'unix-group:sudo;'
  30. },
  31. 'Gentoo': {
  32. 'sudoers_dir': '/etc/sudoers.d',
  33. 'sudoers_file': '/etc/sudoers',
  34. 'googleauth_dir': '/etc/google_authenticator.d',
  35. 'root_group': 'root',
  36. 'shell': '/bin/bash',
  37. 'visudo_shell': '/bin/bash',
  38. 'bash_package': 'app-shells/bash',
  39. 'sudo_package': 'app-admin/sudo',
  40. 'googleauth_package': 'libpam-google-authenticator',
  41. },
  42. 'FreeBSD': {
  43. 'sudoers_dir': '/usr/local/etc/sudoers.d',
  44. 'sudoers_file': '/usr/local/etc/sudoers',
  45. 'googleauth_dir': '/usr/local/etc/google_authenticator.d',
  46. 'root_group': 'wheel',
  47. 'shell': '/bin/csh',
  48. 'visudo_shell': '/usr/local/bin/bash',
  49. 'bash_package': 'bash',
  50. 'sudo_package': 'sudo',
  51. 'googleauth_package': 'pam_google_authenticator',
  52. },
  53. 'OpenBSD': {
  54. 'sudoers_dir': '/etc/sudoers.d',
  55. 'sudoers_file': '/etc/sudoers',
  56. 'googleauth_dir': '/etc/google_authenticator.d',
  57. 'root_group': 'wheel',
  58. 'shell': '/bin/csh',
  59. 'visudo_shell': '/usr/local/bin/bash',
  60. 'bash_package': 'bash',
  61. 'sudo_package': 'sudo',
  62. 'googleauth_package': 'pam_google_authenticator',
  63. },
  64. 'Solaris': {
  65. 'sudoers_dir': '/opt/local/etc/sudoers.d',
  66. 'sudoers_file': '/opt/local/etc/sudoers',
  67. 'googleauth_dir': '/opt/local/etc/google_authenticator.d',
  68. 'root_group': 'root',
  69. 'shell': '/bin/bash',
  70. 'visudo_shell': '/bin/bash',
  71. 'bash_package': 'bash',
  72. 'sudo_package': 'sudo',
  73. 'googleauth_package': 'libpam-google-authenticator',
  74. },
  75. 'default': {
  76. 'sudoers_dir': '/etc/sudoers.d',
  77. 'sudoers_file': '/etc/sudoers',
  78. 'googleauth_dir': '/etc/google_authenticator.d',
  79. 'root_group': 'root',
  80. 'shell': '/bin/bash',
  81. 'visudo_shell': '/bin/bash',
  82. 'bash_package': 'bash',
  83. 'sudo_package': 'sudo',
  84. 'googleauth_package': 'libpam-google-authenticator',
  85. 'polkit_dir': '/etc/polkit-1/localauthority.conf.d',
  86. 'polkit_defaults': 'unix-group:sudo;'
  87. },
  88. }, merge=salt['pillar.get']('users-formula:lookup')),
  89. base='users',
  90. ) %}
  91. {% if grains.os == 'MacOS' %}
  92. {% set group = salt['cmd.run']("stat -f '%Sg' /dev/console") %}
  93. {% do users.update({'root_group': group,
  94. 'prime_group': group}) %}
  95. {%- endif %}