Назад | Перейти на главную страницу

Доступ запрещен с помощью команды NET USER через сеанс SSH

Я использую ssh-клиент для входа на сервер и выдачи команд изменения пароля из командной строки. Проблема возникает при попытке сделать это на сервере домена. Я вхожу в систему, используя учетную запись администратора (а не учетную запись администратора) и пытаюсь изменить пароль для пользователя (пароль / домен имени пользователя сети), и я получаю следующую ошибку:

Произошла системная ошибка 5.

Доступ запрещен.

Теперь, если я войду в систему с учетной записью администратора, команда завершится успешно. Таким образом, где-то должна быть какая-то политика или разрешение безопасности, которые позволяют учетной записи администратора делать то, что учетная запись администратора не может. Я сравнил группы, и учетная запись администратора является частью всех необходимых групп. Любые данные относительно того, где это может быть расположено?

Даже если вы говорите, что проверили членство в группах, на самом деле похоже, что ваша учетная запись «admin» не имеет того же членства в группах, что и учетная запись «Administrator».

Windows "whoami.exe" (не Cygwin whoami) с параметром "/ ALL" покажет вам членство в группах каждого пользователя, чтобы вы могли их сравнить.

(Теоретически можно было бы изменить разрешения пользовательских объектов в AD, чтобы запретить пользователю «admin» права изменять свой пароль, в то время как «admin» по-прежнему будет членами тех же групп, что и «Administrator», но я думаю, что это очень маловероятно.)

Чтобы вообще исключить какое-либо отношение к cygwin SSH, почему бы не войти локально на серверный компьютер с учетными данными «admin» и не попробовать свой «NET USER» из командной строки NT?

Редактировать:

На самом деле нет никаких настроек групповой политики, которые как таковые влияют на возможность изменения паролей. Если ваша учетная запись «admin» является членом «Enterprise Admins», она должна иметь возможность сбросить пароль любой другой учетной записи в Active Directory. Как я уже сказал выше, в AD можно было бы внести "поправки", которые бы изменили это поведение, но я считаю маловероятным, что что-либо из этого было бы сделано. Я думаю, что происходит что-то еще.

Если у вас не включен аудит отказов событий управления учетными записями, сейчас хорошее время для создания нового объекта групповой политики, связанного с вашим OU «Контроллеры домена» (предпочтительно), или для изменения объекта групповой политики «Контроллеры домена по умолчанию» (не рекомендуется - вы действительно можете оставить этот объект групповой политики) и включить аудит сбоев управления учетными записями. Откройте для себя «Конфигурация компьютера», «Настройки Windows», «Настройки безопасности», «Локальные политики» и «Политика аудита» и включите Аудит отказов по «Управлению счетом».

Запустите «gpupdate» на компьютере контроллера домена, попробуйте снова «NET USER» и проверьте журнал событий безопасности на всех контроллерах домена, чтобы узнать, какой из них записывает неудачную смену пароля.

Я очень хочу понять, что происходит. Как я уже сказал, я думаю, что упускается из виду что-то простое ... Посмотрим ...

После многих лет попыток найти такую ​​проблему, в наши дни, если я хочу создать учетную запись администратора, я всегда делаю это, копируя учетную запись администратора. В AD «Пользователи и компьютеры» щелкните правой кнопкой мыши учетную запись администратора и выберите «Копировать». Экономит много времени!

Вопрос о том, является ли хорошей практикой иметь несколько учетных записей администратора, конечно ...

JR

Первая учетная запись администратора, есть ли у нее членство в группе администратора домена или оператора учетной записи в домене? Или ему делегировано право на сброс пароля для учетной записи пользователя? Поскольку вы указываете / domain, изменения вносятся в учетную запись пользователя домена, поэтому права должны быть на уровне домена.

Ваша сетевая учетная запись может быть локальным администратором машины, но вы, вероятно, не входите в группу операторов учетной записи. С переключателем / domain вам даже не нужно запускать его на реальном сервере, просто введите его из командной строки с соответствующими учетными данными с любого компьютера в домене.

Чистый пользователь? Фуууу. Вы должны использовать DSMOD.

DSMOD user userDN -pwd newPassword -d yourDomain.loc -u yourDomain\yourAdminUserAcct

Если вы не знаете, что такое userDN, используйте это:

DSQUERY user -name userName -d yourDomain.loc -u yourDomain\yourAdminUserAcct

Если вы хотите пофантазировать, вы можете передать результат DSQUERY прямо в DSMOD, например:

DSQUERY user -name userName -d yourDomain.loc -u yourDomain\yourAdminUserAcct | DSMOD user -pwd newPassword -d yourDomain.loc -u yourDomain\yourAdminUserAcct

Если вы хотите установить Пользователь должен изменить пароль при следующем входе в систему флаг, затем добавьте -mustchpwd да в строку аргумента DSMOD, например:

DSQUERY user -name userName -d yourDomain.loc -u yourDomain\yourAdminUserAcct | DSMOD user -pwd newPassword -d yourDomain.loc -u yourDomain\yourAdminUserAcct -mustchpwd yes