É uma boa prática tornar o arquivo de bloqueio de um script de inicialização imutável?

3

Eu criei recentemente um script de inicialização e decidi configurar o arquivo de bloqueio como imutável para evitar interferência externa. A única desvantagem que posso pensar é que, se alguém quisesse excluir recursivamente / var / lock, eles poderiam ter um problema. O script de inicialização remove o sinalizador imutável antes de excluir o arquivo quando o processo é interrompido por meio do script.

É uma má ideia? por que não vejo mais vezes? Isso é um exagero? Se alguém conseguiu parar o processo sem o script init, o arquivo de bloqueio será removido na próxima vez em que o script for invocado com qualquer argumento.

    
por Gregg Leventhal 15.04.2015 / 18:49

1 resposta

2

No meu sistema, pelo menos, /var/lock (ou, na verdade, /run/lock , o primeiro é um link simbólico para o último) tem o bit pegajoso definido. Isso significa que apenas o proprietário do arquivo de bloqueio ou diretório pode excluí-lo, e não qualquer pessoa com gravação no diretório (da mesma forma que /tmp funciona). Em outras distros, o diretório só pode ser escrito por alguns usuários (para que usuários aleatórios não consigam mexer com isso).

Assim, os únicos usuários que podem mexer com (excluir) o arquivo de bloqueio do seu daemon são:

  1. root (como é claro, o root pode fazer qualquer coisa)
  2. o usuário que você está criando o arquivo de bloqueio como (soa como root novamente, mas também pode ser um usuário dedicado para seu daemon se você não estava tentando chattr it)
  3. o proprietário do diretório de bloqueio, root no meu sistema

Ou, se for configurado de outra forma, você pode adicionar "membros do grupo lock (ou qualquer um deles)", que geralmente são apenas usuários dos daemons do sistema.

Os usuários que podem ler / escrever seu arquivo de trava são controlados por permissões no arquivo de trava como normal - e a escrita é esperada limitada ao usuário root e do daemon.

Se root estiver causando "interferência externa", você terá problemas muito maiores do que ele / ela rm 'em um arquivo de trava. Então você não deve fazer isso - ele não adiciona nenhuma proteção e pode causar surpresas para o administrador de sistemas ao tentar corrigir algum problema.

O sinalizador imutável é algo que normalmente é aplicado apenas pelo administrador de sistemas.

    
por 15.04.2015 / 19:01