Puppet - 2.7.x - Definir SGID

1

Estou tentando fantocalizar um módulo que garantirá que eu tenha o mesmo caminho em servidores para armazenar arquivos de log locais para aplicativos da Web personalizados. Como tal, gostaria de definir o SGID para garantir que, mesmo se o arquivo / dirs pertencerem ao apache, qualquer pessoa pertencente ao grupo de arquivos ainda possa rwx para os mesmos ativos. No entanto eu estou tendo um problema em definir o modo, eu tentei tanto numérico (2775) e simbólico (u + rwx, g + rwxs, o + rw) e nem parece funcionar. Aqui estão os resultados que eu vi:

  • Numérico : parece se comportar como 775 (ignorando completamente o primeiro valor). Mesmo assim, de acordo com os docs , o fantoche afirma que 2775 é suportado, suspeitar que não é suportado para o 2.7.x.

  • Simbólico : Ele funciona, exceto que eu acabo com o seguinte (observe o minúsculo t): drwxrwsrwt

Existe outro caminho? Devo apenas executar um Exec e executar um comando shell para fazer o chmod g + s?

--- Atualização 1.23.2014 ---

Estranho, então fiz o mesmo teste que o Zoredache e terminei com o seguinte:

root@dev-a-1 /tmp/puppet # -> puppet --version
2.7.24

root@dev-a-1 /tmp/puppet # -> cat test.pp
file { '/tmp/puppet/test_dir': ensure => directory, mode => 2755 }

root@dev-a-1 /tmp/puppet # -> ls
total 24
drwxr-xr-x. 3 root root  4096 Jan 23 22:03 .
drwxrwxrwx. 8 root root 12288 Jan 23 22:00 ..
drwxr-sr-x. 2 root root  4096 Jan 23 22:03 test_dir
-rw-r--r--. 1 root root    67 Jan 23 22:03 test.pp

--- Atualização 23/01/2014 # 2 ---

Eu não mencionei, no op, que o modo estava sendo definido em um arquivo de configuração hiera. Eu não mencionei isso porque não achei que teria causado o problema. No entanto, quando adicionei aspas em torno do modo ("2755") na configuração hiera, tudo começou a funcionar como esperado.

    
por Mike Purcell 23.01.2014 / 07:23

2 respostas

0

Parece que funciona para mim

root@srv:~# puppet --version
2.7.23

root@srv:~# cat test.pp
file {'/root/test.pp':
  mode => 2775
}

root@srv:~# puppet apply test.pp
notice: Finished catalog run in 0.06 seconds

root@srv:~# ls -al test.pp
-rwxrwsr-x 1 root root 40 Jan 22 22:54 test.pp

Questão tola, mas o sistema de arquivos subjacente suporta sgid certo? Tente simplificar suas regras, talvez dê uma olhada na sua marionete e veja se as permissões estão sendo definidas e, em seguida, sendo revertidas por algo que você não esperava.

    
por 23.01.2014 / 07:58
1

O sistema de arquivos (no seu caso / tmp) pode ser montado com a opção nosuid.

    
por 24.01.2014 / 01:18