I just though I’d share

Edit: I’m not sure if this actually works. All else fails fall back to Ansible

  • @Luci@lemmy.ca
    link
    fedilink
    English
    82 months ago

    I thought this stopped working after MS pulled the Unix subsystem, as samba was using those attributes to manage the Linux systems?

    • @cheet
      link
      62 months ago

      Microsoft pulled those from the UI, but if you’re adventurous you can just shove those attributes in to user with power shell and it works the same.

      Then just use sssd instead of NIS, surprised me at work when this worked.

      • @Luci@lemmy.ca
        link
        fedilink
        English
        22 months ago

        Do you have any documentation on this by any chance? I don’t really like messing with ad schemas

        • @cheet
          link
          12 months ago

          sorry I don’t have any real documentation but I have a snippet of powershell that explains it pretty well here this comes from a user creation script I wrote back when they removed the unix UI.

          I was using Get-AdUser and discovered that the properties still existed but you have to manually shove those in, when an sssd “domain bound” linux machine has a user with these props login, they get the defined UID and GID and homefolder etc.

          $otherAttributes = @{}
          Write-Host -ForegroundColor Yellow "Adding Linux Attributes"
          
          # get the next numeric uid number from AD
          $uidNumber=((get-aduser -Filter * -Properties * | where-object {$_.uidNumber} | select uidNumber | sort uidNumber | select -Last 1).uidNumber)+1
          
          $otherAttributes.Add("unixHomeDirectory","/homefolder/path/$($samAccountName)")
          $otherAttributes.Add("uid","$($samAccountName)")
          $otherAttributes.Add("gidNumber","$($gidNumber)")
          $otherAttributes.Add("uidNumber","$($uidNumber)")
          $otherAttributes.Add("loginShell","$($loginShell)")
          
          $UserArgs = @{
              Credential = $creds
              Enabled = $true
              ChangePasswordAtLogon = $true
              Path = $usersOU
              HomeDirectory = "$homeDirPath\$samAccountName"
              HomeDrive = $homeDriveLetter
              GivenName = $firstName
              Surname = $lastName
              DisplayName = $displayName
              SamAccountName = $samAccountName
              Name = $displayName
              AccountPassword = $securePW
              UserPrincipalName = "$($aliasName)@DOMAIN.COM"
              OtherAttributes = $otherAttributes
          }
          
          $newUser = New-ADUser @UserArgs
          

          basically the “OtherAttributes” on the ADUser object is a hashtable that holds all the special additional LDAP attributes, so in this example we use $otherAttributes to add all the fields we need, you can do the same with “Set-Aduser” if you just wanna edit an existing user and add these props

          the @thing on New-ADuser is called a splat, very useful if you’re not familiar, it turns a hashtable into arguments

          lemme know if you have any questions

          • @cheet
            link
            1
            edit-2
            2 months ago

            I think you could boil it down to something like Set-ADUser bob -otherattributes {uidNumber=1005, gidNumber=1005}

            • Possibly linuxOP
              link
              fedilink
              English
              22 months ago

              If it is at least somewhat distro agnostic and has commercial support available they will get lots of business.

              • @BCsven@lemmy.ca
                link
                fedilink
                12 months ago

                Yep. i imagine the long time between initial announcement and still waiting, is getting it right for realease. At least I hope that is why it has taken so long

                • Possibly linuxOP
                  link
                  fedilink
                  English
                  0
                  edit-2
                  2 months ago

                  Zoin isn’t exactly known for long term stability or regular releases. That why I can’t really recommend it.

                  We need tooling but Zoin probably isn’t where it will come from.

                  • @BCsven@lemmy.ca
                    link
                    fedilink
                    12 months ago

                    They seem to be fine lately, i had 16 last year 17 this year with updates…but I don’t follow them closely since Nix and OpenSUSE are my main ones