Zmień katalog używając sudo

22

Jak przejść do katalogu należącego do roota?

Jeśli zrobię: sudo cd RootOwedDir

Dostaję: sudo cd: command not found

Jeśli ja su root

Otrzymuję: authentication failureprawdopodobnie dlatego, że tak naprawdę nigdy nie zakładałem rzeczywistego konta root.

Co ja tu robię źle?

nieznany użytkownik Google
źródło
Podsumowując: zarówno „sudo su”, jak i „sudo sh -sc” cd dir_path cYrusa (zwróć uwagę na parm dodatków) rozwiązały problem. Dziękujemy wszystkim za pomoc.
nieznany użytkownik Google

Odpowiedzi:

20

Zamiast tego spróbuj użyć sudo -sdo uruchomienia powłoki roota, a następnie po prostu cddo katalogu.
Gdy skończysz jako root, naciśnij CtrlDlub wpisz exit.

Ważne jest, aby pamiętać, że jako root można łatwo uszkodzić niezbędne elementy systemu. Używaj ostrożnie!

oktosiTe
źródło
5

To dlatego, że cdnie jest to polecenie, ale wbudowana funkcja powłoki; i suoczekuje hasła roota. Po prostu użyj:

sudo su

aby uruchomić powłokę z uprawnieniami roota. Wpisz exitlub naciśnij Ctrl+, Daby po zakończeniu powrócić do poprzedniej powłoki.

Cyrus
źródło
2
sudo sujest niepotrzebnie skomplikowane. sudo -ssprawia, że ​​sudo uruchamia powłokę; lub możesz uruchomić sudo bashlub sudo zshjeśli nie chcesz pamiętać tej -sopcji.
Gilles „SO- przestań być zły”
3
sudo sh -c "cd dir_path"
Wesley Rice
źródło
To też nie działa dla mnie. Może to być spowodowane tym, że katalog, do którego chcę wejść, zawiera w nazwie spacje. Próbowałem wariacje na sudo sh -c "cd moja \ ścieżka" bez powodzenia. Brak komunikatu o błędzie, po prostu zwraca, jakby coś zrobił, ale pozostaję w tym samym katalogu. sh jest zainstalowany w moim systemie, chociaż zwykle używam bash.
nieznany użytkownik Google
@unknown - Zawsze myślałem, że będziesz musiał odrodzić podpowłokę, aby uruchomić wbudowane powłoki jako root, czy to w bash, czy w zwykłym sh. Jestem zdecydowany to rozgryźć.
Wesley Rice,
Dodanie opcji -s razem z -c załatwiło sprawę. Dzięki za wysiłek.
nieznany użytkownik Google
1

Możesz także zrobić a sudo vimna folderze, tzn sudo vim RootOwedDir. Wyświetli widok vim dla folderów, który pokaże wszystkie pliki / foldery znajdujące się w tym folderze. wtedy możesz po prostu uruchomić to, czego potrzebujesz, spoza folderu i sudo, tak jak zwykle.

znak
źródło
0

su -następnie wpisz swoje hasło. Teraz możesz po prostu cd do katalogu. Pamiętaj, że jesteś teraz rootem, więc ctrl-d zanim zrobisz cokolwiek, dla czego nie chcesz być rootem.

Unfundednut
źródło
To powoduje błąd uwierzytelniania w systemie Ubuntu.
Wesley Rice,
Naprawdę? Nigdy nie miałem dla mnie problemu.
Unfundednut,
2
Dla OP byłoby to z pewnością, ponieważ nie ma on odpowiedniego konta root.
Wesley Rice,
Co ciekawe, jestem na świeżej instalacji Ubuntu, nigdy nie „konfiguruję” użytkownika root, ale mogę po prostu powiedzieć sudo -i jestem bogiem systemu.
Unfundednut,
Tak, dostaję błąd uwierzytelnienia.
nieznany użytkownik Google
0

Dla mnie połączenie sudoi screenopracowane:

sudo -iu vagrant screen -mS npm_install bash -c 'cd /vagrant && npm install'

To polecenie najpierw przełącza się na vagrantużytkownika. Następnie, jak vagrantzmienia katalog /vagranti wykonuje npm install.

czerasz
źródło
-2

Najłatwiej to zrobić, włączając konto root i używając su, aby zostać rootem. Ubuntu bardzo chroni konto roota ze względu na możliwość niewłaściwego użycia, ale czasami znacznie łatwiej jest używać konta roota niż sudo w każdej linii. Pamiętaj tylko, z którego konta korzystasz w danym momencie.

Zaczerpnięte stąd :

Otwórz terminal i wpisz: sudo passwd root . Po wyświetleniu monitu „Wprowadź nowe hasło UNIX” wpisz hasło dla użytkownika root i potwierdź je.

W tym momencie będziesz mógł przejść do rootowania za pomocą su i cd do katalogu.

zcid
źródło
-1. To jest pełne zła. Co GDM ma z tym wspólnego? OP chce „cd” do katalogu czytelnego tylko przez root. Nikt nigdy nie powinien logować się jako root przez GDM.
Wesley Rice,
Słuszna uwaga. Nie w pełni przeczytałem, co tam wkleiłem.
zcid
Znacznie łatwiejsze niż to jest włączenie powłoki roota z sudo -s, jak powiedzieli inni, i znacznie lepszym rozwiązaniem jest poznanie sudo, znacznie bardziej elastycznego i szczegółowego narzędzia niż su, jeśli jest dobrze używane.
Adriano Varoli Piazza