Usando o SUDO para executar um comando geral dentro de um diretório não acessível

1

Eu quero colocar algo dentro de um diretório. Mas o usuário não tem permissões no diretório. Por causa de alguns motivos, não tenho permissão para alterar permissões, grupo ou proprietário. Só quero saber que eu posso acessar esse diretório por alguma entrada no arquivo sudoers.

grep -r "some phrase" /path/to/restricted-dir

Existe alguma maneira de executar o comando acima usando o sudo?

    
por Unnikrishnan 03.02.2014 / 16:47

1 resposta

0

Você pode fazer isso evitando curingas em sudoers (mas obtendo uma condição de corrida em vez disso, o que parece não ser um problema aqui), colocando os padrões em um arquivo:

grep -r -f /path/to/file/with/patterns /path/to/restricted-dir

Isso pode ser colocado em sudoers .

Outra solução é um script de wrapper (que é colocado em sudoers ):

sudo /wrapper/script pattern1 pattern2

O script funcionaria assim:

#! /bin/bash
test $# -eq 0 && exit 0 # no arguments
index=0
pattern_args=()
while [ $# -gt 0 ]; do
    pattern_args[index]="-e"
    ((index++))
    pattern_args[index]="$1"
    ((index++))
    shift
done
grep -r "${pattern_args[@]}" /path/to/restricted-dir
    
por 04.02.2014 / 01:07