Przywileje zawsze sudo

17

Szukałem tego i odpowiedź jest prawdopodobnie w milionach miejsc w sieci, ale nie mogę jej znaleźć ...

Jak przyznać swoje uprawnienia root do konta w systemie Linux, aby nie trzeba było wykonywać sudowszystkich poleceń wymagających uprawnień? Jest to nawet bardziej denerwujące niż Kontrola kont użytkowników systemu Windows.

( Proszę ... Nie potrzebuję wykładu na temat tego, jak prowadziłbym niebezpieczne życie. Dziękuję.)

użytkownik541686
źródło

Odpowiedzi:

12

Czy to ci odpowiada?

sudo EDITOR=gedit visudo

Zmień tę linię:

%admin ALL=(ALL) ALL

do tej linii:

%admin ALL=(ALL) NOPASSWD: ALL

Brak wykładów :)


źródło
3
+1, ale problem polega na tym, że wciąż muszę pisać sudo.
user541686,
@Lambert Ok, cóż, nie chcę tego robić, aby to przetestować, ale myślę, że możesz po prostu podać rootowi hasło „sudo passwd root”. Wyloguj się jako użytkownik; zaloguj się jako root. Czy GDM pozwala teraz zalogować się na konto root?
2
Cóż, już to zrobiłem, aby ustawić hasło roota i zalogować się jako root, i oczywiście nie muszę sudojuż tego robić . Problem polega na tym, aby dowiedzieć się, jak zrobić to samo dla innego konta.
user541686,
7

Ty nie. Dwie rzeczy, które możesz zrobić, to:

1) Uruchom sudo -s, aby pozostać rootem, gdy planujesz wprowadzać wiele poleceń i nie chcesz, aby były one poprzedzane sudo.

2) Możesz skonfigurować plik sudoers, aby umożliwić uruchamianie sudo bez konieczności podawania hasła.

psusi
źródło
2
Cóż, nie rozumiem, że jeśli mogę tak łatwo zalogować się jako „root” i nigdy nie muszę nawet myśleć o słowie „sudo”, to dlaczego nie mogę zrobić tego samego na innym koncie?
user541686,
@Lambert: Ponieważ te inne konta nie są UID 0.
JanC
1
Huh ... więc nawet dodanie się do grupy sudoczy coś takiego nie wystarczy? :(
user541686,
2

Nie widzę, jak trudno jest uruchomić sudo -iraz w terminalu, a następnie użyć tego jednego terminala (lub można otworzyć więcej niż jeden, ale wtedy trzeba będzie ponownie wpisać hasło ), aby wykonać wszystkie sudo.

(I nie, naprawdę nie widzę dużego problemu z wpisywaniem hasła raz na jakiś czas. To naprawdę nie jest tak czasochłonne, i dopóki nie zamkniesz terminala po każdym poleceniu, sudo nie poprosi o przepustkę masz uwierzytelniony).

LasseValentini
źródło
3
Nie chodzi o to, że jest czasochłonne, po prostu bardzo irytujące. Jeśli mówię, że chcę zmienić tapetę ekranu logowania, nie potrzebuję komunikatu „Czy jesteś szalony ?! Nie mogę ci ufać”. wiadomość z pytaniem, czy naprawdę jestem przy zdrowych zmysłach, nawet jeśli myślę o wykonaniu takiej akcji o wysokich uprawnieniach, informująca, że ​​jeśli źle wprowadzę hasło, to zdarzenie zostanie zgłoszone . To tak, jakby mój własny komputer mi nie ufał, a kiedy pracujesz przez chwilę, denerwuje mnie Bóg, że głupie działania innych ludzi przy komputerze powodują, że twój komputer zadaje ci pytania.
user541686,
Nie chciałem wyładowywać na tobie mojego gniewu, ale czasami funkcje „bezpieczeństwa” w oprogramowaniu, które mają chronić niedoświadczonych użytkowników, doprowadzają mnie do szału. Jeśli chcę sprawić, by mój komputer eksplodował, nie potrzeba niczego więcej niż „Jesteś pewien ?!” wiadomość z komunikatem „Nie pytaj więcej”. box ... już więcej, a to po prostu nie pozwala na uzyskanie potwierdzenia. Jeśli muszę podać potwierdzenie wszystkiego, równie dobrze może nie być - nie zmieni to mojej determinacji, ale przynajmniej zrobię te same rzeczy pięć razy szybciej bez podrażnienia.
user541686,
Projekt bezpieczeństwa Ubuntu jest przeznaczony dla środowiska domowego z wieloma użytkownikami. Zmiany w całym systemie powinny być wykonywane tylko przez zaufaną osobę, a nie tylko osobę, która ma konto użytkownika lub pożycza konto.
Jeremy Bicha
@JeremyBicha Nie dodali niczego poza oryginalnym projektem bezpieczeństwa / autoryzacji unixa, który Imo został stworzony do współdzielenia czasu dla wielu użytkowników na komputerach mainframe ... Czy to odpowiednie dla domu to kolejne pytanie, ale utknęliśmy z tym.
masterxilo,
1

Możesz zainstalować / aktywować komendę „su” i skonfigurować powłokę do uruchamiania jej podczas uruchamiania.


źródło
Czy jest jakiś „bezpośredni” sposób? Takich jak używanie sudoerslub dodawanie się do jakiejś specjalnej grupy?
user541686 11.01.11
sudo -s robi to samo.
psusi
@psusi: Ale czy nie chodzi o pytanie, czy nie trzeba tego robić za każdym razem, gdy uruchamiam komputer?
user541686 11.01.11
Czy jest jakiś sposób, aby nie pytać o hasło za każdym razem?
user541686,
0

Poprawna odpowiedź na moje pytanie:

Możesz zmienić identyfikator użytkownika (UID) i identyfikator grupy (GID) na zero /etc/passwd, aby uzyskać uprawnienia roota.

Jednak:

Jeśli to zrobisz, będziesz nie być w stanie zalogować się ponownie !

Możesz jednak utworzyć nowego użytkownika i zmienić jego identyfikator grupy / użytkownika na 0. Zasadniczo ten użytkownik będzie innym root, ale z innym folderem profilu itp.

Następnie możesz użyć tego profilu, jakbyś był rootsobą! :RE

Inne rozwiązanie":

(jeśli lubisz puste hasła)

  1. Uruchom poniższe polecenia i porównaj wyniki

    sudo cat /etc/shadow
    sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    

    Powinieneś zobaczyć, że ten ostatni usunął bełkot przed twoją nazwą użytkownika (którą czyta się przy użyciu $(whoami)). (Jeśli nie, nie kontynuuj!)

  2. Kiedy będziesz gotowy, uruchom polecenie, aby zastąpić /etc/shadow(na własne ryzyko!)

    sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    
  3. Twoje konto ma teraz puste hasło i nie powinieneś już otrzymywać monitów o uprawnienia sudo. (Przynajmniej tak mi się stało.)

Uwaga:

Może być również konieczne włączenie logowania bez hasła ; Nie jestem jednak pewien, czy to konieczne.

użytkownik541686
źródło
Czytałem gdzieś, że za pomocą „sudo bash” wystarczy. Próbowałeś tego?
Ciekawy uczeń
@CuriousApprentice: Chodziło o to, aby uniknąć sudo.
user541686
0

Radzę zdecydowanie, aby nie dać sobie GID 0. SUDO nie jest po to, by komplikować sprawy. Jedynym powodem, dla którego należy utworzyć inne konto root (katalog główny to / root / lub katalog niestandardowy, tj. / Home / root2 /), jest to, że w systemie są dwa administratorzy, którzy nie chcą udostępniać jednego hasła roota.

W przeciwnym razie użyj sudo. Zakładając, że nie jesteś doświadczonym użytkownikiem systemu Unix, istnieje również ryzyko, że zapomnisz, jakie narzędzia są przeznaczone tylko do rootowania, a co dla zwykłych użytkowników.

ALE, jeśli czujesz, że masz bezpiecznego normalnego użytkownika (osobiście używam MOCNEGO hasła w tej metodzie), pozwalam mojemu użytkownikowi (tj. Tatu.staff / uid = 1xxx, gid 50) uruchomić SUDO bez hasła. Dlatego nigdy nie mieszam tego, co jest tylko dla roota, a co dla użytkownika.

Skorzystaj z powyższych instrukcji, aby utworzyć plik sudoers (i odpowiednie grupy), aby określony użytkownik uruchomił SUDO bez hasła lub zobacz przykładowy plik, który wkleję tutaj:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

TWÓJ UŻYTKOWNIK jest twoją nazwą użytkownika, linia ta pozwala konkretnemu użytkownikowi na uruchomienie SUDO bez hasła.

wszyscy użytkownicy w grupie SUDO muszą podać hasło.

wszyscy użytkownicy w kole grupowym mogą uruchamiać sudo bez hasła - przydatne, jeśli chcesz dać dostęp do SUDO bez hasła wielu użytkownikom, co jest nawiasem mówiąc, po prostu BARDZO ZŁA POMYSŁ.

RÓWNIEŻ: - Zapamiętaj% charachter przed nazwami grup. - Można edytować / etc / group bezpośrednio, ale NIE jest to zalecane. Użyj ADDGROUP do edycji, zobacz więcej informacji, wpisując: man addgroup

Muszę raz jeszcze podkreślić, że ZAWSZE edytuj plik sudoers za pomocą komendy VISUDO, NIGDY bezpośrednio w edytorze. To gwarantuje, że zawsze otrzymujesz prawidłowy plik sudoers - błędy w pisaniu lub złe instrukcje itp. Są bardzo złe w tak ważnym pliku, a visudo oszczędza ci wszystkich problemów, których możesz nie być w stanie samodzielnie odzyskać, i postawię pierwszą odpowiedź na pytanie po to jest „zawsze używaj visdo. nie powiedzieli ci tego? och zrobili? Co jest z tobą nie tak?” czy coś podobnego;)

-

Pozdrowienia z Finlandii - jest tu ładna, całkiem ładna zima, tylko -10 Celsjusza, a nie te okropnie niższe niż -25 ° C.

\\ tatu-o

tatu stty
źródło
Ponadto, jeśli nie chcesz pisać długich poleceń lub masz tendencję do zapominania - flagi, alizy są dla Ciebie! Sprawdź ~ / .bashrc, czy ustawiony jest plik aliasu, a następnie dodaj aliasy do ~ / .bash_aliases
tatu stty