2011年11月29日火曜日

rootでパスワードなしのSSHを使用してrsync…危険じゃないの?


元々はFTPだけしか使えない、ログイン不可のユーザ(シェルが/sbin/nologin)でrsyncも出来るようにしたかった。
でも、nologinのユーザだとrsync -e sshとしても失敗。
rsyncはログインしなくちゃできないから、それも当然。

そこで、rsync用のユーザを作って、rsyncすることにした。
sshでパスワードなしにすることも簡単。
ただ、ファイルの権限がrsyncになってしまう…。chmodで変更が出来ない…。
chmodはrootじゃないとダメだから。

じゃあ、rootでパスワードなしのSSHなら出来る。
いや、それはさすがにマズイ。
どうしたもんか、と思っていたところ見つけた。
http://sonic64.com/2004-11-17.html
http://www.ice.is.kit.ac.jp/~umehara/misc/comp/20061121.html

つまり、鍵ファイルによって実行できるコマンドを絞ることが出来る。
authorized_keyの鍵情報にcommandを追加。
そこにrsyncコマンドを入れておけば、いいわけだ。
通常のsshは鍵なしだから、普通にsshしてきたら普通に使える。
鍵を指定してsshしてきたら、指定したcommandだけ実行して終わり。

全然知らなかったけど、sshは奥が深いね!なんとなく世界が広がる気がする!

0 件のコメント: