[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: execuando script ao logar



Quoting Leandro Moreira <leandro@leandromoreira.eti.br>:
Junior,
Valeu pelas dicas consegui resolver o problema era erro no usuário, removi e o recriei e o problema foi resolvido, mas mesmo assim gostaria que se possível me enviase como ficaria colocar o script pra ser executado no passwd.
Junior Polegato - Linux escreveu:
Leandro Moreira escreveu:
Caros,
Criei um script usando dialog e gostaria que o usuário o executasse ao logar e que ao sair ele fosse deslogado. Coloquei o script no /usr/bin dei a ele a premissão chmod +s e o coloquei dentro do .bash_profile, mas mesmo assim ele não é executado. Alguem pode me dar uma sugestao.
Olá,
Tente colocar no .bashrc, algumas versões de bash (ou instalações/variações) não executam o .bash_profile. Basta, depois de chamar o executável, dar o comando exit para ser desautenticado. Mas tem que cuidar dos tais CTRL+C, que podem interromper a operação dar o prompt ao usuário. Uma outra alternativa é em vez de chamar o bash depois de logar, chamar o programa que deseja. Isso pode ser alterado na última coluna em /etc/passwd.

Olá Leandro e outros interessados.

Bom, teoricamente deveria funcionar a contento, mas como não está funcionando e tendo problemas com criação de usuário, nada que uma taça de um bom vinho não resolva, podemos combinar e fica por sua conta! ;) :P

  Vamos a um passo-a-passo:

- Se já tem um usuáro criado (vou chamar de junior aqui para exemplificar e estou num CL10) e pode removê-lo com todos seus arquivos e grupo específico, mãos a obra:
# userdel -r junior

- Vamos criar o usuário que vai usar um programa específico ao logar, que no caso usei chamar o programa mc, que está me /usr/bin/mc:
# useradd -m -s /usr/bin/mc junior
# passwd junior
Changing password for user junior.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

- Agora vamos verificar nossa criação:
# grep junior /etc/passwd
junior:x:503:504::/home/junior:/usr/bin/mc
# grep junior /etc/group
junior:x:504:
# grep teste /etc/shadow
junior:$1$liUxvJWD$gTBLFjPpNCkpMqohxdx8r/:13566:0:99999:7:::
# ls -al /home/junior
/home/junior:
total 28K
drwx------  2 teste teste 4,0K 2007-02-22 03:03 ./
drwxr-xr-x  7 root  root  4,0K 2007-02-22 03:03 ../
-rw-r--r--  1 teste teste 3,3K 2007-02-22 03:03 .Xdefaults
-rw-r--r--  1 teste teste   24 2007-02-22 03:03 .bash_logout
-rw-r--r--  1 teste teste  230 2007-02-22 03:03 .bash_profile
-rw-r--r--  1 teste teste  124 2007-02-22 03:03 .bashrc
-rw-r--r--  1 teste teste  593 2007-02-22 03:03 .xserverrc

- Agora ao autenticar com o usuário junior, caio direto no programa mc e ao sair com F10 -> Sim/Yes volta a tela inicial de autenticação.

- Agora, como se fosse um usuário existente, vou editar o /etc/passwd e trocar o /usr/bin/mc por /bin/bash
---- Beleza, tenho o prompt do bash ao me autenticar e saio com exit

- Agora vou voltar para o mc
---- Beleza, agora tenho o mc ao me autenticar

Caso queria controlar os sinais recebidos no seu programa, dependendo a linguagem de programação, analise quais os sinais recebido via teclado ou comando podem interromper seu programa e controle isso. No caso de C, procure pelas funções de signal; e no caso de Shell Script, procure pelp comando interno trap.

Fora isso, somente passando o erro e descrevendo com detalhes seus problemas para podermos ajudar mais precisamente.

Abraços.

--
Atenciosamente,

                Junior Polegato

                Um peregrino de problemas; Um pergaminho de soluções!
                Página Profissional: http://www.juniorpolegato.com.br



Reply to: