cup-pdfを使用してテキストをPDFとして印刷することはできません。

cup-pdfを使用してテキストをPDFとして印刷することはできません。

Redhat 7オペレーティングシステムにcup-pdf 3.0ベータ2をインストールしました。

私は(彼らの指示に従って)コードを手動でコンパイルしました。場所)cup-devel-1.6.3-17.el7_1.1をインストールした後です。私はcup-devel-1.6.3-17.el7_1.1を実行しています。これを妨げないように、SELinuxを一時的に無効にしました。

次のコマンドを使用してCups-PDFというプリンタを作成しました。

/usr/sbin/lpadmin -p Cups-PDF -v cups-pdf:/ -m CUPS-PDF_opt.ppd -D "PDF Virtual printer" -E

ここで、CUPS-PDF_opt.ppd はディストリビューションのファイルです。ファイル

次の質問があります。

  1. カップを再起動した後、プリンタ定義が消えました。理由はわかりませんが、カップを再起動するたびに再作成する必要があります。しかし、今はPrinters.confにあります。おそらく、過去にSELinuxが有効になっていたからです。
  2. cup-pdfが/ etc / cupsにコピーしたcup-pdf.confファイルを読み取れないようです。これは、cup-pdf.hファイル内の構成ファイルのデフォルトの場所です。これらのファイルは/var/spool/cups-pdf/${USER}の代わりに/var/spool/cupsに作成されます。
  3. echo "Test" | lpr -P Cups-PDFPDFファイルの代わりにテキストファイルを生成します。私が印刷するときhttp://localhost:631/printers/Cups-PDF?which_jobs=allFireFoxでページを開くと正常に動作し、/var/spool/cupsフォルダにファイルが作成され、拡張子をpdfに設定するとほぼうまく開きます。 WindowsでAcrobat Readerを使用して開くと、「DSXFCQ + NimbusSansL」フォントに無効な/ BBoxが含まれているというエラーが表示されます。

私は何が間違っていましたか?また、ファイルに対するセキュリティ権限も確認しましたが、問題はないようです。私が試したすべての印刷コマンドはrootを使用して実行されます。

ありがとう

更新:メッセージを確認しましたが、まだ次のメッセージが表示されます。

Jan  8 18:17:58 computer setroubleshoot: failed to retrieve rpm info for /usr/lib/cups/backend/cups-pdf
Jan  8 18:17:58 computer setroubleshoot: SELinux is preventing /usr/lib/cups/backend/cups-pdf from remove_name access on the directory cups2pdf-3920. For complete SELinux messages. run sealert -l 497551b3-64a7-466e-8f91-1b8b3dff4884
Jan  8 18:17:58 computer python: SELinux is preventing /usr/lib/cups/backend/cups-pdf from remove_name access on the directory cups2pdf-3920.

*****  Plugin catchall (100. confidence) suggests   **************************

If you believe that cups-pdf should be allowed remove_name access on the cups2pdf-3920 directory by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# grep cups-pdf /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp

別のアップデート:最後のログメッセージのアドバイスに従い、正常に動作し始めました。

ベストアンサー1

問題はSELinuxに関連しているようです。私のメッセージの2番目の更新に基づいてRemove_nameアクセスを許可した後、動作が開始されました。

他の人が必要な場合に備えて、cup-pdf用のSELinuxを設定するために使用したteファイルがあります。それに基づいています一つ製品ページ外部リンク:http://cups-pdf.de/documentation.shtml

module cups_pdf 3.0beta2;

require {
    class dir { add_name create getattr remove_name search setattr write };
    class file { create getattr read setattr unlink write open};

    type cupsd_t;
    type home_root_t;
    type user_home_dir_t;
    type user_home_t;
    type print_spool_t;
    type unconfined_home_dir_t;
    type unconfined_home_t;
    type var_spool_t;
}

allow cupsd_t home_root_t:dir { getattr search };

allow cupsd_t user_home_dir_t:dir { getattr search };
allow cupsd_t user_home_t:dir { add_name create getattr remove_name search setattr write };
allow cupsd_t user_home_t:file { create getattr open read setattr unlink write };

allow cupsd_t unconfined_home_dir_t:dir { getattr search };
allow cupsd_t unconfined_home_t:dir { add_name create getattr remove_name search setattr write };
allow cupsd_t unconfined_home_t:file { create getattr open read setattr unlink write };

allow cupsd_t var_spool_t:dir { add_name create getattr remove_name search setattr write  };
allow cupsd_t var_spool_t:file { create getattr open read setattr unlink write };

おすすめ記事