FreeBSD cria usuário sem utilidade?

0

Eu tenho um usuário que eu criei através do utilitário pw no FreeBSD. O comando completo que usei foi:

pw add user example -s /usr/local/scripts/example.sh -w none

O usuário pode efetuar login como exemplo sem exigir uma senha que execute o script de exemplo. Depois que o script terminar, o usuário será desconectado automaticamente.

Eu quero duplicar esse usuário, mas estou procurando fazer isso sem precisar de um utilitário. Por exemplo, olhei para modificar o arquivo /etc/passwd , mas não parece que funcionou. A razão pela qual eu digo que não funcionou é porque me pede uma senha e é claro que não tenho uma para esse usuário que tentei adicionar.

É o que eu sou depois de possível? Eu absolutamente tenho que usar utilitários como pw ?

Apenas uma edição rápida. Talvez a única coisa que esteja faltando seja configurar o usuário para não exigir uma senha. Minha edição de /etc/passwd poderia estar correta, e tudo que eu preciso seria de alguma forma definir esse novo usuário para não exigir uma senha.

    
por quickblueblur 10.12.2015 / 16:34

2 respostas

4

Você está editando o arquivo errado e, na verdade, não está modificando o banco de dados de contas do sistema, e é por isso que não está vendo nenhuma modificação.

Isso não é Linux. O arquivo de origem principal para o banco de dados de contas é /etc/master.passwd . /etc/passwd é um arquivo de compatibilidade do Unix Versão 7, um arquivo subordinado gerado a partir da origem. O banco de dados de contas do sistema real que é consultado por aplicativos que desejam procurar coisas é um par de arquivos Berkeley DB, também gerados a partir do arquivo de origem por pwd_mkdb .

vipw é executado pwd_mkdb automaticamente. Se você editar manualmente /etc/master.passwd , deverá (cuidadosamente) executar pwd_mkdb .

Se você editar manualmente /etc/passwd , suas alterações serão perdidas na próxima vez que pwd_mkdb for executado e não será visto pelos aplicativos de qualquer maneira.

    
por 10.12.2015 / 17:34
2

Se você quiser editar o arquivo passwd (5) , use vipw (8) . O arquivo /etc/passwd é apenas um arquivo de sombra.

Para definir a senha como vazia, basta remover o segundo parâmetro (entre dois : caracteres). Por exemplo, se root tivesse uma senha vazia, vipw mostraria algo assim:

  root::0:0::0:0:Charlie &:/root:/bin/csh

O banco de dados de nome de usuário e senha real está localizado em /etc/pwd.db. Veja pwd_mkdb (8) para mais detalhes.

    
por 10.12.2015 / 17:05