Eu não entendo o seu problema, porque não basta usar sudo
?
sudo grep -r "some phrase" /path/to/restricted-dir
Por exemplo:
$ sudo tree -up
.
└── [drwx------ root ] foo
├── [drwx------ root ] bar
│ └── [drwx------ root ] baz
│ └── [drwx------ root ] foobar
│ └── [-rwx------ root ] foo.txt
└── [-rwx------ root ] foo.txt
4 directories, 2 files
Como você pode ver acima, eu tenho uma estrutura de pastas com três subdiretórios aninhados, foo
todos de propriedade do root e somente o root tem acesso a eles. Portanto, a execução normal grep
falha:
$ grep -r foo foo/
grep: foo/: Permission denied
Rodando com sudo
funciona perfeitamente e encontra a string foo
em ambos os arquivos que a contêm:
$ sudo grep -r foo foo/
foo/bar/baz/foobar/foo.txt:foobar
foo/foo.txt:foobar
Para comandos mais complexos, você pode usar sudo -i
como sugerido por @ FrankThomas ou su
se você tiver a root
conta ativada.