Fedora Users Forum

Fedoraユーザのためのサポートフォーラム
現在時刻 - 2019年3月25日(月) 06:30

All times are UTC + 9 hours





新しいトピックを投稿する トピックへ返信する  [ 31 件の記事 ]  ページ移動 1つ前へ  1, 2, 3, 4  次へ
作成者 メッセージ
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月26日(木) 23:22 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年3月19日(木) 14:31
記事: 46
> code_air_edge さん

 返信ありがとうございます。
 教えていただいた手順を試していると、ある手順のところでLinux再起動後に印刷に成功しました。

 まず最初にお詫びしなければいけないことがあります。前々回いただいた記事の

>さらに、/etc/init.d/ccpdに追記した「同じことしてるんじゃないの?」という部分を削除して下さい。

 という部分を読み飛ばしていました。ごめんなさい。先ほど/etc/init.d/ccpdの追記部分を削除しました。
 以降の書き込み内容は、その後の作業報告です。

>前はccpdのみを再起動して印刷ができるようになるかを検証していただきましたが、次はCUPSのみを再起動
>
コード:
# service cups restart

>でもって印刷が可能になるかを確認していただけませんか?

 失敗しました。

>またそれでダメな場合、両方再起動してみてください。

 やってみたところ、以下の手順を済ませたときに、Linux再起動後も印刷可能になりました。

# service ccpd restart
Shutting down /usr/sbin/ccpd: [ OK ]
.tarting /usr/sbin/ccpd: [ OK ]
# service cups restart
cups を停止中: [ OK ]
cups を起動中: [ OK ]

>できたら、再起動する順番も変えてみたり、いろいろと試していただけるとよいかもです。

 やってみました。

# service cups restart
cups を停止中: [ OK ]
cups を起動中: [ OK ]
# service ccpd restart
Shutting down /usr/sbin/ccpd: [ OK ]
.tarting /usr/sbin/ccpd:   [ OK ]

 上記のコマンドでも、Linux再起動後に印刷に成功しました。

 上記のコマンドを実行後、「もしかしてcupsは関係なくて、とにかくccpdをrestartさせればいいのかな?」と思い、試してみました。
 試してみたところ、以下のコマンドのみで、Linux再起動後に印刷可能になりました。

# service ccpd restart
Shutting down /usr/sbin/ccpd: [ OK ]
.tarting /usr/sbin/ccpd:   [ OK ]

 
 疑問なのは、/etc/rc.localに

/etc/init.d/ccpd start

 と追記したにも関わらず、Linux再起動後にccpdが上手く動いていないことです。


> CUPSやccpdの再起動でうまくいったなら、プリンタの登録作業には問題がなかった、ということに

 うーん…。よくわかりません。とりあえず、印刷が必要になる度に

# service ccpd restart

 とするのは、やや面倒です。Linux再起動時に、自動で上記のコマンドをやってくれる方法がないのかな、と思い悩んでおります。
 PCやプリンタの設定はそのままにしてあります。
 以上です。宜しくご教示願います。

daydreamer


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月27日(金) 07:14 
オフライン
プライベートメッセージ送信  WWW  プロフィール

登録日時: 2008年9月13日(土) 12:37
記事: 250
所在地: 兵庫県
すみません、むしろ謝るのは私の方です。
読み飛ばしたとされる部分ですが、それは私が後から追記した部分です。

最初書いたときにはそのくだりは忘れてまして、気付いたときにはもう家を出てしまってましたので、会社ついてからケータイで書き込んだんですが、それが同日8:20頃です。

間に合うと思っていたんですが、今確認したらdaydreamerさんが書き込まれたのが8:00。間に合ってませんでしたね…Orz

ということで、daydreamerさんがご覧になったときにはその文章は存在してませんでした。ほんとすみません。

お、なにかしら挙動に変化が出てきましたね。ここから解決策が見つかればいいなぁ。

あら、前にccpdのみを再起動してもダメだったから、今回もダメかと思ってたんですが、今回はccpdの再起動のみで印刷が可能になったんですね。

あ、しまった。確か、/etc/init.d/ccpdに件の数行を追記したあと、
コード:
# chkconfig --add ccpd

とかなんとかなさったと思うんですが、件の数行を削除する前に
コード:
# chkconfig --del ccpd

ってなさってますでしょうか? ってしてないですよねぇ…。私がその指示忘れてたんだもんなぁ…Orz

今、まだccpdデーモンがCUPSより先に起動してしまうんじゃないかな、と思います。
コード:
# ls /etc/rc5.d/*ccpd

の出力結果になにか返ってきたら、申し訳ありませんが、削除した件の数行を再度記入後、
コード:
# chkconfig ccpd off

を実行して下さい。件の数行はほっといても大丈夫です。

でもって、プリンタの登録はもうされているので、起動時毎度行う必要はありません。/etc/rc.localには/etc/init.d/ccpd startだけでいいと思います。


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月27日(金) 08:08 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年3月19日(木) 14:31
記事: 46
> code_air_edge さん

 返信ありがとうございました。
 ついにLinux再起動後の印刷に成功しました!(SELinuxは無効のままですが)

 以下、レスさせていただきます。

>あ、しまった。確か、/etc/init.d/ccpdに件の数行を追記したあと、
>
コード:
# chkconfig --add ccpd

>とかなんとかなさったと思うんですが、件の数行を削除する前に
>
コード:
# chkconfig --del ccpd

>ってなさってますでしょうか? ってしてないですよねぇ…。私がその指示忘れてたんだもんなぁ…Orz

 していませんでした。印刷に成功した今も、していません。やった方がいいのでしょうか…?

>
コード:
# ls /etc/rc5.d/*ccpd

>の出力結果になにか返ってきたら、申し訳ありませんが、削除した件の数行を再度記入後、
>
コード:
# chkconfig ccpd off

>を実行して下さい。件の数行はほっといても大丈夫です。

# ls /etc/rc5.d/*ccpd
/etc/rc5.d/S80ccpd

 と返ってきました。そこで削除した件の数行を再度記入後、

# chkconfig ccpd off

 を実行しました。

 その後でLinuxを再起動すると、印刷が可能になっていました。

 それからこれは疑問なのですが、PCの電源をONにした状態で、プリンタのUSBケーブルを繋ぐと、「LBP53002」というのが勝手に登録されます。http://localhost:631/printers/ を見ると、「LBP53002」の方がデフォルトプリンタになっています。これはほうっておいても良いのでしょうか…?一応、印刷する際は「LBP5300」と「LBP53002」のどちらかを選べる画面が出てくるので、「LBP5300」の方を指定して印刷しています。

 あとは、SELinuxを有効にしてもプリンタが使える状態にしたいです。ずっと前の記事で紹介したFedoraに詳しい方から、以下のように教えていただいたのですが、これを試しても大丈夫でしょうか…?以下、教えていただいた内容を転記します(SELinuxを有効にしているときに教えていただいた内容です)。

--- ここから転記開始 ---

<ポリシパッケージの生成とインストール>
0) OS起動
この時点ではSELinuxが有効
# getenforce
Enforcing
と返ってくる

1) SELinux を Permissive に設定する
# /usr/sbin/setenforce 0
SELinuxが無効化される
# getenfortce
Permissive
と返ってくる

2) 対象プリンタへ印刷を行う
例)LBP5300 へ CUPS テスト文書を印刷
# lpr -P LBP5300 /usr/share/cups/data/testprint.ps
印刷が正しく行われる
SELinux無効継続

3) ポリシパッケージを生成する
# audit2allow -M cncapt -l -i /var/log/audit/audit.log
SELinux無効継続

4) ポリシパッケージをインストールする
# /usr/sbin/semodule -i cncapt.pp
SELinux無効継続

5) Linux を再起動する
SELinuxが再度有効となる
# getenforce
Enforcing
と返ってくる

5)で再度SELinuxが有効となるが、印刷用のポリシーが適切に設定されているので印刷が可能となる。

--- ここまでで転記終了 ---


 それから、印刷に成功した今でも

# ls /etc/rc5.d/*ccpd

 と打つと、
 
/etc/rc5.d/K10ccpd

 と返ってくるのですが、別に何もしなくても良いのでしょうか? 前とは、返ってくる文字列が微妙に違っているのですが…。

 以上です。宜しくご教示願います。

daydreamer


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月27日(金) 21:03 
オフライン
プライベートメッセージ送信  WWW  プロフィール

登録日時: 2008年9月13日(土) 12:37
記事: 250
所在地: 兵庫県
おめでとうございます! 印刷ができるようになったようでなによりです。
やっぱりマニュアルとかReadMeの指示通りにやらないといけませんね…。

あぁ、また私の指示がめちゃくちゃですね…。印刷は無事できているようですし、現状のままでも問題ありません。要はCUPSより先にccpdが起動していたのが悪かったのでしょう。今はccpdは起動しない設定になっていますので放置でいいかと思います。気になるようでしたら
コード:
# chkconfig --del ccpd

と実行しておけば大丈夫です。それによって/etc/init.d/ccpdが削除されることはないと思いますが、一応バックアップを取っておくと安心かも。消えたら再インストールすればいいってだけです。

LBP53002についてなんですが、URIはどうなっていますでしょうか? halうんたらって文字列が書いてあったら、そいつはHALが自動登録してるやつなので削除しちゃって平気です。あるいはデフォルトのプリンタをLBP5300にしてしまうとかですね。GUIからでもいいのでプリンタ設定からやってみてはいかがでしょう。

SELinux対応についてはそのまま実行すればよいと思います。ReadMeにも同じような手順が書いてありますし。
一字一句見比べたわけではないので、気になるようでしたらReadMeを参照ください。本家に従っておくのが無難かも知れませんね。精神衛生的に^^

で、/etc/rc5.d/{S80,K10}ccpdについては本筋から外れるのでさらっと流します。興味が沸いたなら、「Linux rcスクリプト chkconfig」あたりで検索してみてください。

rc5.dというディレクトリは、ランレベル5の起動時に呼び出されるスクリプトを集めたディレクトリです。さらに、このディレクトリ以下の「S」から始まるスクリプトが実行されます。

その実行順ですが、数字の若い順に起動していきます(同じ数字の場合はアルファベット順だったっけな…?)。数字は2桁ですので、S80となっているccpdは割と遅い部類に入ります(ただし、CUPSはS98なのでもっと遅い。ちなみにrc.localはS99なのでほぼ最後)。

Kから始まるものは逆にプロセスを停止させていきます。そもそも起動してないプロセスについては何もしません(できません)。

Kが存在する理由は、Linuxは起動中にランレベルの変更が可能だからです。ランレベル5から1に落とした場合、プロセスをガシガシ止めないといけませんので、そのための工夫です。

で、現状「K10ccpd」ってなってるので放置で構いませんよ、と言ったわけです。

分からなかったら流してくださいませ。

以上です。


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月28日(土) 01:49 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年3月19日(木) 14:31
記事: 46
> code_air_edge さん

 返信ありがとうございます。

>気になるようでしたら
>
コード:
# chkconfig --del ccpd

>と実行しておけば大丈夫です。

 現時点で印刷可能になっているので、上記のコマンドは行わないことにします。

> LBP53002についてなんですが、URIはどうなっていますでしょうか? halうんたらって文字列が書いてあったら、そいつはHALが自動登録してるやつなので削除しちゃって平気です。

usb://Canon/LBP5300 
 
 となっています。何度試しても同じです。これもHALが自動登録したものなのでしょうか?ただ、URIの選択画面にはHALうんたらとでる選択肢も別に存在します。

>あるいはデフォルトのプリンタをLBP5300にしてしまうとかですね。GUIからでもいいのでプリンタ設定からやってみてはいかがでしょう。

 やってみました。LBP5300をデフォルトプリンタに指定しました。

>SELinux対応についてはそのまま実行すればよいと思います。ReadMeにも同じような手順が書いてありますし。

 マニュアルも見ながらやったのですが、エラーが出てしまいました。

# /usr/sbin/setenforce 0
# lpr -P LBP5300 /usr/share/cups/data/testprint.ps (印刷成功)
# audit2allow -M cncapt -l -i /var/log/audit/audit.log
compilation failed:
cncapt.te:6:ERROR 'syntax error' at token '' on line 6:


/usr/bin/checkmodule: error(s) encountered while parsing configuration
/usr/bin/checkmodule: loading policy configuration from cncapt.te
# /usr/sbin/semodule -i cncapt.pp
/usr/sbin/semodule: Could not read file 'cncapt.pp': No such file or
directory


 この問題にはどう対処すれば良いのでしょうか?ググっても出てきません。

> で、/etc/rc5.d/{S80,K10}ccpdについては本筋から外れるのでさらっと流します。
 
 非常にわかりやすい説明をありがとうございました。興味が沸いてきたので、調べているところです。code_air_edgeさんの説明は、とてもわかりやすいです。

 とりえあず第一関門は突破したものの、第二関門が越せない心境です。当方、SELinuxについては、ほとんど理解しておりません。セキュリティ関係の飾りかな?という程度の認識です。Vine4.2には無いものなので…。

 以上です。宜しくご教示願います。

daydreamer


P.S.本筋からは逸れますが、code_air_edgeさんはLinuxでサーバとか立てていらっしゃいますか?


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月29日(日) 11:38 
オフライン
プライベートメッセージ送信  WWW  プロフィール

登録日時: 2008年9月13日(土) 12:37
記事: 250
所在地: 兵庫県
プリンタの方は今印刷できているなら(デフォルトプリンタの設定がうまく行ってるなら)そのまんまでいいと思います。触らぬ神に祟りなしですな^^;

SELinuxですが、私もほとんど知りません。無効化しちゃってるんで、SELinux絡みのエラーはほとんど遭遇してないんですよねぇ…。

とりあえずググってみての回答なんで、見当違いかも知れませんがご容赦を(mixiのコミュの方々の反応を待とうとも思いましたが、一応)。

テスト印刷成功後、/var/log/audit.logの先頭には何が追記されているのでしょう? 期待すべきはccpdに関する情報です。それが書いてないなら、そもそもポリシーパッケージの生成ができないと思われます。

それっぽいことが書いてあるのなら、
コード:
# head -1 /var/log/audit/audit.log | audit2allow -M cncapt

でうまくいくんじゃないかと思います(1行目にそれっぽいことが書いてあった場合。1行目じゃなかったらgrepコマンドを駆使しましょう)。

mixiの方で詳しい方がお返事下さってたらそちらに従ってください。私は自信ないです^^;

>P.S.本筋からは逸れますが、code_air_edgeさんはLinuxでサーバとか立てていらっしゃいますか?
以前は玄人志向の玄箱にDebian突っ込んでLAMPを構築してましたが、今はもうやってないです^^;
それは大学の仲間内だけで使うxoops用に使ってましたが、卒業した後は利用頻度が減ったので閉鎖しました。

外部に公開してたのはそれだけですね。ローカルではちょこちょこ立てていますが、きちんとセキュリティを気にして外部に公開ってのはやったことがないです。

だからセキュリティには疎いんですよねぇ^^;

以上です。


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月29日(日) 12:16 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年3月19日(木) 14:31
記事: 46
> code_air_edge さん

 お返事ありがとうございます。

> テスト印刷成功後、/var/log/audit.logの先頭には何が追記されているのでしょう?

 type=DAEMON_START msg=audit(1237547318.201:5622): auditd start, ver=1.7.12 format=raw kernel=2.6.27.19-170.2.35.fc10.i686 auid=4294967295 pid=1799

 と書いてありました。

> 期待すべきはccpdに関する情報です。それが書いてないなら、そもそもポリシーパッケージの生成ができないと思われます。
>それっぽいことが書いてあるのなら、
>
コード:
# head -1 /var/log/audit/audit.log | audit2allow -M cncapt

>でうまくいくんじゃないかと思います(1行目にそれっぽいことが書いてあった場合。1行目じゃなかったらgrepコマンドを駆使しましょう)。

 ccpdについては、39行目以降にぽつぽつ書いてありました。以下、39行目の記述を抜粋します。

 msg='printer=LBP5300 uri=ccp:/var/ccpd/fifo0 banners=none,none range=unknown: exe="/usr/sbin/cupsd" (hostname=localhost.localdomain, addr=127.0.0.1, terminal=? res=success)'

それから、grepコマンドの使い方がわかりません。

> mixiの方で詳しい方がお返事下さってたらそちらに従ってください。私は自信ないです^^;

 はい。どなたも反応してくだらなかった場合、SELinuxを無効にしてプリンタを使いたいと思います。

 以上です。ありがとうございました。


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月29日(日) 19:20 
オフライン
プライベートメッセージ送信  WWW  プロフィール

登録日時: 2008年9月13日(土) 12:37
記事: 250
所在地: 兵庫県
うーん、1行目のメッセージは関係ないように思えますねぇ。
39行目が正しいのかどうかも私には分かりません…^^;
同じプリンタを持ってたら試せるんですけれど、こればっかりはどうしようもないかも…><

試しに、
コード:
# cat /var/log/audit/audit.log | grep -i ccpd

と実行してみてくれませんか? これでaudit.logファイル中の、ccpdの文字列が含まれている行を抽出して表示してくれます。

ここに何かヒントが…ある…かな…?^^;


トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月29日(日) 21:47 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年3月19日(木) 14:31
記事: 46
> code_air_edge さん

 お返事ありがとうございます。SELinux有効下での印刷に成功しました!

 ずっと前に書いたFedoraに詳しい人(SELinux有効下でCanonのLBP-2510をご使用中)にも同様の質問を出したところ、やり方を教えていただくことが出来ました。その方によれば、「調べてみましたが、audit2allowコマンドでの-lオプションがひっかかり、うまくルールが生成されないようです。これを外すと生成されますが、余分なルールも同時に入るので該当すると思われる部分だけ抜き出してルールを作ってみました。」とのことです。

 以下に、その方に教えていただいたルール生成等の全手順を記します。


--- ここから、SELinux有効下での手順 ---

1)以下、cncapt.teとしてテキストファイルに記述する。書き込み権限のあるディレクトリであれば、特にどのディレクトリ配下で記述しても構わない。

--- cncapt.te ---
module cncapt 1.0;

require {
type cupsd_t;
type var_t;
type tmpfs_t;
class process { execstack execmem };
class fifo_file write;
class file { write read };
}

#============= cupsd_t ==============
allow cupsd_t self:process { execstack execmem };
allow cupsd_t tmpfs_t:file { read write };
allow cupsd_t var_t:fifo_file write;
--- End ---

2)cncapt.teを記述した後、次のコマンドでポリシーモジュールを生成する(注:cncapt.teが存在するディレクトリに移動して作業を行うこと)。
# checkmodule -M -m -o cncapt.mod cncapt.te
# semodule_package -o cncapt.pp -m cncapt.mod

3)これでcncapt.ppが生成されるので、モジュールを組み込む。
# semodule -i cncapt.pp

4)これでSELinuxのEnforcing下で印刷できるかどうかを確認する。

[補足1] ルール生成ファイルは一時的なものである。最終的にsemoduleでインストールしてしまえば、途中生成される.te/.mod/.ppファイルは削除してもOK。

[補足2]SELinuxのモジュールは、
# semodule -l
で組み込まれているセキュリティモジュール一覧を確認できる。
通常、自分で組み込むモジュールはlocal.ppとして組み込むことが多いが、無論用途別に名前を変更しても問題はない。
ちなみにモジュールを外す場合、
# semodule -r {モジュール名}
で外すことができる。SELinuxの設定を失敗した場合などは、これで削除することが出来る。

--- ここまで、SELinux有効下での手順 ---


>試しに、
>
コード:
# cat /var/log/audit/audit.log | grep -i ccpd

>と実行してみてくれませんか? これでaudit.logファイル中の、ccpdの文字列が含まれている行を抽出して表示してくれます。

 実行してみましたが、恐ろしく長文になりました。ここに掲載することは控えたいと思います(さっき一応書き込みましたが、削除しました)。

 というわけで、とりあえずこの問題は解決しました。件名の最初に[解決済み]という表示を出すにはどうすればよいのでしょうか…?


 本件では、code_air_edge さんに大変お世話になりました。心よりお礼申し上げます。
 また何かあったら、ご教示宜しくお願いします。


P.S. "code_air_edge"さんって、"こで"さんとお読みするんですね…?mixiの紹介文を拝読していて気づきました。ずっと"コード・エア・エッジ"さんとお読みするのだ、と思い込んでおりました。


最後に編集したユーザー daydreamer [ 2009年3月29日(日) 23:28 ], 累計 2 回

トップへ
 
 記事の件名: Re: Fedora10で、SELinuxに蹴られずプリンタを使う方法
投稿記事Posted: 2009年3月29日(日) 22:27 
オフライン
プライベートメッセージ送信  WWW  プロフィール

登録日時: 2008年9月13日(土) 12:37
記事: 250
所在地: 兵庫県
---------
解決おめでとうございます。
私にはそんな解決策を提示できない…^^;

あぁ、やたらめったら印刷してたのでログが一杯溜まってたんですね(笑) なるほどよーけありそうだ。

トピ名は立てた人が変更できると管理人さんが書いておられますが、はてどこだったかな…? 私の立てたスレは解決したことがないのでw

あぁ、読み方は一応、「コード・エア・エッジ」のつもりです。
が、長いので「こでさん」と略して呼ばれるようになったので、mixiではニックネームを「こで」としています。

呼び易い名で呼んでもらえれば結構ですよー。私がそれと気付くものであれば^^


トップへ
 
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 31 件の記事 ]  ページ移動 1つ前へ  1, 2, 3, 4  次へ

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[0人]


トピック投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron

無料でマイフォーラムを作成する! · php-BB© · Internationalization Project · 不正利用を報告する · 使用条件/プライバシーポリシー
© Forums-Free.com 2009