Permitir que um grupo execute todos os arquivos em um determinado diretório no CentOS

1

Estou tentando configurar a implantação automática para meu aplicativo Rails usando o Capistrano. O Capistrano precisará executar sudo kill , e eu consegui isso sem a solicitação de uma senha, editando o arquivo /etc/sudoers (via visudo , é claro) e adicionei a seguinte linha:

%deployers  ALL= NOPASSWD: /bin/kill

No entanto, como estou usando a configuração de usuário único do RVM, o executável bundle está em /home/peddiemarketdeploy/.rvm/gems/ruby-1.9.3-p194/bin/bundle , portanto, da mesma forma, adicionei

%deployers  ALL= NOPASSWD: /home/peddiemarketdeploy/.rvm/gems/*

nesse arquivo também, e tentei executar sudo bundle , mas o sudo ainda me pede uma senha. Como o RVM usa o número da versão no nome de diretórios, não desejo codificar um caminho para /etc/sudoers . Alguma idéia de como eu posso editar meu arquivo sudoers para que ele funcione?

Obrigado!

    
por jiehanzheng 24.08.2012 / 09:28

1 resposta

0

O rvm de alguma forma vincula a instância do ruby ativo? Ou seja, existe algum tipo de link simbólico chamado /home/peddiemarketdeploy/.rvm/gems/$active que aponta para qualquer versão ativa? Em caso afirmativo, permita o sudo para /home/peddiemarketdeploy/.rvm/gems/$active/bin/bundle . Caso contrário, escreva um script wrapper (não no shell, mas perl ou python ) que escolhe a versão correta e permite que as pessoas executem isso usando o sudo.

    
por 24.08.2012 / 09:58