Disabilita l'autorizzazione di sudo all'utente dalla riga di comando

17

Ho attivato l'utente root su ubuntu e voglio usare ubuntu come server senza DE. Per questo voglio disabilitare il privilegio di sudo dato al primo utente. Come posso farlo dalla riga di comando? So che posso usare una GUI ma come farlo dalla riga di comando?

    
posta sagarchalise 25.05.2011 - 05:50

3 risposte

13

L'utente in questione ha privilegi sudo perché è nel gruppo admin . Come commentato da wojox, potresti usare visudo e rimuovere i privilegi sudo dal gruppo admin, ma ciò rimuoverebbe le capacità sudo da tutti membri del gruppo admin non solo da un solo utente.

In alternativa, puoi rimuovere l'utente dal gruppo admin. Se lo schermo orientato vi è considerato abbastanza da riga di comando, eseguire vigr ed eliminare il nome utente dalla riga appropriata.

Per una soluzione da riga di comando "pura", prova gpasswd , poiché amministra / etc / group e può aggiungere ed eliminare utenti dai gruppi.

[email protected]:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
                                         # ^- the group to remove
[email protected]:~# gpasswd -d username admin
Removing user username from group admin

[email protected]:~# id -Gn username
username adm dialout cdrom plugdev lpadmin sambashare
                                        # ^- username not a member
[email protected]:~# gpasswd -a username admin
Adding user username to group admin
[email protected]:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare

Di seguito è la mia prima risposta prima che mi rendessi conto che c'era un modo meno stupido di farlo.

Se desideri un modo più complicato per farlo, puoi utilizzare usermod .

Ecco una citazione dalla pagina man di usermod :

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
    A list of supplementary groups which the user is also a member of.
    Each group is separated from the next by a comma, with no intervening
    whitespace. The groups are subject to the same restrictions as the
    group given with the -g option.

    If the user is currently a member of a group which is not listed, the
    user will be removed from the group. This behaviour can be changed via
    the -a option, which appends the user to the current supplementary group
    list.

Quindi devi specificare tutti i gruppi per l'utente ad eccezione di admin .

[email protected]:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),119(admin),122(sambashare)

[email protected]:~# usermod -G 4,20,24,46,111,122 username

[email protected]:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),122(sambashare)

Infine, viola lo spirito della domanda, ma potresti digitare users-admin dalla riga di comando per modificare utenti e gruppi.

    
risposta data Bribles 25.05.2011 - 06:52
2

Qualunque saggezza si possa trovare nelle risposte di cui sopra, ho risolto il problema di abilitare l'account root e disabilitare sudo per un utente specificato come segue.

Per prima cosa abilita l'account root:

$ sudo passwd root

Maggiori informazioni nella documentazione di Ubuntu .

Quindi:

  • diventa root
  • backup e quindi modifica / etc / group
  • diventa nuovamente utente per testare le modifiche

Cioè:

$ su
# cp /etc/group /etc/group.bak
# nano /etc/group               # find a line like 'sudo:x:27:guest', remove the
                                # user name (i.c. 'guest') and save the file
# exit,
$ [try any sudo command]

L'utente 'ospite' è ora rimosso dal file sudoers. Se tutto è andato bene, qualsiasi comando sudo dovrebbe restituire un messaggio simile a questo:

guest is not in the sudoers file.  This incident will be reported.

Un ospite che accede su questo computer non può più casualmente o volontariamente fare casino con il sistema, dal momento che è necessario essere root per farlo. Ovviamente, se aggiungi un nuovo utente, dovrai ripetere la modifica di / etc / group.

Cheers!

- linuxrev

(Ubuntu 12.04)

    
risposta data user171569 30.06.2013 - 22:28
1

Attenzione

Attento, puoi bloccarti dal nostro sistema in questo modo! Assicurati sempre che l'utente root mantenga i suoi diritti e tu possa accedervi. Tenere un terminale root aperto in anticipo in modo da poter annullare le modifiche. Prova le impostazioni su un altro terminale prima di chiudere il tuo root-terminal!

soduers

Come descritto in un'altra risposta . Modifica /etc/sudoers richiamando visudo nella shell:

sudo select-editor # this is optional. it will allow you to select your default editor in shell
sudo visudo

Quindi cambia la linea che dice qualcosa di simile a questo:

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

a questo:

# root may gain root privileges
root ALL=(ALL) ALL

O cancella la riga, se sei sicuro, il tuo account utente root è abilitato.

gruppo

L'utente predefinito è membro del gruppo "admin". Se preferisci, puoi anche revocare l'iscrizione degli utenti a quel gruppo. Fallo seguendo il mio ultimo link o rimuovi il suo nome dalla riga admin:x:120:defaultuser in /etc/group file:

cp -n /etc/group /etc/group.bak && \
sed -i 's/\(admin:x.*\)defaultuser\(.*\)//g' /etc/group
    
risposta data con-f-use 25.05.2011 - 11:00

Leggi altre domande sui tag