Zrobić drzewo struktury katalogu dostępu?

0

Chcę uruchomić skrypt, który pokaże mi wszystkie foldery (dane wyjściowe do pliku tekstowego), które może zobaczyć uruchomiony użytkownik, poczynając od katalogu głównego aż do punktu, w którym nie ma uprawnień, aby przejść dalej.

Czy ktoś ma do tego skrypt?

Korzystam z RedHat 6

Gepard
źródło

Odpowiedzi:

0

Wystarczy uruchomić tree -djako użytkownik, korzystając z jednej sudo -ulub su.

# sudo -u grawity tree -d / run
/biegać
├── dbus
├── gołębnik
├── gdm [błąd otwierania katalogu]
├── httpd
...
grawitacja
źródło
bash: tree: command not found... przepraszam, faktycznie korzystam z RedHat!
Gepard
Zakładałem, że wiesz, jak zainstalować dodatkowe oprogramowanie. Jeśli dobrze pamiętam, RH używa yumjako menedżera pakietów.
grawitacja
Przepraszam, powinienem był wspomnieć. Chcę rozwiązania, w którym nie muszę niczego instalować. Pracuję w środowisku, w którym zainstalowanie czegokolwiek zajmuje wieczność - stąd żądanie skryptu.
Gepard
0

Można to zrobić z wiersza poleceń, używając:

tree -d / > textfile.txt 2> /dev/null

po zalogowaniu się na to konto. Zapewniłoby to rekurencyjną listę katalogów o długim kształcie, zapisywanie danych wyjściowych textfile.txti błędów w czarnej dziury /dev/null. Jeśli chcesz zachować błędy, usuń 2>przekierowanie. Jeśli wykonano to z konta root, możesz dodać sudo -u <username>na początku polecenia, aby wykonać zadanie jako inny użytkownik. Jeśli musi to być skrypt, możesz po prostu upuścić polecenie do skryptu powłoki, lub jeśli musisz to zrobić sam i chcesz mieć łatwy dostęp, możesz utworzyć alias za pomocą polecenia.

Edycja: Po dodaniu, że korzystasz z RHEL, znam dwa różne sposoby radzenia sobie z tym. Jeśli nie potrzebujesz rysować struktury drzewa, a chcesz tylko rekursywną listę katalogów, możesz przełączyć się tree -dna find / -type d -lslub, jeśli masz uprawnienia instalacyjne, uruchomić yum install tree.

Mono
źródło
bash: drzewo: polecenie nie znaleziono ... przepraszam, właściwie uruchomiłem RedHat!
Gepard