Muszę uruchomić polecenie z uprawnieniami administracyjnymi. Ktoś powiedział, że powinienem uruchomić polecenie jako root. Jak mam to zrobic?
sudo
root
administration
Stefan
źródło
źródło
Odpowiedzi:
Główne dwie możliwości wiersza poleceń to:
su
Po wyświetleniu monitu użyj i wprowadź hasło roota.sudo
przed poleceniem i po wyświetleniu monitu wprowadź hasło.Uruchamianie polecenia powłoki jako root
sudo (preferowane, gdy nie jest uruchomiony wyświetlacz graficzny)
Jest to preferowana metoda w większości systemów, w tym Ubuntu, Linux Mint, (prawdopodobnie) Debian i innych. Jeśli nie znasz osobnego hasła roota, skorzystaj z tej metody.
Sudo wymaga wpisania własnego hasła. (Celem jest ograniczenie szkód, jeśli pozostawisz klawiaturę bez nadzoru i odblokowania, a także upewnienie się, że naprawdę chcesz uruchomić to polecenie i nie było to np. Literówka.) Często konfiguruje się, aby nie pytać ponownie o kilka minut, aby można było uruchamiać kilka
sudo
poleceń kolejno.Przykład:
Jeśli chcesz uruchomić kilka poleceń jako root, przedrostek każdego z nich za pomocą
sudo
. Czasami wygodniej jest uruchomić interaktywną powłokę jako root. Możeszsudo -i
do tego użyć :Zamiast tego
sudo -i
możesz użyćsudo -s
. Różnica polega na tym, że-i
ponownie mogę nitializes środowiska na rozsądnych domyślnych, podczas gdy-s
używa plików konfiguracyjnych na lepsze lub gorsze.Aby uzyskać więcej informacji, zobacz witrynę sudo lub wpisz
man sudo
w swoim systemie. Sudo jest bardzo konfigurowalny; na przykład można go skonfigurować tak, aby pewien użytkownik wykonywał tylko niektóre polecenia jako root. Przeczytajsudoers
stronę podręcznika, aby uzyskać więcej informacji; służysudo visudo
do edycji pliku sudoers.su
su
Polecenie istnieje w większości systemów Unix. Pozwala uruchomić polecenie jako inny użytkownik, pod warunkiem, że znasz hasło tego użytkownika. Po uruchomieniu bez określonego użytkownika,su
domyślnie będzie to konto root.Przykład:
Polecenie do uruchomienia należy przekazać przy użyciu
-c
opcji. Zauważ, że potrzebujesz cudzysłowów, aby polecenie nie zostało przeanalizowane przez powłokę, ale przekazane w stanie nienaruszonym do uruchomionej powłoki głównejsu
.Aby uruchomić wiele poleceń jako root, wygodniej jest uruchomić interaktywną powłokę.
W niektórych systemach musisz być w grupie 0 (nazywany
wheel
), aby użyćsu
. (Chodzi o to, aby ograniczyć szkody, jeśli hasło roota zostanie przypadkowo wyciekłe do kogoś).Logowanie jako root
Jeśli masz ustawione hasło roota i jesteś w jego posiadaniu, możesz po prostu wpisać
root
polecenie logowania i wprowadzić hasło roota. Bądź bardzo ostrożny i unikaj uruchamiania złożonych aplikacji jako root, ponieważ mogą robić coś, czego nie zamierzałeś. Logowanie bezpośrednio jako root jest przydatne przede wszystkim w sytuacjach awaryjnych, takich jak awarie dysku lub po zablokowaniu konta.Tryb pojedynczego użytkownika
Tryb pojedynczego użytkownika lub poziom uruchamiania 1 daje również uprawnienia roota. Jest to przeznaczone przede wszystkim do sytuacji związanych z konserwacją awaryjną, w których nie jest możliwe uruchomienie z poziomu uruchamiania wielu użytkowników. Możesz uruchomić system w trybie pojedynczego użytkownika, przekazując
single
lubemergency
w wierszu poleceń jądra. Pamiętaj, że uruchomienie w trybie pojedynczego użytkownika to nie to samo, co normalne uruchomienie systemu i zalogowanie się jako root. Zamiast tego system uruchomi tylko usługi zdefiniowane dla poziomu uruchamiania 1. Zazwyczaj jest to najmniejsza liczba usług wymaganych do posiadania użytecznego systemu.Można również dostać się do trybu jednego użytkownika za pomocą polecenia telinit:
telinit 1
; jednak to polecenie wymaga, abyś już uzyskał uprawnienia root'a za pomocą innej metody w celu uruchomienia.W wielu systemach uruchomienie w trybie pojedynczego użytkownika zapewni użytkownikowi dostęp do powłoki roota bez pytania o hasło. W szczególności
systemd
systemy oparte na monitach o podanie hasła roota podczas uruchamiania w ten sposób.Inne programy
Calife
Calife pozwala uruchamiać polecenia jako inny użytkownik, wpisując własne hasło, jeśli jest autoryzowane. Jest podobny do znacznie bardziej rozpowszechnionego sudo (patrz wyżej). Calife jest bardziej lekki niż sudo, ale także mniej konfigurowalny.
Op
Op pozwala uruchamiać polecenia jako inny użytkownik, w tym root. To nie jest pełnowartościowe narzędzie do uruchamiania dowolnych poleceń: wpisujesz,
op
a następnie mnemonik skonfigurowany przez administratora systemu, aby uruchamiał określone polecenie.Wspaniały
Super pozwala uruchamiać polecenia jako inny użytkownik, w tym root. Polecenie musi zostać dozwolone przez administratora systemu.
Uruchamianie polecenia graficznego jako root
Zobacz także Wikipedię .
PolicyKit (preferowany przy korzystaniu z GNOME)
Po prostu poprzedź żądane polecenie poleceniem
pkexec
. Pamiętaj, że chociaż działa to w większości przypadków, nie działa uniwersalnie.Zobacz
man pkexec
więcej informacji.KdeSu, KdeSudo (preferowane przy korzystaniu z KDE)
kdesu
ikdesudo
są graficznymi nakładkami odpowiednio dosu
isudo
. Umożliwiają uruchamianie programów X Window jako root bez żadnych problemów. Są częścią KDE . Rodzaji wprowadź hasło roota lub wpisz
i wprowadź hasło (jeśli masz uprawnienia do uruchamiania
sudo
). Jeśli zaznaczysz opcję „zachowaj hasło” w KdeSu, będziesz musiał wpisać hasło roota tylko raz na sesję logowania.Inne programy
KtsussKtsuss („zachowaj su prosty, głupi”) to graficzna wersja su.
BeesuBeesu to graficzny interfejs do polecenia su, który zastąpił Gksu w systemach operacyjnych opartych na Red Hat. Został opracowany głównie dla RHEL i Fedory.
Przestarzałe metody
gksu
igksudo
gksu
igksudo
są graficznymi nakładkami odpowiednio dosu
isudo
. Umożliwiają uruchamianie programów X Window jako root bez żadnych problemów. Są częścią Gnome . Rodzaji wprowadź hasło roota lub wpisz
i wprowadź hasło (jeśli masz uprawnienia do uruchamiania
sudo
).gksu
igksudo
są przestarzałe. Zostały one zastąpione przez PolicyKit w GNOME i wiele dystrybucji (takich jak Ubuntu) nie instaluje ich już domyślnie. Nie powinieneś polegać na tym, że są one dostępne lub działają poprawnie.Ręcznie za pomocą jednej z metod opartych na powłoce
Użyj jednej z metod w „uruchamianiu polecenia powłoki jako sekcji głównej”. Musisz upewnić się, że ani
DISPLAY
zmienna środowiskowa, aniXAUTHORITY
środowisko nie zostaną zresetowane podczas przejścia na root. Może to wymagać dodatkowej konfiguracji tych metod, które są poza zakresem tego pytania.Ogólnie rzecz biorąc, jest to zły pomysł, głównie dlatego, że aplikacje graficzne odczytują i zapisują pliki konfiguracyjne jako root, a gdy spróbujesz ponownie użyć tych aplikacji jako zwykłego użytkownika, aplikacje te nie będą miały uprawnień do odczytu ich własnych konfiguracji.
Edycja pliku jako root
Zobacz Jak mogę edytować plik jako root?
źródło
sudo
będzie działać tylko wtedy, gdy (1) jest zainstalowany i (2), jeśli twoje użycie znajduje się w pliku sudoers i pozwala na wykonanie operacji.pkexec
obecnie zastępujegksu
/gksudo
w wielu dystrybucjach.Użyj
su
:lub
W obu przypadkach zostaniesz poproszony o podanie
root
hasła. Aby uzyskać więcej informacji, zobacz stronę podręcznika .źródło
Ponieważ pytanie nie było specyficzne dla Linuksa, oto jak osiągnąć ten sam cel w Solarisie 9+ (lub Trusted Solaris 8):
Solaris, od wersji 9, zawiera zestaw narzędzi pieszczotliwie nazywanych RBAC lub Role Based Access Control.
Istotą RBAC jest to, że poprzez przyznawanie autoryzacji i praw użytkownikom i / lub roli, lub przyznawanie ról użytkownikom, można tworzyć niewiarygodnie drobnoziarniste modele dla tego, kto może uruchamiać, z którymi uprawnieniami.
Zasadniczo identyfikujesz autoryzację w / etc / security / auth_attr, a następnie przyznajesz ją użytkownikom lub rolom w / etc / user_attr.
Definiujesz profile w / etc / security / prof_attr. Następnie kojarzysz polecenia z tymi profilami w / etc / security / exec_attr, a następnie przypisujesz te profile użytkownikom w pliku / etc / user_attr.
Po wykonaniu tych czynności faktycznie uruchomisz
pfexec <command>
polecenie z uprawnieniami lub autoryzacjami przyznanymi temu użytkownikowi dla tego polecenia.Zaletą RBAC jest to, że nie przyznaje się żadnych dodatkowych uprawnień samej komendzie ani użytkownikowi, tylko kombinacji użytkownik + komenda. Jest to więc bezpieczniejsze niż tworzenie plików binarnych + lub używanie sudo, aby użytkownik mógł wykonać prawie wszystko. (Wiem, że możesz zablokować sudo, ale z mojego doświadczenia wynika, że większość ludzi tego nie robi)
Kolejną zaletą RBAC jest to, że możesz ustawić root jako konto roli i przypisać tę rolę użytkownikom, którzy mogą stać się rootem za pomocą polecenia „su” i hasła roota. Użytkownik root będzie mógł także logować się w trybie pojedynczego użytkownika, co jest lepsze (moim zdaniem) niż model Linux, w którym można wyłączyć hasło roota
passwd -d root
lub zablokować konto rootapasswd -l root
, co powoduje, że logowanie się jako root jest dość trudne, gdy coś pójdzie nie tak.Ben Rockwood ma świetny post na blogu na temat RBAC, który można przeczytać na stronie Korzystanie z RBAC na (Otwartym) Solarisie .
źródło
Lub możesz nadać niektórym poleceniom supermoce. Mówię o specjalnych uprawnieniach, w których polecenia są wykonywane za zgodą właściciela.
Uzyskaj ścieżkę polecenia
#which <command>
i ustaw SUID lub SGID dla tej ścieżki.Bity PS - SUID i SGID należy podawać ostrożnie. Mogą sprawić, że twój system będzie niepewny.
źródło