Newsgroup: it.comp.os.linux.iniziare
Titolo: eseguire comando come altro utente senza chiedere password

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
 
 
## 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

 barh_history la trova senza troppa fatica.
bash_history scusa.
 
ciao e buon linux
 


 
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...
 
 

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.
 
 


una soluzione diversa da sudo
 
ssh su localhost, prima occorre la generazione delle chiavi con ssh-keygen
 


 
groups non restituisce solo i nomi dei gruppi?
 

 Quale delle due devo usare?
se leggi attentamente la wiki, lo vedi.
 
ciao e buon linux


  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.


  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.


 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?


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

 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/
 >

 $ 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.
 
 

 ciao e buon linux
 
 
  Ciao, squak squak!



  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 ~]$


 Description:    Debian GNU/Linux 8.1 (jessie)
 
Description:	Ubuntu 14.04.2 LTS
 

 [sudo] password for digimon: eheeheheeheheehehe eccirisiamo
 
  Il che vuol dire che all'utente digimon non è consentito fare alcunché
con sudo.



????

 con sudo.
 
Cioè?
Naturalmente digimon è amministratore.


?????
 
Guarda che in unix l'amministratore si chiama root


 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?


  Più che a spiegarti per filo e per segno come funziona, fornendoti un
esempio reale e funzionante commentato, non so che fare.


 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:' ?


 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 :(


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ò?


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


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


Io posso solo farti degli esempi.  Sta a te capire come fare.  di più 
non passo se non mi dai accesso alla tua maccccina!!!
