Evitando que usuários do Linux configurem uma propriedade incorreta para arquivos

0

Atualizei a propriedade em vez de alterar a permissão do arquivo.

Eu deveria ter usado chmod 777 <filename> , mas usei chown 777 <filename> .

Exemplo:

[john@sv1:/tmp]$ touch etst_test.txt
[john@sv1:/tmp]$ ls -lrt etst_test.txt
-rw-rw-r-- 1 deploy deploy 0 Oct 17 18:29 etst_test.txt
[john@sv1:/tmp]$ sudo chown 777 etst_test.txt
[john@sv1:/tmp]$ ls -lrt etst_test.txt
-rw-rw-r-- 1 777 deploy 0 Oct 17 18:29 etst_test.txt
[john@sv1:/tmp]$ vi etst_test.txt

Eu não gosto disso, e gostaria de definir um método de prevenção para me impedir / rejeitar ou mostrar alguns erros.

    
por MohanBabu 18.10.2015 / 03:24

1 resposta

1

Acho que a única maneira de você fazer isso é mover o comando chown do $PATH e substituí-lo por um arquivo em lote que pergunte se você realmente quer mudar a propriedade e se o usuário responder positivamente, o arquivo em lote executa o comando chown correspondente.

É claro que a desvantagem disso é que, quando você atualizar o gnu coreutils, sua versão em lote de chown será sobrescrita (dependendo do gerenciador de pacotes, como ele responde quando vê uma versão não padrão de chown ).

Você também pode confiar em root para fazer a coisa certa e limitar a disponibilidade desse comando para apenas root usando chmod (e tenha cuidado ao usar chmod e não chown :-)) em chown e, em seguida, talvez mexer com sudo privelages para este comando.

Como @qasdfdsaq menciona nos comentários, a designação de um alias é a melhor maneira, que deixa o binário não modificado e não vai confundir o gerenciador de pacotes. Portanto, crie um script chamado mychown (ou o que você quiser) que faça a pergunta, coloque-o em /usr/local/bin ou em algum lugar assim e tenha um alias que indique chown para esse script.

    
por 18.10.2015 / 03:31