お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-07-01 16:43:33

uchan21
メンバ
登録日: 2008-12-25

[MRTG] indexmakerでPermission deniedエラーが発生します。

いつもお世話になっております。

SNMPDとMRTGを使って、CPU負荷、CPU温度などのサーバ稼働状況のグラフ表示をやろうとしています。
色々なサイトでたくさん情報が得られますので、ほぼうまく行って、グラフを含んだhtmlファイルの
自動生成、それをブラウザで正常に閲覧できることまでは確認出来ました。

MRTGには、グラフのhtmlファイルが監視対象毎に複数出来てしまうので、それらをひとつにまとめた
index.htmlを生成する「indexmaker」というコマンドが備わっています。

こちらで質問させていただきたいのは、この「indexmaker」についてです。

 sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
 bash: /var/www/mrtg/index.html: Permission denied

このように、indexmakerを実行したところ、生成されるべき index.html がPermission deniedとなり
生成することが出来ません。「sudo」で実行しているにも関わらず、Permission deniedが出てしまい
対応に苦慮しております。「index.html」という名前がよくないのかと思い「index1.html」などとやって
みましたが同じ結果でした。

Ubuntuのバージョンは、9.04です。

解決策を教えて頂けますと幸です。

オフライン

 

#2 2009-07-01 17:03:07

weyk
メンバ
登録日: 2009-04-03

Re: [MRTG] indexmakerでPermission deniedエラーが発生します。

とりあえずrootで試す前に、まずは、アクセス権がどうなっているのか、確認してみると良いかと思います。これにより、原因の予想が違うのか、手段が違うのか、切り分けられます(失敗して再試行するとき、切り分けてあると楽です)

$ ls -ld /var/www/mrtg/index.html

そのうえで、rootにより実行することで解決する場合には、

$ sudo "indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html"

と、指定する必要があるのではないかと思うところです。
# sudoの引数全体に「""」をつけないと、リダイレクトは、現シェルで処理されて「sudo indexmaker /etc/mrtg.cfg」がコマンドとして実行されることになる・・・・・と思います(rootで生成したファイル内容を、現在のユーザでファイルに書き込んでいる と)

オフライン

 

#3 2009-07-01 18:14:32

n_saito
メンバ
登録日: 2009-06-23

Re: [MRTG] indexmakerでPermission deniedエラーが発生します。

uchan21 による投稿:

 sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

思いっきりバッドノウハウですが、パーミッションがないファイルに結果を出力する場合には
sudo indexmaker /etc/mrtg.cfg | sudo tee /var/www/mrtg/index.html
という具合で、パイプとteeコマンドをうまく活用すると良いかと。

オフライン

 

#4 2009-07-01 21:38:23

uchan21
メンバ
登録日: 2008-12-25

Re: [MRTG] indexmakerでPermission deniedエラーが発生します。

weyk様、n_saito様 ご回答ありがとうございます。

結論から申しますと、n_saito様からいただきました方法で解決しました。

n_saito による投稿:

思いっきりバッドノウハウですが、パーミッションがないファイルに結果を出力する場合には
sudo indexmaker /etc/mrtg.cfg | sudo tee /var/www/mrtg/index.html
という具合で、パイプとteeコマンドをうまく活用すると良いかと。

weyk様からいただきました方法ですが、そもそも、index.htmlが存在しないことから、いきなり実行したところ、

 sudo "indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html"
 sudo: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html: command not found

となってしまいました。
ちょっと意味があるか分かりませんが、出来たindex.htmlについて、ls -ld /var/www/mrtg/index.html を実行したところ、

 -rw-r--r-- 1 root root 3221 2009-07-01 21:18 /var/www/mrtg/index.html

となりました。

ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB