Posso me forçar a digitar uma senha quando executar certos processos?

4

Eu trabalho frequentemente em um ambiente onde, vamos chamá-los de "brincalhões", podem obter acesso ao meu console.

Eu sou diligente em bloquear minha tela sempre que saio, mas com tempo suficiente, alguém tem a chance de digitar chmod -R 777 * enquanto estou olhando para o outro lado / afiando um lápis / o que quer que seja.

Existe alguma maneira de forçar a reentrada da minha senha em determinados comandos (estou pensando em rm , chmod , chown , vi ~/.bashrc , & c)?

Eu tenho pensado em chmodding .bashrc e .bash_profile para somente leitura para todos os usuários (inclusive eu) e, em seguida, alias chown / chmod / whatever para um script que requer uma senha, mas que parece tão hacky.

EDIT: Eu não sou um sudoer nesta máquina

    
por jsj 08.09.2012 / 17:05

1 resposta

3

Algumas maneiras diferentes de pensar:

1)

Use as ACLs do sistema de arquivos para remover a permissão de execução do seu usuário nesses binários específicos. Em seguida, solicite o uso de sudo para executá-los.

Por exemplo, para evitar que seu usuário execute chmod

setfacl -m u:trideceth12:- 'which chmod'

Agora, qualquer tentativa de executar chmod resultará em um erro de "permissão negada".

(A desvantagem dessa abordagem é que se os binários forem atualizados, a ACL será redefinida. Mas você pode colocar uma verificação simples para a ACL no script de inicialização do seu shell e avisá-lo se estiver faltando). / em>

2)

Como foi mencionado em um comentário, alias os comandos para outra coisa (como yes, /bin/true para fazer parecer que o comando funcionou).

3)

Um pouco menos fácil de resolver (mas ainda fácil) é colocar um diretório especial em $PATH à frente dos locais de pesquisa normais e copiar /bin/true nesse diretório como chmod . Dessa forma, não aparecerá como um alias.

Obviamente, # 1 é a melhor solução, pois, na verdade, faz mais do que direcionar mal o usuário, ele implementa segurança real.

    
por 08.09.2012 / 17:44