Użycie SUDO do wykonania ogólnego polecenia w niedostępnym katalogu

-1

Chcę coś grep w katalogu. Ale użytkownik nie ma uprawnień w programie. Z pewnych powodów nie mogę zmieniać uprawnień, grupy ani właściciela. Po prostu chcę wiedzieć, że mogę uzyskać dostęp do tego katalogu przez jakiś wpis w pliku sudoers.

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

Czy istnieje sposób na wykonanie powyższego polecenia za pomocą SUDO. ?

Unnikrishnan
źródło

Odpowiedzi:

0
sudo -i
grep -r "some phrase" /path/to/restricted-dir
exit

sudo -i wprowadza Cię w tryb interaktywny, więc twoje polecenie zmienia się na „#”, a wszystkie uruchamiane polecenia są wykonywane jako root, aż do „wyjścia”.

Frank Thomas
źródło
0

Nie rozumiem twojego problemu, dlaczego po prostu nie użyjesz sudo?

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

Na przykład:

$ 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

Jak widać powyżej, mam strukturę folderów z trzema zagnieżdżonymi podkatalogami foo wszystkie z nich są własnością roota i tylko root ma do nich dostęp. Dlatego działa normalnie grep zawiedzie:

$ grep -r foo foo/
grep: foo/: Permission denied

Bieganie z sudo działa idealnie i znajduje ciąg foo w obu plikach, które go zawierają:

$ sudo grep -r foo foo/
foo/bar/baz/foobar/foo.txt:foobar
foo/foo.txt:foobar

W przypadku bardziej złożonych poleceń można ich użyć sudo -i jak sugeruje @FrankThomas lub su jeśli masz root konto włączone.

terdon
źródło