Como executo um script sempre que alterno para um determinado usuário?

1

Eu coloquei o script que eu quero rodar em ~ / .bash_login, mas isso não funciona quando eu apenas mudo para o usuário de outro usuário.

Existe outro arquivo desse tipo? algo mais?

    
por Alex Brooks 03.02.2018 / 21:24

2 respostas

1

Isso depende de como você "muda para o usuário". O arquivo .bash_profile é usado pelo shell bash quando ele é iniciado como um shell de login, caso contrário.

Portanto, se você usar sudo , deverá certificar-se de obter um shell de login quando alternar usuários, usando seu -i flag:

-i, --login

Run the shell specified by the target user's password database entry as a login shell. This means that login-specific resource files such as .profile or .login will be read by the shell. [...]

Isso significa que

sudo -i -u otheruser

provavelmente funcionaria para você.

Isso pressupõe que bash seja, de fato, o shell de login especificado em /etc/passwd para o usuário otheruser .

    
por 03.02.2018 / 21:47
0

Inclua o script em /home/username/.bashrc

Testado e trabalhado bem

Abaixo, um é exemplo de exemplo

cat .bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
sh /tmp/l.sh =====>[ its a script which is going to execute when you logged in to this user]
fi

# User specific aliases and functions
    
por 04.02.2018 / 10:10

Tags