No CentOS, você precisa lidar com o SELinux em vez do AppArmor, se isso for um problema. Verifique seu status do SELinux em getenforce
. Se for Enabled
, inspecione o arquivo /var/log/audit/audit.log
.
Eu recebi um problema usando o pós-processamento em cups-pdf. O script é chamado como eu posso ver nos arquivos de log, mas nada acontece.
/ var / log / cups / cups-pdf-myPrinter_log:
Thu Jun 15 10:07:11 2017 [DEBUG] postprocessing commandline built: /etc/cups/postprocessing/ppmyPrinter.sh /srv/samba/cups-pdf/myPrinter/user/000012198600001.pdf [email protected] user
Thu Jun 15 10:07:11 2017 [DEBUG] postprocessing has finished: 32256
vim /etc/cups/cups-pdf-myPrinter.conf
PostProcessing /etc/cups/postprocessing/ppmyPrinter.sh
-rwxrwxrwx 1 root lp 194 Jun 15 09:35 ppmyPrinter.sh
vim /etc/cups/postprocessing/ppmyPrinter.sh
#!/bin/bash
echo "$1" >> /etc/cups/postprocessing/user
echo "$2" >> /etc/cups/postprocessing/user
echo "$3" >> /etc/cups/postprocessing/user
se eu executar o script ./ppmyPrinter.sh test1 test2 test3
ele cria o usuário do arquivo com o conteúdo test1 test2 test3 mas chamando de cups nada acontece.
Eu vermelho, que em um sistema baseado em Debian (Ubuntu) cups-pdf é assistido por apparmor e eu tenho que permitir a execução do script, mas no meu CentOs 7 não há execução de apparmor.
Você poderia me dar uma dica: onde procurar por esse problema, há alguns arquivos de log em que posso ver o problema?
No CentOS, você precisa lidar com o SELinux em vez do AppArmor, se isso for um problema. Verifique seu status do SELinux em getenforce
. Se for Enabled
, inspecione o arquivo /var/log/audit/audit.log
.
No CentOS existe outra configuração que causa os mesmos sintomas. O script de pós-processamento é executado como usuário "nobody" por padrão, portanto, você deve adicionar uma linha no arquivo / etc / sudoers para permitir que o script seja executado sem solicitar uma senha:
nobody ALL = (TODOS) NOPASSWD: /yourpath/yourscript.sh