Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows error when re-applying users: "if shell and lusr['shell'] != shell" #170

Open
jpsv opened this issue Mar 6, 2018 · 0 comments
Open

Comments

@jpsv
Copy link

jpsv commented Mar 6, 2018

Salt-Master (salt 2017.7.4 (Nitrogen)) on Debian 9.3.0 netinstall VM.
Salt-Minion (salt 2017.7.4 (Nitrogen)) (just upgraded from 2017.7.2) on Windows 10 (version 1709 build 16289.248) default install on Dell XPS 13

   ----------
          ID: users_firstname.lastname_user
    Function: user.present
        Name: firstname.lastname
      Result: False
     Comment: An exception occurred in this state: Traceback (most recent call last):
                File "c:\salt\bin\lib\site-packages\salt\state.py", line 1843, in call
                  **cdata['kwargs'])
                File "c:\salt\bin\lib\site-packages\salt\loader.py", line 1795, in wrapper
                  return f(*args, **kwargs)
                File "c:\salt\bin\lib\site-packages\salt\states\user.py", line 485, in present
                  win_description)
                File "c:\salt\bin\lib\site-packages\salt\states\user.py", line 126, in _changes
                  if shell and lusr['shell'] != shell:
              KeyError: 'shell'
     Started: 09:48:29.202000
    Duration: 16.0 ms
     Changes:
    ----------
          ID: users_firstname.lastname_user
    Function: file.directory
        Name: /home/firstname.lastname
      Result: False
     Comment: One or more requisite failed: users.users_firstname.lastname_user
     Changes:

On the Minion, I observe in the Salt Minion debug logs that the system is trying to find a registry key that doesn't exist, a sequentially increasing 4-digit number for the Windows SID. My Pillar (Same error if Shell is omitted or defined as /bin/sh):

users:
  ## Minimal required pillar values
# auser:
#   fullname: A User

  ## Full list of pillar values
  firstname.lastname:
    fullname: Firsty Lasterson
    password: plaintestbullshit
    enforce_password: True
    # WARNING: If 'empty_password' is set to True, the 'password' statement
    # will be ignored by enabling password-less login for the user.
    empty_password: False
    hash_password: False
    prime_group:
      name: Administrators
    shell: ComSpec


    user_files:
      enabled: True
      # 'source' allows you to define an arbitrary directory to sync, useful to use for default files.
      # should be a salt fileserver path either with or without 'salt://'
      # if not present, it defaults to 'salt://users/files/user/<username>
      source: users/files/default
      template: jinja
      # You can specify octal mode for files and symlinks that will be copied. Since version 2016.11.0
      # it's possible to use 'keep' for file_mode, to preserve file original mode, thus you can save
      # execution bit for example.
      file_mode: keep
      sym_mode: 640
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant