[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: (deb-cat) sudo as lp



El 14/09/16 a les 18:37, Xavi Drudis Ferran ha escrit:
> El Wed, Sep 14, 2016 at 05:43:59PM +0200, Narcis Garcia deia:
>>
>> No és el cas, ja ho havia repassat.
>> A cada instrucció la faig anunciar amb quelcom així:
>> echo "\$ mkdir -p /mnt/remot/cua" >> "/tmp/Epson1.log"
>> mkdir -p /mnt/remot/cua >> "/tmp/Epson1.log" 2>&1
>>
>> Tot això per detectar el problema.
>> En fer la crida a sí mateix, a la bitàcola (.log) es veu:
>> $ sudo -n -u UnUsuari /etc/cups/interfaces/Epson1 FesRemot
>> Result=1
>>
>> Aquestes dues línies són: l'anotació abans d'executar sudo, i l'anotació
>> que fa aquesta comanda posterior a sudo:
>> echo "Result=$?" >> "/tmp/Epson1.log"
>> Això significa que no s'atura amb el sudo, d'aquest no n'obtinc cap
>> sortida textual, i el codi de sortida és 1. No aconsegueixo esbrinar res
>> més.
>>
> 
> man sudo
> 
> EXIT VALUE
>      Upon successful execution of a program, the exit status from sudo will
>      simply be the exit status of the program that was executed.
> 
>      Otherwise, sudo exits with a value of 1 if there is a configuration/per‐
>      mission problem or if sudo cannot execute the given command.  In the lat‐
>      ter case the error string is printed to the standard error. 
> 
> Per tant sembla permisos o configuració de sudo. 
> 

Precísament la primera de les meves preguntes era: *Estic escrivint
malament al fitxer «sudoers»?*

> Però m'he perdut. Abans deies que en fer el sudo es queixava de massa
> fitxers oberts i ara que no treu cap missatge però retorna 1. Es
> queixa de massa fitxers o no ?
> 
> De totes maneres la resposta de l'Alex em segueix semblant encertada
> (tot i que no he vist l'script i no sé si hi ha prevencions posades).
> 

El «too many files are open» és l'errada que obtinc si intento fer la
gestió sense fer cap sudo ni recursió, és a dir, com a usuari «lp». És a
partir d'aquí que intento fer-ho d'una altra manera: utilitzar sudo per
actuar com a un altre usuari que no doni aquest problema.
El programet deu tenir més de 200 línies perquè hi ha funcions
relacionades amb l'execució remota (ssh, expect, etc.). Ja intentaré fer
una versió sintètica per passar-lo per llista sense marejar ningú.

> Pot ser que un cop reentra a l'script executant com UnUsuari ja no tingui
> permisos per escriure al log i per això no vegis coses que fa ? 
> Diria que hauria de petar i no seguir, però ves a saber...
> 

La bitàcola és escrita exclusivament per l'execució principal (com a «lp»):
sudo blabla > /tmp/Epson1.log
És a dir, quan el programet rep la crida recursiva no intenta escriure
res a la bitàcola.
Sé que no s'arriba a executar perquè li faig mostrar coses abans de res,
un simple com:
$ id
I la crida principal ho hauria d'estar escrivint a la bitàcola com a «lp»


Reply to: