Pagina 1 di 2

Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 11:15
da Marek
Ciao a tutti :)

Ho installato Slackware 12.1.
Come indicato nella guida S4D per spegnere Slackware da utente non root ho modificato con "visudo" il file "/etc/sudoers" decommentando le ultime due righe:

Codice: Seleziona tutto

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

# Defaults specification

# Runas alias specification

# User privilege specification
root	ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel	ALL=(ALL)	ALL

# Same thing without a password
# %wheel	ALL=(ALL)	NOPASSWD: ALL

# Samples
 %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom

%users  localhost=/sbin/shutdown -h now
Il problema è che queste regole sono ignorate. Purtroppo non posso spegnere Slackware e neanche montare il cdrom da utente.
Se ci provo ottengo come risposta:
marco@Slackware:~$ mount /dev/cdrom
mount: solamente root può montare /dev/hdc su /mnt/cdrom
marco@Slackware:~$ shutdown -r now
bash: shutdown: command not found
marco@Slackware:~$ /sbin/shutdown
shutdown: you must be root to do that!
Il comando "groups" dato da utente mi restituisce:
marco@Slackware:~$ groups
audio video cdrom plugdev users
Grazie a tutti per le risposte :)

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 11:34
da conraid
Ma se non usi sudo quel file non serve a niente, e devi dare i comandi precisi che hai indicato nel file.
Per esempio prova

Codice: Seleziona tutto

$ sudo /sbin/shutdown -h now
e guarda se ti chiede la password, la inserisci (quella del tuo utente) e dovrebbe funzionare

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 11:45
da Paoletta
conraid ha scritto:Ma se non usi sudo quel file non serve a niente, e devi dare i comandi precisi che hai indicato nel file.
Per esempio prova

Codice: Seleziona tutto

$ sudo /sbin/shutdown -h now
e guarda se ti chiede la password, la inserisci (quella del tuo utente) e dovrebbe funzionare
già, inoltre per usare le regole come se fossi root devi creare degli alias appositi nei files di configurazione della shell che usi, e usare l'opzione NOPASSWD

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 11:53
da Marek
e guarda se ti chiede la password, la inserisci (quella del tuo utente) e dovrebbe funzionare
Il risultato è questo:
marco@Slackware:~$ sudo /sbin/shutdown -h now
Password:
Sorry, user marco is not allowed to execute '/sbin/shutdown -h now' as root on Slackware.
inoltre per usare le regole come se fossi root devi creare degli alias appositi nei files di configurazione della shell che usi, e usare l'opzione NOPASSWD
Cioè, come devo fare?

Ho anche Gnome Slacky 2.22.3, di solito uso gnome. Loggandomi come utente, se provo a premere il tasto "power", non succede niente. Quando sono loggato come root (sì lo so non si deve fare, però volevo fare una prova) mi appare una maschera dove mi viene chiesto se voglio spegnere il computer, riavviarlo, ecc..

Penso che il problema sia dovuto al fatto che i comandi "shutdown" e "halt" possono essere richiamati solo da root.

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 12:00
da conraid
Fai un sudoers tipo questo

Codice: Seleziona tutto

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

Host_Alias      LO=localhost

# User alias specification

# Cmnd alias specification

Cmnd_Alias      SHUTDOWN = /sbin/shutdown, /sbin/halt
Cmnd_Alias      MOUNT = /sbin/mount, /sbin/umount

# Defaults specification

# Runas alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel  LO=(ALL) ALL

# Same thing without a password
%users  LO=(ALL) NOPASSWD: SHUTDOWN
%users  LO=(ALL) NOPASSWD: MOUNT
E dopo nel tuo ~/.bash_profile metti

Codice: Seleziona tutto

alias halt="sudo /sbin/halt"
alias mount="sudo /sbin/mount"
alias umount="sudo /sbin/umount"
Se fai le cose per bene, ora da shell dovresti fare semplicemente

Codice: Seleziona tutto

$ halt
e ti si dovrebbe spengere il oc

Naturalmente devi ricaricare tutte le regole, quindi se non sai come fare ti conviene riavviare (lo so, non devo consigliarlo)

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 12:07
da conraid
Marek ha scritto: Il risultato è questo:
marco@Slackware:~$ sudo /sbin/shutdown -h now
Password:
Sorry, user marco is not allowed to execute '/sbin/shutdown -h now' as root on Slackware.
Non avevo visto, questo è giusto
Hai inserito la password dell'utente marco quando te la chiede?

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 13:05
da Marek
Sì, metto la password di marco e poi mi restituisce l'ultimo messaggio.
Comincio a pensare sia un problema di gruppi dell'utente marco.

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 13:39
da conraid
Marek ha scritto:Sì, metto la password di marco e poi mi restituisce l'ultimo messaggio.
Comincio a pensare sia un problema di gruppi dell'utente marco.
Con quelle istruzioni che ti ho dato non dovresti mettere nessuna password. Ma il tuo utente dovrebbe essere nel gruppo users, come è in Slackware di default

Altra cosa, forse ti conviene aggiungere le righe

Codice: Seleziona tutto

alias halt="sudo /sbin/halt"
alias mount="sudo /sbin/mount"
alias umount="sudo /sbin/umount"
al file ~/.bashrc

e nel file ~/.bash_profile metti invece

Codice: Seleziona tutto

if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi
Ora riavvi e provi

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 14:56
da Marek
Fatto tutto.

Ora il messaggio che ottengo è questo:
marco@Slackware:~$ halt
marco is not allowed to run sudo on Slackware. This incident will be reported.
"marco" è un utente che fa parte dei seguenti gruppi:
audio video cdrom plugdev users

Per cui in teoria non ci dovrebbero essere problemi.
Ora comunque creo un nuovo utente di prova e provo con quello.

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 15:14
da cacao74
devi rispettare quello che hai indicato in /etc/sudoers, esempio:

Codice: Seleziona tutto

%users  localhost=/sbin/shutdown -h now
Quindi un tuo alias potrebbe essere:

Codice: Seleziona tutto

alias halt='sudo /sbin/shutdown -h now'
nella pagina di manuale di "sudoers" trovi diversi esempi.

"sudo -l" per vedere quali direttive "SUDO" ha preparato per te il tuo amministratore di sistema. ;-)

ciao

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 15:23
da conraid
cacao74 ha scritto:devi rispettare quello che hai indicato in /etc/sudoers, esempio:

Codice: Seleziona tutto

%users  localhost=/sbin/shutdown -h now
Quindi un tuo alias potrebbe essere:

Codice: Seleziona tutto

alias halt='sudo /sbin/shutdown -h now'
nella pagina di manuale di "sudoers" trovi diversi esempi.

"sudo -l" per vedere quali direttive "SUDO" ha preparato per te il tuo amministratore di sistema. ;-)

ciao
Se ha seguito quello che gli ho detto ha il comando "halt" direttamente, perché fare un alias simile?
Tra l'altro è la configurazione che uso io da anni, e do semplicemente halt

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 15:42
da cacao74
conraid ha scritto: Se ha seguito quello che gli ho detto ha il comando "halt" direttamente, perché fare un alias simile?
Tra l'altro è la configurazione che uso io da anni, e do semplicemente halt
Perche' semplicemente ho preso il quote originario di Marek e ho distrattamente saltato la tua parte di codice.
Non volevo rifarti il verso...

Pardon. ciao! :-)

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 16:15
da conraid
cacao74 ha scritto: Non volevo rifarti il verso...
uhm??? :?: :-k

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 16:17
da cacao74
conraid ha scritto:
cacao74 ha scritto: Non volevo rifarti il verso...
uhm??? :?: :-k
non volevo ripetere quello che giustamente avevi scritto...
:-)

Re: Regole di /etc/sudoers ignorate

Inviato: ven 22 ago 2008, 16:27
da Marek
Con "sudo -l" ho:
marco@Slackware:~$ sudo -l
Password:
Sorry, user marco may not run sudo on Slackw
In pratica è come se sudo non capisse che "marco" un utente.