Como eu adiciono um novo usuário a um sistema Linux embarcado manualmente?

2

Eu tenho um sistema que foi projetado para uso somente pelo root e eu quero rodar um servidor FTP nele. O software que eu uso lida com autenticação usando o mesmo nome de usuário e senha como o próprio sistema operacional. Para mim, parece mais seguro ter outro usuário para transferência de dados por FTP e outro que apenas executaria um servidor FTP.

Então, aqui está o meu problema: Como eu disse, o sistema foi projetado para ser usado apenas pelo root e não há useradd ou qualquer coisa semelhante, tanto quanto eu posso ver. É possível adicionar o usuário manualmente?

Estou executando o OpenWRT Backfire 10.03.1-rc4, se for importante, mas respostas genéricas seriam melhores.

    
por AndrejaKo 05.03.2011 / 06:21

1 resposta

5

Aproximadamente:

# cp /etc/passwd /etc/passwd.bak # just in case you e.g. forget one of the >s
# echo 'ftpuser:x:1000:1000:ftp user:/home/ftpuser:/bin/sh' >>/etc/passwd
# cp /etc/shadow /etc/shadow.bak
# echo 'ftpuser:x:15020:0:99999:7:::' >>/etc/shadow
# cp /etc/group /etc/group.bak
# echo 'ftpuser:x:1000:' >>/etc/group
# cp /etc/gshadow /etc/gshadow.bak
# echo 'ftpuser:x:1000:' >>/etc/gshadow
# passwd ftpuser
# mkdir /home/ftpuser
# chown ftpuser:ftpuser /home/ftpuser

Você deve certificar-se de que o nome de usuário, o ID do usuário e o ID do grupo estejam disponíveis. Além disso, a menos que a conta precise de acesso ao shell por algum motivo, defina o shell como algo como /bin/false ou /sbin/nologin (se o último estiver disponível).

    
por 05.03.2011 / 06:36

Tags