Изменение пароля с командной строкой на NetBSD

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

Необходимо будет также, вероятно, установить ведущие устройства для разрешения передач с ведомого сервера. Другая опция является TSIG (http://www.cyberciti.biz/faq/unix-linux-bind-named-configuring-tsig/)

2
задан 11 June 2013 в 19:05
3 ответа

NetBSD не поддерживает команду pw при установке по умолчанию. Вы можете:

  1. Скомпилировать команду pw для NetBSD и установить ее в вашей системе
  2. Написать утилиту, которая выполняет аналогичные функции
  3. Обновить пароль, напрямую управляя теневым файлом

Обратите внимание, что в зависимости от вашего сценария вы должны , вероятно, использовать -H (и предоставить зашифрованный соответствующим образом пароль) вместо -h .
. Передача незашифрованных паролей по системе (особенно, если вы делаете что-то вроде echo «password» ) - плохая идея, так как это может привести к раскрытию вашего пароля любому зарегистрированному пользователю (или службе).

4
ответ дан 3 December 2019 в 09:38

Используйте usermod с переключателем -p . Он включен в базовую систему, сборка pw не требуется.

1
ответ дан 3 December 2019 в 09:38

Мы столкнулись с аналогичным случаем использования: автоматическое создание демо-пользователей с ужасными паролями в обход всех политик паролей. Без лишних слов, вот неприятный, но работающий хак, основанный на предложении списка рассылки:

Bourn shell function

# example: set_password_insecure sybil magic
# $1: username
# $2: password
set_password_insecure() {
  if [ -z "$1" ]; then
    echo 'Missing username' >&2
    return 1
  fi
  ( PASSWORD_HASH="$(/usr/bin/pwhash "$2" | /usr/bin/sed 's@[\\$/]@\\&@g')"
   /usr/bin/env EDITOR="in_place_sed() { /usr/bin/sed \"\$1\" \"\$2\" > \"\$2.bak.\$\$\" && /bin/mv \"\$2.bak.\$\$\" \"\$2\"  ;}; in_place_sed 's/^$1:[^:]*:/$1:$PASSWORD_HASH:/' " \
     /usr/sbin/vipw
  )
}

Bourn shell command

( USERNAME='mallory' PASSWORD='sex'; \
  PASSWORD_HASH="$(/usr/bin/pwhash "$PASSWORD" | /usr/bin/sed 's@[\\$/]@\\&@g')"
  /usr/bin/env EDITOR="in_place_sed() { /usr/bin/sed \"\$1\" \"\$2\" > \"\$2.bak.\$\$\" && /bin/mv \"\$2.bak.\$\$\" \"\$2\"  ;}; in_place_sed 's/^$USERNAME:[^:]*:/$USERNAME:$PASSWORD_HASH:/' " \
    /usr/sbin/vipw )
  1. работает как над sh, так и над bash (с установленными shells/bash), и, возможно, zsh тоже (непроверенная).
  2. Предположим, что выполняется как root, если не добавить sudo (с установленным security/sudo) или su - root -c до /usr/bin/env.
  3. sed/mv взлом произошел из-за ограничений EDITOR + NetBSD's sed + требования об отсутствии других зависимостей / ненужных временных факторов / загрязнения окружающей среды.
0
ответ дан 3 December 2019 в 09:38

Теги

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