Executar tarefas ao criar usuário

1. Executar tarefas ao criar usuário

Max Ricardo Benin
mbenin

(usa Fedora)

Enviado em 22/11/2011 - 14:42h

Boa tarde pessoal,

Existe a possibilidade de eu executar um shell script toda vez em que eu criar um usuário ? A minha meta com isso seria.

- Adicionar o usuario via adduser
- Executar uma shell que:
a) Muda o owner em /home/usuario/public_html para usuario:apache
b) Altera as permissões para 775 em public_html
c) Altera o caminho do login do usuario no ftp para cair direto em public_html

Seria possível criar uma regra neste nível sem que eu execute a shell manualmente ? E que ela execute a cada adduser ?

Abraços.


  


2. Re: Executar tarefas ao criar usuário

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 22/11/2011 - 14:46h

pode criar um script onde ele solicida a a criação do novo usário e após efetua os procedimentos que você gostaria


3. Re: Executar tarefas ao criar usuário

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/11/2011 - 14:51h

Isso te serve? http://www.tinotapa.com.br/2010/06/diretorio-etcskel.html


4. Re: Executar tarefas ao criar usuário

Max Ricardo Benin
mbenin

(usa Fedora)

Enviado em 22/11/2011 - 15:06h

Sim, já estou usando o skel, o problema é que estou tendo problemas na permissão pois quero colocar permissão para o usuario e ao mesmo tempo para o apache.

Neste caso queria já que o usuário pudesse ter como enviar arquivos, deletar e ao mesmo tempo que o apache fizesse o mesmo (caso aja algum script php para upload por exemplo).

Ao mesmo tempo eu queria já configurar algumas diretrizes de FTP para o usuário recém adicionado.

Quando eu uso o skel, ele bota permissão root:root em tudo.

Se evoluir essa ideia eu poderia até configurar se determinado usuário tem PHP habilitado ou Python ou Ruby etc..


5. Re: Executar tarefas ao criar usuário

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/11/2011 - 15:28h

Voce usa o ProFTPD? Se sim, voce mata o que voce quer assim:

Cria o usuario deste modo:
adduser --home /var/ftp/ --shell /bin/false --no-create-home -gid 100 <usuario> 

Ou voce pode criar a home dele retirando o --no-create-home. Tenha certeza de que o usuario criado sera do grupo 100 (ou outro que voce quiser escolher, mas sempre o mesmo grupo para todos.)

Pro usuario criar sempre arquivos dentro da pasta dele com permissao 664 e diretorios com permissao 775 coloque no proftpd.conf
Umask                           002  002 

Ou mude a seu gosto.

Para que o apache tenha estas permissoes todas, acredito que o que voce precisa eh colocar o usuario no grupo do apache tambem. E para que ele caia sempre na home dele e nao possa ir "para cima", voce precisa de:
DefaultRoot                     ~ 


Nao se esqueca de que se voce deixar o shell do usuario no /bin/false vai ter que coloca-lo no /etc/shells.

Uma outra ideia eh setar o umask pelo fstab, nao sei se vai te servir.


6. Re: Executar tarefas ao criar usuário

Max Ricardo Benin
mbenin

(usa Fedora)

Enviado em 22/11/2011 - 15:34h



Nao se esqueca de que se voce deixar o shell do usuario no /bin/false vai ter que coloca-lo no /etc/shells.



Você pode explicar melhor esta parte ? O resto está de boa.

Outra coisa, criando um arquivo com regras de shell nele, existe a chance de eu colocá-lo para ser acessível de qualquer caminho ? (Equivalente ao PATH do windows) Sem que eu precise acessar o arquivo direto da pasta aonde eu o criei ?


Muito obrigado.




7. Re: Executar tarefas ao criar usuário

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/11/2011 - 15:48h

O arquivo /etc/shells eh aonde o kernel le quais sao os shells validos do sistema. Eh so adicionar o /bin/false la que vai.

Nao sei se eh exatamente o que voce precisa, mas depois de criar o usuario voce pode tambem criar um link para o script e chama-lo, por exemplo, do /tmp, que eh uma opcao segura e que em geral os usuarios comuns podem ler.
Se for conta de ftp e o usuario precisar rodar este script a solucao eh copia-o para a $HOME dele ou fazer o link dele, sendo que o original possa ser lido pelo usuario, ja que ele nao lera o /tmp.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts