Za każdym razem, gdy próbuję wydać su
, otrzymuję to:
$ su
Password:
su: Sorry
Nie trzeba dodawać, że wprowadzam prawidłowe hasło administratora, które działa sudo
. Nie chcę za sudo
każdym razem wchodzić .
W systemie MacOS X użytkownik root jest domyślnie wyłączony, dlatego su
nie będzie działać. Jak stwierdzili inni, najlepiej go używać sudo
.
Jeśli musi umożliwić użytkownikowi root zobaczyć TechNote Apple: Włączanie i stosując „root” użytkownika w systemie Mac OS X .
sudo su
nadal działa, więc nie jest tak naprawdę wyłączone. Po prostu nie ma hasła.sudo su
, co na świecie jest sens w wyłączaniusu
?su
”, lecz o zapobieganie logowaniu do roota . Nie zezwalając na logowanie jakoroot
, zapobiega się wielu możliwym problemom bezpieczeństwa. Nie pozwalając ktoś, kto możesudo
dosu
niby głupie. Zasadniczosu
wystarczy zmienić bieżący identyfikator użytkownika i wykonać polecenie (powłokę, jeśli nie została określona). Jeśli identyfikator użytkownika ma już 0 (root), na przykład gdy jest wykonywany przy pomocysudo
, nie ma nic do zrobienia, więc po prostu wykonuje powłokę. Możesz uzyskać podobny efekt, robiącsudo bash
.Masz dwie opcje. Pierwszym z nich jest użycie
sudo -s
- da ci to dostęp do administratora, ale nadal będziesz „sobą” (że tak powiem), więc rzeczy takie jak~
nadal będą twoim katalogiem domowym. Alternatywnie możesz użyćsudo su
, co daje powłokę jako rzeczywisty użytkownik root twojego komputera Mac.źródło
sudo
do uruchamiania poleceń wymagających podwyższonych uprawnień, a nie do przełączania się na powłokę root i pracy z tym.sudo
skrajnie podnoszą etos. Ale cokolwiek: semantyka. Nie używaj powłok roota w OS X.Na przykład, jeśli potrzebujesz przenieść pliki lub użyć git za pomocą interfejsu CLI, wówczas najlepszym rozwiązaniem będzie użycie
sudo -s
polecenia. Po tym poleceniu nie musisz ciągle wprowadzać hasła.źródło
Myślę, że nie możesz tego zrobić jako „normalny” użytkownik ...
Jeśli istnieje inne konto użytkownika z uprawnieniami administratora, musisz z niego skorzystać
źródło
Nowoczesne rozwiązanie:
sudo -u
Aby uruchomić jako inne użycie, użyj
sudo -u
.Na przykład, aby uruchomić edytor tekstu, taki jak nano :
… I wprowadź hasło administratora Macintosh po wyświetleniu monitu. W tym momencie przywołuje użytkownika administrator Mac
sudo
, a niesomeuser
użytkownik, więc nie wprowadzaszsomeuser
hasła.sudo
oznacza uruchomienie czegoś przy użyciu uprawnień administratora.-u
oznacza „uruchom określone polecenie jako ten określony użytkownik”.someuser
należy zastąpić żądaną nazwą użytkownika.Aby zasymulować początkowe logowanie dla konkretnego użytkownika, w tym uruchomienie skryptów uruchamiania, użyj
-I
.Spowoduje to uruchomienie
nano
aplikacji jako użytkownika,someuser
ale dopiero po uruchomieniu skryptów uruchamiania dla tego użytkownika.Jeśli zdecydujemy się nie określać polecenia lub aplikacji do uruchomienia, otrzymamy interaktywną powłokę działającą jako ten użytkownik.
Stara szkoła:
sudo su someuser
Inne podejście wykorzystuje
su
polecenie w połączeniu zsudo
.su
Komenda oznacza „przełączenie”.Lub, aby włączyć uruchamianie skryptów uruchamiania użytkownika, dodaj łącznik.
root
użytkownikroot
Łatwy w Unix związanych z systemami operacyjnymi mieć władzę absolutną na nic.Firma Apple postanowiła wyłączyć
root
konto w systemie macOS, aby uniknąć luk w zabezpieczeniach i zabezpieczyć Cię przed postrzeleniem w nogę. Apple stworzył ideę kont użytkowników Administrator, które mają wiele uprawnień, więcej mocy niż standardowe konto użytkownika, ale nieroot
ma takiej mocy absolutnej jak ma. W celu omówienia zapoznaj się z uwagą na temat wsparcia Apple .W razie potrzeby możesz włączyć
root
użytkownika w systemie macOS, a następnie przełączyć się na tego użytkownika. Jest to zdecydowanie odradzane. Zejdę tą ścieżką tylko w rozpaczliwej ostateczności.Aby omówić to w kontekście
postgres
użytkownika korzystającego z systemu bazy danych Postgres w systemie macOS, zobacz to pytanie na stronie siostrzanej DBA Stack Exchange .źródło