Como faço para criar um usuário ftp virtual com senha pré-definida usando ftpasswd e bash

5

Olá, gurus de linha de comando, criei um usuário de ftp como este:

ftpasswd --passwd --name webftp --uid 33 --home /var/www --shell /bin/false

O que eu gosto de fazer é criar o mesmo usuário com uma senha pré-definida usando a opção --stdin . Se eu usar:

echo < passwd > | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --shell /bin/false

Recebi uma mensagem dizendo que a senha não está definida.

Alguém vê o erro?

Obrigado!

    
por Josh 31.08.2013 / 11:22

1 resposta

8

Eu sugiro que você use:

passwd="your_password"
echo $passwd | ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --shell /bin/false

ou

ftpasswd --stdin --passwd --name webftp --uid 33 --home /var/www --shell /bin/false < passwd.txt

em que passwd.txt é um arquivo que contém a senha.

Isso porque:

  

[...] a opção --stdin não permite que as senhas sejam passadas para o script na linha de comando, mas no stdin. Isso é feito como uma medida de segurança: o comando padrão Unix ps pode ser usado para mostrar todos os processos em execução em um sistema, incluindo seus parâmetros de linha de comando. Isso significa que qualquer usuário poderia usar ps para observar as senhas fornecidas a ftpasswd , se essas senhas fossem passadas na linha de comando .

Mais sobre:

por Radu Rădeanu 03.09.2013 / 19:06