Noções básicas sobre sudoers:

3

Eu tenho um script Unix que cria um arquivo de log temporário, digamos tempfl.log . Quando este arquivo é criado, ele tem permissão rw-r--r-- .

Existe uma linha

chmod 0440 /etc/sudoers tempfl.log 2>&1

Mas quando o script é concluído, a permissão muda para r--r--r-- , mas deve ser rw-r--r-- . Se eu mudar a linha para

chmod 0644 /etc/sudoers tempfl.log

As permissões estão corretas para tempfl.log , mas gera erros dizendo:

sudo: /usr/local/etc/sudoers is mode 0644, should be 0440

Eu não entendo o que o sudoers está fazendo e o que está errado.

    
por randeepsp 01.09.2010 / 06:19

3 respostas

2

Seu script está alterando a permissão de 2 arquivos, / etc / sudoers e tempfl.log. Dividir o comando em duas linhas e você deve ficar bem.

    
por 01.09.2010 / 06:31
5

Seu script está fazendo exatamente o que você está mandando fazer:

chmod 0440 /etc/sudoers tempfl.log

aplicará r--r----- a ambos os arquivos.

Você realmente não deve ficar mexendo no arquivo sudoers , a menos que esteja escrevendo scripts de administração e, mesmo assim, as permissões devem ser deixadas em paz, pois isso ajuda a proteger seu sistema. O próprio programa sudo verifica as permissões do arquivo de configuração e avisa (como você viu). Escute isto. Obviamente sabe melhor que você: -)

Tem a certeza de que não está apenas a tentar executar determinadas partes do seu script em sudo , como em:

sudo chmod 0440 tempfl.log 2>&1

Se não, e você realmente quer modificar ambos os arquivos (mas com permissões diferentes, use dois comandos separados:

chmod 0440 /etc/sudoers 2>&1
chmod 0644 tempfl.log 2>&1
    
por 01.09.2010 / 06:31
1

Quando você escreve chmod 0440 /etc/sudoers tempfl.log , altera as permissões de /etc/sudoers e tempfl.log para ambas as 0440, o que está errado.

Quando você escreve chmod 0644 /etc/sudoers tempfl.log , as permissões de /etc/sudoers e tempfl.log são alteradas para ambos, sendo 0644, o que está errado.

Você precisa alterar as permissões em /etc/sudoers ? Você realmente queria escrever chmod 0644 tempfl.log ?

    
por 01.09.2010 / 06:25