Utente non nel file sudoers. Questo incidente verrà segnalato


24

Devo installare un pacchetto. Per questo ho bisogno dell'accesso root. Tuttavia, il sistema dice che non sono nel file sudoers. Quando si tenta di modificarne uno, si lamenta allo stesso modo! Come posso aggiungermi al file sudoers se non ho il diritto di modificarne uno?

Ho installato questo sistema e solo l'amministratore. Cosa posso fare?

Modifica : ho visudogià provato . In primo luogo, mi richiede di essere sudoer.

amarzaya@linux-debian-gnu:/$ sudo /usr/sbin/visudo 

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for amarzaya: 
amarzaya is not in the sudoers file.  This incident will be reported.
amarzaya@linux-debian-gnu:/$ 

4
Beh, ovviamente user not(is) the sudoers file. (
Errore di battitura

8
Ora sei nella lista dei cattivi - xkcd.com/838
Aaron Newton,

Risposte:


18

Sarebbe una sorta di buco nella sicurezza se potessi aggiungerti /etc/sudoerssenza avere sudo o accesso root. Fondamentalmente, allora chiunque potrebbe radicarsi.

Fondamentalmente devi chiedere agli amministratori di quella macchina di aggiungerti, o di installare il pacchetto per te, secondo le politiche del sito.

Dovresti anche essere sicuro di usare visudo per modificare il file sudoers: controlla che la sintassi sia corretta prima di scrivere il file. E puoi usare editor diversi da vi con visudo. Userà di default qualunque cosa tu abbia impostato come $EDITORe se non lo hai impostato potresti farlo

# EDITOR=nano visudo

per usare invece l'editor nano.


5
Sono l'amministratore, poiché questa è la mia macchina e ho installato questo sistema, ma non aiuta :(
Sergiy Belozorov

9
Se è il tuo sistema, devi aver inserito una password per l'utente root durante l'installazione. Quindi accedi come 'root' e poi fai le cose visudo.
Hamish Downer,

Infatti. Colpa mia. Ho dimenticato di aver inserito la password durante l'installazione allora.
Sergiy Belozorov,

24

Accedi come root e usa /usr/sbin/visudoper modificare il file e aggiungere il tuo nome utente. Il normale vi / vim non sarà in grado di modificare il file.

Il modo più semplice è scendere fino a quando non vedi la riga " root ALL=(ALL) ALL" e aggiungerti sotto quello con la stessa sintassi ( yourusername ALL=(ALL) ALL). Oppure, puoi leggere la manpage sudoers se vuoi concederti privilegi più specifici.


Richiede di essere nella lista dei sudoers in primo luogo per poter eseguire visudo. Ho installato questo Debian, non c'è altro amministratore.
Sergiy Belozorov,

Se si è effettuato l'accesso come root, non è necessario eseguire sudo visudo; corri e basta /usr/sbin/visudo. Ma sembra che tu l'abbia già scoperto, dai commenti dell'altra risposta.
Ricket,

non è sufficiente aggiungere il rispettivo utente al gruppo "sudo" o "sudoers" (a seconda della distribuzione)? Purtroppo nel mio caso, non ha funzionato, ma potrei giurare che funzionava ...?
Gregor,

5

Ho appena digitato il comando:

$ su

E ha chiesto la password "root". Digitato e boom ... Ha funzionato!

Questo problema è stato un mio errore. Dovuto tornare alla struttura al momento ho creato il nome utente e la password.


Grazie, è stato davvero utile e mi ha salvato la pancetta! Ma sono curioso di sapere perché aggiungere semplicemente questo comando e quindi la password di root consentirebbe privilegi elevati .... sembra piuttosto vanificare lo scopo del messaggio "Utente non nel file sudoers. Questo incidente verrà segnalato"
Sol

1

Forse il modo più semplice, una volta che sei root, è:

echo 'amarzaya ALL=(ALL) ALL' >> /etc/sudoers

7
Dovresti essere sicuro di usare visudo per modificare il file sudoers, piuttosto che modificarlo direttamente o fare eco al testo. Ciò garantirà che sia sintatticamente corretto e che tu non ti blocchi fuori dall'accesso o conceda a qualcuno un accesso improprio.
pkaeding il

1

Se il tuo file sudoers contiene già questo tipo di linea

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Quindi, il modo più pulito di fare le cose è probabilmente quello di concedere il admingruppo al tuo utente. Ad esempio, per aggiungere l' oracolo utente al admin gruppo :

usermod -aG admin oracle

Questo è quello che stavo cercando. Anche per me il più pulito, nessun pasticcio con il file sudoers.
webjunkie,

1
Il comando corretto èusermod -g oracle admin
kvanberendonck il

-1: la sintassi è usermod -g $group $user. Probabilmente stai pensando alla addusersintassi, che è adduser $user $group.
Blacklight Shining

1
... in realtà, molto probabilmente lo vorrai usermod -aG $group $user. -gimposta il gruppo primario dell'utente su quello specificato e -Gsenza -arimuoverà l'utente dai gruppi non elencati. -gcambierà anche la proprietà del gruppo di tutti i file di proprietà del gruppo precedente nella home directory dell'utente. Quindi, se sei come me e hai la tua umask impostata su 007...
Blacklight Shining

1
@BlacklightShining. Hai ragione. La sintassi sbagliata era stata proposta da un commentatore precedente e poiché oraclespesso è anche un gruppo, c'è davvero spazio per la confusione. Non avrei dovuto "corretto".
Alain Pannetier,

-1

Nel caso in cui sia ancora possibile ottenere l'accesso come root su, è possibile utilizzare questo one-liner per aggiungersi a /etc/sudoers/:

su -c 'echo $USER ALL=(ALL)ALL >> /etc/sudoers'

Per attivare la modifica, disconnettersi e riconnettersi. Ad esempio, termina la sessione X o disconnettiti tramite shell invio exit.



-1

Se non è possibile utilizzare il sudocomando, è possibile utilizzare il seguente metodo:

  1. Premi Ctrl+ Alt+F1
  2. Disconnettersi se l'utente non è root
  3. Accedi come root
  4. Usa i privilegi di root
  5. Disconnettersi ( exit) - Ctrl+ Alt+ F7per accedere alla GUI

-1: funziona solo in alcuni ambienti locali che dispongono effettivamente di una GUI.
Blacklight Shining

-1

Tutto ciò che serve è aggiungere il tuo <username>al whellgruppo.

# usermod -aG whell username

Quindi accedi con il tuo nome utente e divertiti :)


-3

Accedi utilizzando prima il seguente:

$ su

Quindi vai avanti con:

$ sudo apt-get update

o qualunque altra cosa normale


1
non hai bisogno su- sudo fa questo.
Simon Sheehan,

In realtà non sono esattamente la stessa cosa. sudo è "fai come superutente", ma accedi con la password del tuo utente. su è 'switch user', e per impostazione predefinita (senza argomenti) tenta di passare all'utente root, nel qual caso è necessario inserire la password di root. Ma hai anche ragione: usare sudo dopo su è ridondante, dato che saresti già l'utente root.
Aaron Newton,

@ aaron.newton Lo leggerei come Switch User e DO; puoi scegliere qualsiasi utente per eseguire il comando come con il -uflag. Esso viene usato principalmente per radice, ma lo è su.
Blacklight Shining

@ aaron.newton Lo leggerei come Switch User e DO; puoi scegliere qualsiasi utente per eseguire il comando come con il -uflag. Esso viene usato principalmente per radice, ma lo è su.
Blacklight Shining
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.