Безопасный метод изменения пароля пользователя с помощью Python script/non-interactively

В соответствии со статьей Wikipedia Windows Firewall для Windows Server 2003 был начат с Пакета обновления 1. Поэтому это не включено в сборку RTM, которую Вы выполняете.

После установки Пакета обновления 1 (или лучшего Пакета обновления 2) необходимо смочь получить доступ к функции.

Эта страница Technet описывает изменения в брандмауэре в обслуживании Пакет 1 более подробно.

7
задан 17 March 2010 в 14:39
5 ответов

Вы передаете пароль в командной строке, которую Вы выполняете. Это может, вероятно, быть видимо не только в Вашем терминале, но также и другими пользователями, выпускающими команду 'PS' (который может зависеть от конфигурации системы). И пароль является простым текстом.

Я не знаю Матрицу, но если она дает Вам возможность общаться с выполняемыми командами через их stdin/stdout (как subprocess.Popen()), затем это был бы, вероятно, лучший выбор использовать это вместо 'эха username:password |...'.

Кроме того, Вы можете, принял решение создать хэш пароля в Вашем сценарии Python (использующий crypt модуль и "$XXXXXXXX$ за 1$" ("X" случайные символы) соль), и передача это к chpasswd -e. Незашифрованный пароль никогда не будет отображаться или регистрироваться затем.

3
ответ дан 2 December 2019 в 23:36

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

Вот рецепт активный состояния для генерации случайных паролей.

Насколько безопасность идет, я не чувствую, что это - большая часть проблемы, чтобы распечатать пароль на Вашем собственном терминале (со случайным паролем, Вы хотели бы это так или иначе, таким образом, можно принять во внимание созданный pwd).

Есть ли что-то другое, что Матрица делает с ssh? - большая часть материала, перемещающегося через ssh, должна быть зашифрована так или иначе.

2
ответ дан 2 December 2019 в 23:36
  • 1
    @Steve: " Есть ли что-то другое, что Матрица делает с ssh? " Ничто это I' m знающий. Матрица использует Paramiko в качестве своего модуля SSH, таким образом, я соглашаюсь, что все должно быть зашифровано по SSH. –  Matthew Rankin 16 March 2010 в 16:25

Предстоящие 1,0 выпуска Матрицы (доступный теперь от ответвления мерзавца) будут допускать интерактивные сессии с удаленным концом.

1
ответ дан 2 December 2019 в 23:36

Могли Вы просто автоматический настраиваете свою новую часть и затем просто входите и изменяете пароль сразу же? Иногда самый простой подход является лучшим.

Но альтернативно, можно локально генерировать зашифрованный пароль и просто идти вперед и записать зашифрованный пароль в/etc/shadow файл. Таким образом, Вы не используете простой текст вообще.

Обратите внимание, то, что необходимо будет доверять локальной системе, когда первоначально дают начальный пароль.

Между прочим, Вы могли сделать копию своей автоматической конфигурации доступной, таким образом, я использую ее вместо того, чтобы писать все с нуля? В настоящее время я делаю все через удар.

что-то вроде этого?

sed 's/^root:.*$/root:$PASSWD:13063::::::/' /etc/shadow > /etc/shadow
0
ответ дан 2 December 2019 в 23:36

Если вы используете chpasswd from with in a fabric, то убедитесь, что вы не используете простой текстовый пароль из командной строки. Пароль будет отображаться не только в stdout, но и в /var/log/secure. В Fabric вы можете использовать

with hide('running', 'output', 'error'):
     <your task here>

И убедитесь, что вы используете хэш-строку вместе с командой chpasswd, так что даже в защищенных журналах вы не увидите пароль в обычном тексте. Сначала определитесь с паролем и сгенерируйте хэш-строку. Для этого можно использовать openssl.

openssl passwd -1

Это даст вам запрос на ввод пароля и генерацию MD5 хэша. и вы можете использовать это в вашем скрипте следующим образом.

echo "<user>:<MD5-hash>" | chpasswd -e

Флаг -e в вышеприведенной команде говорит chpasswd, что пароль зашифрован.

.
2
ответ дан 2 December 2019 в 23:36

Теги

Похожие вопросы