« 被リンクが無いのにPRの高いサイトの謎 | メイン | クリエイターからの辞表 »

sudoでrsync実行時にエラー

タイトルそのままなのですが、sudoでrsyncするとパーミッションエラーが表示される。
そのユーザに直接なると、エラーにならないという困った現象に遭遇。

$ sudo -u nobody rsync -avz /tmp/a /tmp/b
building file list ... pop_dir /tmp : Permission denied
rsync: writefd_unbuffered failed to write 26 bytes: phase "unknown": Broken pipe
rsync error: error in rsync protocol data stream (code 12) at io.c(515)

わかってみれば、あっけない話なんですが。

調べてみたところ、まさにこの人と同じ現象。
Rsync pop_dir permission denied!

一瞬喜んだものの、誰からもレスがついておらず。自分まで悲しい気分になりましたよ。

結局、ヒントはここに。

rsync Tips & Tricks

どうやら、sudoで指定する実行ユーザが閲覧権限を持っていないディレクトリから実行すると、エラーが発生する様子。
前述の例で言えば、この時の実行ディレクトリはログインユーザのホームディレクトリでした。
そこにはnobodyの閲覧権限が無いので、エラーが出ると。
/tmpの権限は当然ながら充分に持っているので、悩んでしまいました。

実行前に cd / なりで権限のある場所に移っておけばOK。
実行するのがrsyncを含むshellであれば、コード内でrsync前にcdしておけば問題無しです。

Social Flares:

add to はてなブックマーク add to ECナビ add to livedoorクリップ add to Newsing add to Nifty Clip add to del.icio.us add to digg! add to FC2 add to Pookmark add to Furl add to technorati add to Ma.gnolia add to Google Bookmark add to Yahoo! my web add to reddit add to PingKing add to ROOTACE add to simpy add to spurl add to BuddyMarks

トラックバック

このエントリーのトラックバックURL:
http://dendrocacalia.com/mt/mt-tb.cgi/159

コメント

About

2009年04月07日 17:11に投稿されたエントリーのページです。

ひとつ前の投稿は「被リンクが無いのにPRの高いサイトの謎」です。

次の投稿は「クリエイターからの辞表」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

他のサイト

アーカイブ

あわせて読みたい

あわせて読みたい

なかのひと