Mudança de senha com linha de comando no NetBSD

2

Como posso alterar a senha do root com um comando de linha no NetBSD? No FreeBSD, é algo parecido com isto

echo "password" | pw mod user root -h 0 ;
    
por Julio Fong 11.06.2013 / 18:05

3 respostas

3

O NetBSD não suporta o comando pw em sua instalação padrão. Você pode:

  1. Compile o comando pw para o NetBSD e instale-o em seus sistemas
  2. Escreva um utilitário que executa a funcionalidade equivalente
  3. Atualize a senha manipulando diretamente o arquivo de sombra

Observe que, dependendo do seu script, é provável que esteja usando -H (e fornecendo uma senha criptografada apropriadamente) em vez de -h .
Passar senhas não criptografadas pelo sistema (especialmente se você estiver fazendo algo como echo "password" ) é uma Idéia Ruim, pois pode resultar em expor sua senha a qualquer usuário (ou serviço) conectado.

    
por 11.06.2013 / 18:12
0

Use usermod com -p switch. Está incluído no sistema básico, não é necessário criar pw .

    
por 25.06.2013 / 23:23
0

Encontramos um caso de uso semelhante: criando automaticamente usuários de demonstração com senhas horríveis, evitando todas as políticas de senha. Sem mais delongas, aqui está um truque desagradável, mas funciona baseado na sugestão da lista de discussão:

Função shell do Bourn

# 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 \"\\" \"\\" > \"\.bak.\$\$\" && /bin/mv \"\.bak.\$\$\" \"\\"  ;}; in_place_sed 's/^$1:[^:]*:/$1:$PASSWORD_HASH:/' " \
     /usr/sbin/vipw
  )
}

Comando Bourn shell

( 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 \"\\" \"\\" > \"\.bak.\$\$\" && /bin/mv \"\.bak.\$\$\" \"\\"  ;}; in_place_sed 's/^$USERNAME:[^:]*:/$USERNAME:$PASSWORD_HASH:/' " \
    /usr/sbin/vipw )
  1. Funciona em sh e bash (com shells/bash instalado) e, provavelmente, zsh também (não testado).
  2. Assumindo a execução como raiz, se não adicionar sudo (com security/sudo instalado) ou su - root -c antes de /usr/bin/env .
  3. sed / mv hack é devido a EDITOR limitações + sed + do NetBSD não requer outras dependências / desnecessárias temporárias / poluição ambiental.
por 10.12.2014 / 00:10