Używanie podstawiania procesów bash dla polecenia sudo

Chciałbym użyć podstawienia procesu bash dla polecenia sudo.

Na przykład tutaj działa polecenie inne niż sudo, które działa dla mnie:

$ cat <(echo "installed.txt")
installed.txt

A oto wersja polecenia sudo, która nie działa:

$ sudo cat <(echo "installed.txt")
cat: /dev/fd/63: Bad file descriptor

Czytając stronę man sudo, wydaje się, że sudo zamyka wszystkie deskryptory plików stdin / stdout / stderr przed uruchomieniem polecenia jako root. Prowadzi mnie to do wniosku, że bash tworzy deskryptor (i wykonuje podstawianie procesu) przed uruchomieniem polecenia sudo.

Zmieniłem powłokę roota na bash (zamiast domyślnej sh). Przetestowałem, że polecenie działa dobrze po zalogowaniu się jako root. Nie działa tylko za pomocą polecenia sudo.

Jaka jest odpowiednia technika do osiągnięcia tego, co próbuję tutaj zrobić? Eval, cytowanie, flaga sudo, mod sudoers, inne?

questionAnswers(4)

yourAnswerToTheQuestion