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: