В соответствии со статьей Wikipedia Windows Firewall для Windows Server 2003 был начат с Пакета обновления 1. Поэтому это не включено в сборку RTM, которую Вы выполняете.
После установки Пакета обновления 1 (или лучшего Пакета обновления 2) необходимо смочь получить доступ к функции.
Эта страница Technet описывает изменения в брандмауэре в обслуживании Пакет 1 более подробно.
Вы передаете пароль в командной строке, которую Вы выполняете. Это может, вероятно, быть видимо не только в Вашем терминале, но также и другими пользователями, выпускающими команду 'PS' (который может зависеть от конфигурации системы). И пароль является простым текстом.
Я не знаю Матрицу, но если она дает Вам возможность общаться с выполняемыми командами через их stdin/stdout (как subprocess.Popen()
), затем это был бы, вероятно, лучший выбор использовать это вместо 'эха username:password |...'.
Кроме того, Вы можете, принял решение создать хэш пароля в Вашем сценарии Python (использующий crypt
модуль и "$XXXXXXXX$ за 1$" ("X" случайные символы) соль), и передача это к chpasswd -e
. Незашифрованный пароль никогда не будет отображаться или регистрироваться затем.
То, что я обычно делаю для неинтерактивной установки пароля, я генерирую случайный пароль и устанавливаю его на переменную, затем передаю переменную моей команде. Я не должен быть творческим с паролями, и я не должен оставлять стандартный пароль в файле простого текста.
Вот рецепт активный состояния для генерации случайных паролей.
Насколько безопасность идет, я не чувствую, что это - большая часть проблемы, чтобы распечатать пароль на Вашем собственном терминале (со случайным паролем, Вы хотели бы это так или иначе, таким образом, можно принять во внимание созданный pwd).
Есть ли что-то другое, что Матрица делает с ssh? - большая часть материала, перемещающегося через ssh, должна быть зашифрована так или иначе.
Предстоящие 1,0 выпуска Матрицы (доступный теперь от ответвления мерзавца) будут допускать интерактивные сессии с удаленным концом.
Могли Вы просто автоматический настраиваете свою новую часть и затем просто входите и изменяете пароль сразу же? Иногда самый простой подход является лучшим.
Но альтернативно, можно локально генерировать зашифрованный пароль и просто идти вперед и записать зашифрованный пароль в/etc/shadow файл. Таким образом, Вы не используете простой текст вообще.
Обратите внимание, то, что необходимо будет доверять локальной системе, когда первоначально дают начальный пароль.
Между прочим, Вы могли сделать копию своей автоматической конфигурации доступной, таким образом, я использую ее вместо того, чтобы писать все с нуля? В настоящее время я делаю все через удар.
что-то вроде этого?
sed 's/^root:.*$/root:$PASSWD:13063::::::/' /etc/shadow > /etc/shadow
Если вы используете 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, что пароль зашифрован.
.