Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

eseguire comando come altro utente senza chiedere password

598 views
Skip to first unread message

digimon

unread,
Jun 15, 2015, 3:06:37 AM6/15/15
to
Ho provato così

su -c ls nomeutente

ma la password devo digitarla ogni volta...

enrico tognoni

unread,
Jun 15, 2015, 4:47:28 AM6/15/15
to
http://www.mirkopagliai.it/sudo-senza-password/

questa pagina spiega cosa potresti fare, e cosa non dovresti fare con
sudo, in particolare se digiti la password in chiaro chiunque acceda a
barh_history la trova senza troppa fatica.
Ti consiglio di usare visudo e specificare quale utente può fare quale
comando puoi specificare uno user che accede a sudo senza password
un gruppo di utenti
tutti gli utenti
puoi dire che queste categorie o una sola possono accedere ad un singolo
comando senza password con sudo o una lista di comandi
o tutti i comandi.


##
## User privilege specification
##
root ALL=(ALL) ALL

Questa riga abilita root


## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: /path/comando1, /path/comando2,
/path/comando 3

questa riga abilita gli utenti del gruppo wheel a eseguire sudo su tutti
i comandi, specificando per quali comandi vale senza password

Occhio a salvarti il file di sudo prima di fare modifiche che se lo
rovini poi non puoi usare sudo finchè non lo sistemi.

Se dai ad un gruppo l'autorizzazione ti consiglio di verificare i membri
di quel gruppo, e se in quel gruppo gli utenti si scambiano le password
o se usano tutti lo stesso user, perchè se trovi l'utente
esperto/sbadato puoi anche dover piangere calde lacrime.

ciao e buon linux

enrico tognoni

unread,
Jun 15, 2015, 4:48:35 AM6/15/15
to
On 15/06/2015 10:47, enrico tognoni wrote:
> On 15/06/2015 09:06, digimon wrote:
>> Ho provato così
>>
>> su -c ls nomeutente
>>
>> ma la password devo digitarla ogni volta...
> http://www.mirkopagliai.it/sudo-senza-password/
>
> questa pagina spiega cosa potresti fare, e cosa non dovresti fare con
> sudo, in particolare se digiti la password in chiaro chiunque acceda a
> barh_history la trova senza troppa fatica.
bash_history scusa.

ciao e buon linux

digimon

unread,
Jun 15, 2015, 6:18:44 AM6/15/15
to
Il 15/06/2015 10:47, enrico tognoni ha scritto:
> On 15/06/2015 09:06, digimon wrote:
>> Ho provato così
>>
>> su -c ls nomeutente
>>
>> ma la password devo digitarla ogni volta...
> http://www.mirkopagliai.it/sudo-senza-password/
>
> questa pagina spiega cosa potresti fare, e cosa non dovresti fare con
> sudo, in particolare se digiti la password in chiaro chiunque acceda a
> barh_history la trova senza troppa fatica.
> Ti consiglio di usare visudo e specificare quale utente può fare quale
> comando puoi specificare uno user che accede a sudo senza password
> un gruppo di utenti
> tutti gli utenti
> puoi dire che queste categorie o una sola possono accedere ad un singolo
> comando senza password con sudo o una lista di comandi
> o tutti i comandi.
>
>
> ##
> ## User privilege specification
> ##
> root ALL=(ALL) ALL
>
> Questa riga abilita root
>

Allora, io ho specificato

test ALL=NOPASSWD: ALL

Quindi ho provato

$ sudo -u test /tmp/ri.sh
[sudo] password for utente_attuale:

mi chiede sempre la password...

Poi ho provato anche

rino@comex:~$ su -c /tmp/ri.sh test
Password:

stessa cosa, mi chiede sempre la password...


enrico tognoni

unread,
Jun 15, 2015, 7:30:47 AM6/15/15
to
On 15/06/2015 12:18, digimon wrote:
> Allora, io ho specificato> > test ALL=NOPASSWD: ALL> > Quindi ho
provato> > $ sudo -u test /tmp/ri.sh> [sudo] password for
utente_attuale:> > mi chiede sempre la password...allora credo che sia
da fare

%wheel ALL=(ALL) NOPASSWD: /usr/bin/comando1, /usr/bin/comando2

Nel tuo caso dovrestifare così
(http://wiki.ubuntu-it.org/AmministrazioneSistema/Sudo#autorizzazioni)
test ALL = (ALL) ALL

credo che sia così la sintassi.

digita groups e vedi se c'è l'utente wheel se c'è è meglio secondo me
l'approccio per gruppo, comunque leggiti la wiki prima di modificare il
file ti consiglio:

sudo EDITOR=nano visudo

stai molto attento a non modificare nulla delle altre righe e meglio
sarebbe salvare il file che apri con visudo /etc/sudoers, controlla se
il nome è giusto e anche il path.

ciao e buon linux

P.S. leggi la wiki attentamente e stai attento a non danneggiare il file
aprendolo con un editor qualsiasi, che potrebbe sporcare il file con
caratteri speciali.


enoquick

unread,
Jun 15, 2015, 8:27:52 AM6/15/15
to
una soluzione diversa da sudo

ssh su localhost, prima occorre la generazione delle chiavi con ssh-keygen

digimon

unread,
Jun 15, 2015, 9:13:24 AM6/15/15
to
Il 15/06/2015 13:30, enrico tognoni ha scritto:
> On 15/06/2015 12:18, digimon wrote:
> > Allora, io ho specificato> > test ALL=NOPASSWD: ALL> > Quindi ho
> provato> > $ sudo -u test /tmp/ri.sh> [sudo] password for
> utente_attuale:> > mi chiede sempre la password...allora credo che sia
> da fare
>
> %wheel ALL=(ALL) NOPASSWD: /usr/bin/comando1, /usr/bin/comando2
>
> Nel tuo caso dovrestifare così
> (http://wiki.ubuntu-it.org/AmministrazioneSistema/Sudo#autorizzazioni)
> test ALL = (ALL) ALL
>

%wheel ALL=(ALL) NOPASSWD: /usr/bin/comando1, /usr/bin/comando2
test ALL = (ALL) ALL
Quale delle due devo usare?

> credo che sia così la sintassi.
>
> digita groups e vedi se c'è l'utente wheel se c'è è meglio secondo me
> l'approccio per gruppo, comunque leggiti la wiki prima di modificare il
> file ti consiglio:
>

groups non restituisce solo i nomi dei gruppi?

enrico tognoni

unread,
Jun 15, 2015, 5:07:27 PM6/15/15
to
On 15/06/2015 15:13, digimon wrote:
>
> %wheel ALL=(ALL) NOPASSWD: /usr/bin/comando1, /usr/bin/comando2
> test ALL = (ALL) ALL
> Quale delle due devo usare?
se leggi attentamente la wiki, lo vedi.

ciao e buon linux

Alessandro Selli

unread,
Jun 16, 2015, 8:37:20 AM6/16/15
to
La password digitata non finisce mai in ~/.bash_history.


Ciao,


--
Alessandro Selli http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.

Alessandro Selli

unread,
Jun 16, 2015, 8:45:16 AM6/16/15
to
Metti in sudoers:

utente ALL=(ALL) NOPASSWD:/bin/ls

"utente" è il tuo nome utente.
ALL=(ALL) vuol dire: da qualunque host l'utente esegua il comando,
esegui come qualsiasi altro utente (di default root).
Il resto è evidente.

digimon

unread,
Jun 16, 2015, 9:20:27 AM6/16/15
to
Il 16/06/2015 14:45, Alessandro Selli ha scritto:
> Il 15/06/2015 09:06, digimon ha scritto:
>> Ho provato così
>>
>> su -c ls nomeutente
>>
>> ma la password devo digitarla ogni volta...
>
> Metti in sudoers:
>
> utente ALL=(ALL) NOPASSWD:/bin/ls
>
> "utente" è il tuo nome utente.
> ALL=(ALL) vuol dire: da qualunque host l'utente esegua il comando,
> esegui come qualsiasi altro utente (di default root).
> Il resto è evidente.

test ALL=(ALL) NOPASSWD:/bin/ls

$ su -c ls test
Password: e ci risiamo...

Comunque l'utente test è un utente normale, è **non** deve eseguire i
comandi con i permessi da amministratore (guai se lo fa), ma da utente
normale.

Devo per forza digitare la passoword, oppure ancora peggio:
- fare il logout (utente 'digimon')
- fare il login come utente 'test'
- dare i comandi che devo dare (tramite terminale)
- fare il logout
- rifare il login come utente 'digimon'

Possibile che non ci sia una soluzione più comoda?

"eseguire comando, come un altro utente, ma senza chiedere la password"
E' impossibile?

enrico tognoni

unread,
Jun 16, 2015, 10:55:43 AM6/16/15
to
On 16/06/2015 14:37, Alessandro Selli wrote:
> La password digitata non finisce mai in ~/.bash_history.
>
si se leggi il link trovi il modo di fare ciò che digimon desidera
usando la password in chiaro, se digiti la password nel terminale in
chiaro diventa visibile.
es:

echo password | sudo -S comando

con questo comando la password resta in chiaro, nella bash_history
perchè è scritta in chiaro.

ciao e buon linux

Giovanni

unread,
Jun 16, 2015, 11:00:36 AM6/16/15
to
On 06/16/2015 03:20 PM, digimon wrote:

> test ALL=(ALL) NOPASSWD:/bin/ls
>
> $ su -c ls test
> Password: e ci risiamo...

> "eseguire comando, come un altro utente, ma senza chiedere la
> password" E' impossibile?

Mi sembra che stai facendo confusione fra l'uso di "su" e di "sudo"

Hai definito nel db di sudo i permessi per l'utente test ma nell'esempio
usi il comando su che è altra cosa.

Se vuoi eseguire un comando come altro utente devi usare
$ sudo -u <altro utente> <comando + suoi argomenti>
Per esempio:
$ sudo -u test ls -l

Ciao
Giovanni
--
A computer is like an air conditioner,
it stops working when you open Windows.
< http://giovanni.homelinux.net/ >

digimon

unread,
Jun 16, 2015, 12:15:48 PM6/16/15
to
Il 16/06/2015 17:00, Giovanni ha scritto:
> On 06/16/2015 03:20 PM, digimon wrote:
>
>> test ALL=(ALL) NOPASSWD:/bin/ls
>>
>> $ su -c ls test
>> Password: e ci risiamo...
>
>> "eseguire comando, come un altro utente, ma senza chiedere la
>> password" E' impossibile?
>
> Mi sembra che stai facendo confusione fra l'uso di "su" e di "sudo"
>

ok, allora proviamo con sudo

> Hai definito nel db di sudo i permessi per l'utente test ma nell'esempio
> usi il comando su che è altra cosa.
>

ok

> Se vuoi eseguire un comando come altro utente devi usare
> $ sudo -u <altro utente> <comando + suoi argomenti>
> Per esempio:
> $ sudo -u test ls -l

[sudo] password for digimon: e ti pareva...

e come se non bastasse

All'utente digimon non è consentito eseguire "/bin/ls" come test su
miocomputer.


Alessandro Selli

unread,
Jun 17, 2015, 9:02:47 AM6/17/15
to
Il 16/06/2015 16:55, enrico tognoni ha scritto:
> On 16/06/2015 14:37, Alessandro Selli wrote:
>> La password digitata non finisce mai in ~/.bash_history.
>>
> si se leggi il link trovi il modo di fare ciò che digimon desidera
> usando la password in chiaro, se digiti la password nel terminale in
> chiaro diventa visibile.

Ah, ecco, oi pensavo a su/sudo.

> es:
>
> echo password | sudo -S comando
>
> con questo comando la password resta in chiaro, nella bash_history
> perchè è scritta in chiaro.

Orrore e raccapriccio!

> ciao e buon linux


Ciao, squak squak!

Alessandro Selli

unread,
Jun 17, 2015, 9:24:23 AM6/17/15
to
Qualcosa non quadra:

[guest@krill ~]$ ls ~alessandro
ls: impossibile aprire la directory /home/alessandro: Permesso negato
[guest@krill ~]$ sudo ls ~alessandro
[sudo] password for guest:
guest non è nel file sudoers. Questo evento verrà segnalato.
[guest@krill ~]$

[root@krill ~]# echo 'guest ALL=(ALL) NOPASSWD:/bin/ls' >> /etc/sudoers
[root@krill ~]#

[guest@krill ~]$ sudo -u alessandro ls ~alessandro
164181.mp4
164383.mp4
Appunti
apt-cache_search_compose.txt
bin
defcon-1.6-1.i386.cpio
Documentazione
glxinfo-glxgears-3.14.10.krill0-2014-07-15.txt
glxinfo-glxgears-3.14.13.krill0-2014-07-25.txt
glxinfo-glxgears-3.14.23.krill0-2014-11-10.txt
glxinfo-glxgears-4.0.3.krill0-2015-05-18.txt
GNUstep
Immagini
...


[guest@krill ~]$ lsb_release -d
Description: Debian GNU/Linux 8.1 (jessie)
[guest@krill ~]$

M_M

unread,
Jun 17, 2015, 12:05:10 PM6/17/15
to
digimon <dig...@digimon.com> ha scritto:

> Ho provato così
>
> su -c ls nomeutente
>
> ma la password devo digitarla ogni volta...

Perche` non vai a rileggerti il thread intitolato
"eseguire comando come altro utente"
che hai aperto loggandoti come 'Alex'
il giorno 08/01/2015 alle 10:45:03 ?

Il Message-ID del tuo post era
<m8ljiu$m95$1...@speranza.aioe.org>




digimon

unread,
Jun 18, 2015, 4:07:34 AM6/18/15
to
Il 17/06/2015 15:24, Alessandro Selli ha scritto:

Prima di tutto ti posto le ultime righe di visudo

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

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

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

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

#includedir /etc/sudoers.d
digimon ALL=NOPASSWD: ALL
test ALL=(ALL) NOPASSWD:/bin/ls


> [guest@krill ~]$ sudo -u alessandro ls ~alessandro

digimon@miopc:~$ sudo -u test ls
[sudo] password for digimon: eheeheheeheheehehe eccirisiamo
All'utente digimon non è consentito eseguire "/bin/ls" come test su miopc.

proviamo anche come ospite:

guest-j0s6ma@miopc:~$ sudo -u test ls
sudo: unable to change to root gid: Operazione non permessa

> [guest@krill ~]$ lsb_release -d
> Description: Debian GNU/Linux 8.1 (jessie)

Description: Ubuntu 14.04.2 LTS

Alessandro Selli

unread,
Jun 18, 2015, 4:13:03 AM6/18/15
to
Il 18/06/2015 10:07, digimon ha scritto:
> Il 17/06/2015 15:24, Alessandro Selli ha scritto:
>
> Prima di tutto ti posto le ultime righe di visudo

[...]

> #includedir /etc/sudoers.d
> digimon ALL=NOPASSWD: ALL
> test ALL=(ALL) NOPASSWD:/bin/ls

Questa ultima riga permette all'utente test di eseguire, da qualsiasi
host (ALL=) e come qualunque utente locale (ALL), il comando /bin/ls
senza password.

>> [guest@krill ~]$ sudo -u alessandro ls ~alessandro
>
> digimon@miopc:~$ sudo -u test ls
> [sudo] password for digimon: eheeheheeheheehehe eccirisiamo

Il che vuol dire che all'utente digimon non è consentito fare alcunché
con sudo.

digimon

unread,
Jun 18, 2015, 4:17:20 AM6/18/15
to
????

digimon

unread,
Jun 18, 2015, 7:33:14 AM6/18/15
to
Il 18/06/2015 10:13, Alessandro Selli ha scritto:
> Il che vuol dire che all'utente digimon non è consentito fare alcunché
> con sudo.

Cioè?
Naturalmente digimon è amministratore.

Giovanni

unread,
Jun 18, 2015, 10:30:33 AM6/18/15
to
?????

Guarda che in unix l'amministratore si chiama root

digimon

unread,
Jun 18, 2015, 10:56:25 AM6/18/15
to
Il 18/06/2015 16:30, Giovanni ha scritto:
> On 06/18/2015 01:33 PM, digimon wrote:
>> Il 18/06/2015 10:13, Alessandro Selli ha scritto:
>>> Il che vuol dire che all'utente digimon non è consentito fare
>>> alcunché
>>> con sudo.
>>
>> Cioè?
>> Naturalmente digimon è amministratore.
>
> ?????
>
> Guarda che in unix l'amministratore si chiama root
>
> Ciao
> Giovanni

Hai ragione, quindi diciamo che però digimon può cmq usare i privilegi
di amministrazione (sudo ...).
Ad ogni modo, quello che voglio fare, si può o non si può fare?

Alessandro Selli

unread,
Jun 19, 2015, 5:08:00 AM6/19/15
to
Più che a spiegarti per filo e per segno come funziona, fornendoti un
esempio reale e funzionante commentato, non so che fare.

Giovanni

unread,
Jun 19, 2015, 5:34:06 AM6/19/15
to
On 06/18/2015 04:56 PM, digimon wrote:

> Hai ragione, quindi diciamo che però digimon può cmq usare i privilegi
> di amministrazione (sudo ...).
> Ad ogni modo, quello che voglio fare, si può o non si può fare?

Nel mio file '/etc/sudoers' ho una linea:

lp localhost = (giovanni,mario,francesca) NOPASSWD: /usr/bin/faxspool

il comando sudo -u giovanni /usr/bin/faxspool 0123456789 documento.pdf
permette all'utente lp di eseguire su localhost il comando faxspool come
se fosse l'utente 'giovanni'.

Sono già molti anni che uso questa soluzione per il sistema di
trasmissione/ricezione dei fax che ho realizzato ed ha sempre funzionato
egregiamente.

Siccome dici che continua a chiedere la password, non è che hai
dimenticato la keyword 'NOPASSWD:' ?

digimon

unread,
Jun 19, 2015, 11:10:29 AM6/19/15
to
Il 19/06/2015 11:34, Giovanni ha scritto:
> On 06/18/2015 04:56 PM, digimon wrote:
>
>> Hai ragione, quindi diciamo che però digimon può cmq usare i privilegi
>> di amministrazione (sudo ...).
>> Ad ogni modo, quello che voglio fare, si può o non si può fare?
>
> Nel mio file '/etc/sudoers' ho una linea:
>
> lp localhost = (giovanni,mario,francesca) NOPASSWD: /usr/bin/faxspool
>
> il comando sudo -u giovanni /usr/bin/faxspool 0123456789 documento.pdf
> permette all'utente lp di eseguire su localhost il comando faxspool come
> se fosse l'utente 'giovanni'.
>
> Sono già molti anni che uso questa soluzione per il sistema di
> trasmissione/ricezione dei fax che ho realizzato ed ha sempre funzionato
> egregiamente.
>
> Siccome dici che continua a chiedere la password, non è che hai
> dimenticato la keyword 'NOPASSWD:' ?

Allora

digimon ALL=(test)NOPASSWD: ALL

Quindi proviamo

$ sudo -u test ls

funziona!!!

Ma ecco la sorpresina

$ sudo visudo
[sudo] password for digimon:
All'utente digimon non è consentito eseguire "/usr/sbin/visudo" come
root su miopc.

ahaiaiaahi :(

digimon

unread,
Jun 19, 2015, 11:24:15 AM6/19/15
to
Naturalmente ho dovuto risistemare tutto:

$ su
Password...
$ visudo
ed ho tolto *(test)*

che paura!!!

In pratica voglio che sia per digimon (l'utente che uso principalmente),
e sia per test, non venga richiesta nessuna password.

$ sudo ls (niente pass)
$ sudo -u test ls (niente pass)

Si può?

Giovanni

unread,
Jun 19, 2015, 12:22:53 PM6/19/15
to
Negli esempi ho trovato questa impostazione da usare per gli utenti che
fanno gli amministratori senza però collegarsi come root (spesso root è
autorizzato solo da console).

## Permette agli utenti ne gruppo wheel di eseguire ogni comando
%wheel ALL = (ALL) ALL

oppure

## Come il precedente ma senza password
%wheel ALL = (ALL) NOPASSWD: ALL

Se aggiungi gli utenti che ti interessano al gruppo wheel diventano
equivalenti a root

digimon

unread,
Jun 19, 2015, 1:56:35 PM6/19/15
to
Il 19/06/2015 18:22, Giovanni ha scritto:
>>
>
> Negli esempi ho trovato questa impostazione da usare per gli utenti che
> fanno gli amministratori senza però collegarsi come root (spesso root è
> autorizzato solo da console).
>
> ## Permette agli utenti ne gruppo wheel di eseguire ogni comando
> %wheel ALL = (ALL) ALL
>
> oppure
>
> ## Come il precedente ma senza password
> %wheel ALL = (ALL) NOPASSWD: ALL
>
> Se aggiungi gli utenti che ti interessano al gruppo wheel diventano
> equivalenti a root

$ sudo adduser test wheel
adduser: Il gruppo «wheel» non esiste.


Giovanni

unread,
Jun 20, 2015, 3:37:32 AM6/20/15
to
Io posso solo farti degli esempi. Sta a te capire come fare. di più
non passo se non mi dai accesso alla tua maccccina!!!
0 new messages