Oba-Q's Free Space >  サーバーネットワーク > Fedora > Fedora17 へ

Fedora17 へ

5月末にリリースされていましたが、やっと1台だけ
アップグレードが完了しました。

Fedora17は重要な部分が大幅に変更されたようです。
Fedora16からyum(ネットワーク経由)でのアップグレードは
結構面倒臭いですね。
こんなことや・・・あんなこと・・・
いろいろ手間がかかります@詳細 ↓

http://fedoraproject.org/wiki/Upgrading_Fedora_using_yum#Fedora_16_-.3E_Fedora_17

同じネットワーク経由のアップグレードでもpreupgradeだと
自動でやってくれるらしいけど、拙生の環境では一度失敗して
痛い目にあって以来、使用したことはありません。
で、人柱に予備機を使用してやってみたら、あっさり成功。
そこでこのブログを置いてあるサーバー(通称Qサーバー)を
preupgrade!・・・・・・失敗・・・・再起動・・
ああああ!カーネル君がパニック症候群です。^^;;;;;

慌てて予備機にFedora17をクリーンインストール。
パニック症候群に陥ったサーバーを、インストールCDの
レスキューモードで起動させ、HDDを所定の位置にマウント。
設定ファイルやユーザー領域などをrsyncで移設し復旧させました。

qserver
--インストール中サーバー機
  所定位置に収める前に、配線などはもうちょと美しくなります。(笑 --

前にも書きましたが、このサーバーは拙生以外は、サブドメインで
使用している方が一人(厳密にはサブフォルダー限定使用の
方がもう一人)だけなので、その方に連絡を取るだけで済みますが、
ユーザーが多いほうのサーバーなら、拙生がパニックだったでしょう。。。

なんとか復帰はしたものの、2つほど引っかかったことが。。
まずはFTPサーバー。
Fedora16ではvsftpd 2.3.4を使用していましたが、Fedora17では
vsftpd 2.3.5になりました。
2.3.4はコンパイルするために落とすソースに、バックドアが
仕組まれていたとかで、大騒ぎになりましたが、拙生の場合
RPM(パッケージ)によるアップデートでしたので、まったく
心配なく、快適に使用できていました。
ところが2.3.5にすると、同じ設定ではログインの認証で蹴られる。。。
いくらログを調べても原因が判明できません。
で、いつもの通りグルグル神社へググリ詣へ。
なんと・・・@参考サイト↓

http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/

ということです・・・って端折らないで要点だけ書くと、

chmod a-w /home/user

のごとくすればよいとのことですが、これって
ユーザーの書き込み権限奪取ですよねぇ。
root以外は書き込みできないってことですかぁ!???
とは言っても、これでftp出来るようになりました。
下段のコメントにあるいくつかの方法は絶対問題あり!
有効なのはvsftpd-extというやつをインストールして、
allow_writable_root=YESの設定をすればOKってやつだけど、
vsftpd-extってどこに落ちてるの?

とりあえずホームディレクトリに直接ftp出来なくても、
公開するpublic_htmlとファイル置き場用等の非公開の
ディレクトリに書き込み権限があれば問題ないので、
最初のやり方にしておきました。
ただし、公開ディレクトリ以外にディレクトリを用意
しなければいけないCMSなどもありますので、ユーザーが
自分で作れないのでは、根本的な解決策ではありません。

書きながらも気になってググってたら、vsftpd-extは
どうやらExtended vsFTPdのことらしい。
今度試してみますが、vsftpdだけのためにホーム
ディレクトリの属性を変更なんてことはありえないので、
そのうち本家にもallow_writable_rootの設定が
出来るようになるのでしょう@楽観

次に引っかかったのはpop・imapサーバー。
Fedora16のdovecot-2.0.20の設定をそのまま移植すると、
エラーが出て、メーラーで受信できません。
サーバーは

Initialization failed:
namespace configuration error:
inbox=yes namespace missing

というエラーを吐いています。
Fedora17に同梱してあるver.2.1.5の設定ファイルを
見てみると、

namespace inbox {
inbox = yes
}

という記述がある。
これを移植した設定ファイルに追記することで、無事
受信可能になりました。

いつものアップグレードと違い、てんやわんやではありましたが、
なんとか無事終了。
もう1台のFedoraはユーザーが多いので、慎重にやらねば!

****** 追記 **********

Fedora16以降でユーザーを作成すると、UID・GIDは1000から始まります。
それ以前のバージョンで500から始めているデストリからのアップグレード
する時は、/etc/passwd等をそのまま移設すると不具合が起きますので、
修正しなくてはいけません。
(/etc/passwd /etc/shadow /etc/group こんなもんかな。)
また500から開始したい場合は、/etc/login.defsを編集します。

ユーザーが少ない場合は、useraddで作成し、1000番から始めちゃいます。
たとえば旧サーバーで500:500だったqsakuを作成すると、新サーバーは
1000:1000になるので、移植後の ls -l /home の結果は、そんなidなんて
ないぞと qsaku:qsaku qsaku ではなく、 500:500 qsaku になります。
そこで chown -R qsaku:qsaku qsaku などとしてやればOKです。
ユーザー数が多い場合は・・・こんなことやってられませぬ・・

更に余談
Fedoraはかなり昔から ls -l を ll というコマンドで実現できましたが、
最近やっとubuntuあたりでも使えるようになったようです。
(Fedoraでもレスキューモードでは使えません。)

This entry was posted in Fedora, サーバーネットワーク. Bookmark the permalink.

Comments are closed.