Перейти к основному содержанию

UNIX атрибуты в Windows Server 2016 и старше

Windows Server

Компания Microsoft по соображениям безопасности удалила роль IDMU/NIS Server в Windows Server 2016. Теперь привычной оснастки по управлению UNIX атрибутами нет.

Есть три способа управления UNIX атрибутами.

GUI способ

Запускаем оснастку Active Directory Users and Computer, выбираем View → Advanced Features.

win

Открываем свойства пользователя или группы. Переходим на вкладку Attribute Editor.

win

И редактируем для пользователя:

  • uidNumber
  • Loginshell
  • unixHomeDirectory
  • gidNumber
  • maSFU30NisDomain
  • msSFU30Name

Для группы:

  • gidNumber
  • MemberUid
  • maSFU30NisDomain
  • msSFU30PosixMember
  • msSFU30Name

Для компьютера:

  • ipHostNumber
  • maSFU30NisDomain
  • msSFU30Name
  • msSFU30Aliases

PowerShell способ

Import-Module ActiveDirectory

#To query Unix Properties of a User Object

$username = "guest"

Get-ADUser $username -Properties * | Select SamAccountName, msSFU30NisDomain,uidNumber, unixHomeDirectory, loginShell, gidnumber, @{Label='PrimaryGroupDN';Expression={(Get-ADGroup -Filter {GIDNUMBER -eq $_.gidnumber}).SamAccountName}}

#To query Unix Properties of a Group object

$groupname = "Unix Sample Group"

Get-ADGroup $groupname -Properties * | Select SamAccountName, msSFU30NisDomain,gidnumber, @{Label='Members';Expression={(Get-ADUser -Filter {GIDNUMBER -eq $_.gidnumber}).SamAccountName}}

#To query Unix Properties of a Computer Object

$computername = "server123"

Get-ADComputer $computername -Properties * | Select SamAccountName, msSFU30NisDomain,ipHostNumber, msSFU30Aliases

#Set unixHomeDirectory on a user (replace this with any of the attributes you’d like to set)

$username = "guest"

set-ADUser $username -Replace @{unixHomeDirectory="/usr/sbin/guest"}

Пример вывода:

SamAccountName : Guest
msSFU30NisDomain : woodgrove
uidNumber : 10001
unixHomeDirectory : /usr/sbin/guest
loginShell : /bin/sh
gidnumber : 10001
PrimaryGroupDN : Unix Sample Group

SamAccountName : Unix Sample Group
msSFU30NisDomain : woodgrove
gidnumber : 10001
Members : {Administrator, Guest}

SamAccountName : Server123
msSFU30NisDomain : woodgrove
ipHostNumber : {10.2.2.2}
msSFU30Aliases : {bla, unixtestclient}

Комбинированный способ

Сначала через PowerShell узнаём максимальный номер uidNumber или gidNumber.

Get-ADUser -Filter "uidNumber -like '*'" -Property uidNumber | Measure-Object -Maximum -Property uidNumber

win

Get-ADGroup -Filter {gidNumber -ne "*"} -Property gidNumber | Measure-Object -Maximum -Property gidNumber 

win

Увеличиваем номер на единицу и прописываем атрибуты вручную через GUI у пользователя или группы.

Или скриптом:

Set-ADUser v.pupkin -add @{uidNumber="10042"; gidNumber="10000"; unixHomeDirectory="/home/v.pupkin"; loginShell="/bin/bash"}

Дополнительно

Вывести пользователей с UNIX атрибутами:

Get-ADUser -filter {uidnumber -ne "*"} -Properties * | ft SamAccountName,uidnumber,gidNumber

Вывести группы с UNIX атрибутами:

Get-ADGroup -Filter {gidNumber -ne "*"} -Properties * | ft SamAccountName,gidNumber

Поддерживаемые атрибуты

win

Ссылки

https://learn.microsoft.com/ru-ru/archive/blogs/activedirectoryua/identity-management-for-unix-idmu-is-deprecated-in-windows-server

Теги

 

Похожие материалы

Запуск графических приложений на сервере Oracle Linux 7.4 с удалённой Windows 10 машины

Иногда (или постоянно) сисадмину требуется запустить графическую программу на linux сервере. Сегодня будем запускать графический инсталлятор DB Oracle на сервере Oracle Linux 7.4

Теги

Создать WAV файл из текста в Ubuntu

Понадобилось мне как-то создать WAV файл из текстового файла в Ubuntu. Это было нужно для проигрывания сообщения в Asterisk для абонента. Сразу скажу, всё то же самое прекрасно работает в WSL 2 под Windows.

Теги