> Narcis Garcia:
> 
>> 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
> 
> Si poses «set -x» al principi t'estalviaràs tots els echo.
> També pots executar un script fent «sh -x foo.sh» si no
> vols posar-ho dins.
> 
>> 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
> 
> Una altra opció útil és «set -e» perquè l'script avorti de
> seguida que falli alguna ordre.
> 
>> 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.
> 
> A mi també em costa entendre tot plegat sense veure el codi, però
> jo provaria amb shellcheck o similar si et dóna alguna pista.
> 
> D'altra banda, també pots provar a executar pas a pas el codi.
> Et converteixes en l'usuari lp:
> 
>     sudo -H -u lp -s /bin/bash
> 
> Proves d'executar Epson1:
> 
>     /etc/cups/interfaces/Epson1 FesRemot
> 

Provat així (abans no havia usat l'opció -H) funciona perfectament (res
del too many files). No sé doncs quina és la diferència entre la meva
crida manual i que ho cridi CUPS, quan falla.

> Proves d'executar Epson1 com l'usuari UnUsuari:
> 
>     sudo -n -u UnUsuari /etc/cups/interfaces/Epson1 FesRemot
> 

sudo: es requereix una contrasenya
Està clar que el sudoers no m'està funcionant, ja que no el domino gaire.
Fins i tot he provat amb una línia com (amb el mateix resultat):
lp ALL = (UnUsuari) NOPASSWD: /etc/cups/interfaces/Epson1


> Etc. Així és com ho faig jo per debuggar problemes difícils,
> convertint-los en problemes més petits i provant totes les
> passes.
> 
> Salut,
> Alex
> 

Respondre per correu electrònic a