Monthly Archives: 12月 2008

rcスクリプトの起動順を調べるには

Pocket

上記のコマンドを実行する。

その他、依存関係に問題がある場合にも教えてくれる。

No tags for this post.

yumのproxy設定

Pocket

CentOSをインストールした。

DISCイメージが何枚かあってよくわからない。雑誌付録のDVDを借りた。

特に問題なくインストールは完了したが、yumのproxy設定でちょっとつまずいたのでメモ

yumのproxy設定

http://www.centos.org/docs/5/html/yum/sn-yum-proxy-server.html

と、書いてあるが、なぜか効かない。*1

少し調べてみるとyumはcurlを使っているので、環境変数http_proxyによりcurl側で対応した。

デフォルトのレポジトリ参照先は遅いので、国内に変更する。

/etc/yum.confがyumの設定ファイルだが、レポジトリは/etc/yum.repos.d/*.repoに切り出せる。

適当に日本のミラーリストを検索して下記のように変更。

/etc/yum.repos.d/CentOS-Base.repo

*1:Fedora9は大丈夫だった。

No tags for this post.

vsftpdでchrootの設定を行うには。

Pocket

ローカルユーザの場合と、anonymousユーザの場合で対応が異なる。

anonymousユーザ向けには、anon_rootでchroot先のディレクトリを設定するだけで終了。

ローカルユーザ向けの場合には、少々手間が必要。

まず、local_root=<ディレクトリ名>として、ログイン後に移動させるディレクトリを指定する。

さらに、chroot_list_fileで指定したファイル(以降chroot_list_file)に該当ユーザを書き込んでおき、chroot_list_enable=YESとしてリストを有効にする。

(ちなみに、chroot_local_userをYESにすると、chroot_listの意味合いが違ってくるが、ここでは触れない。)

なお、chroot_listを有効にしておいてlocal_rootを指定しないと、ユーザのホームディレクトリにchrootされる。

sftpならともかくとして、ftpでユーザのホームディレクトリにアクセスさせるのはセキュリティ上好ましくないので、local_rootと必ずセットにすること。

逆に、local_rootを有効にしてchroot_listを無効にした場合、該当ユーザのログイン直後のディレクトリはlocal_rootで指定されたディレクトリであるものの、その上のディレクトリへも自由に移動できる。これもこれで危険。

/etc/vsftpd/vsftpd.conf

No tags for this post.

vsftpdのホワイトリスト/ブラックリストの設定

Pocket

仕事でvsftpdを入れたのでメモ。

ホワイトリスト/ブラックリストの設定

userlist_fileで指定するファイル(以降、userlist_file)には、ユーザをリストするのだが、このファイルの扱いは、vfstpd.confの設定により180度変わる。

userlist_enable=YES かつ userlist_deny=YESのとき;

 userlist_fileにリストされているユーザのログインを拒否する。

userlist_enable=YES かつ userlist_deny=NOのとき;

 基本的にすべてのユーザのログインが拒否される。

 しかし、uselist_fileにリストされているユーザについてはログイン許可

つまり、userlist_fileがホワイトリストになったり、ブラックリストになったりする。

で。それとは別に、vsftpdのデフォルトPAM設定(後述)では、ブラックリストとして/etc/vsftpd/ftpusersもチェックしているので注意が必要。

あるユーザがftpusersにリストされた時と、ブラックリストとしてのuserlist_fileにリストされた時の違いは、前者はパスワード入力後に失敗となり、後者はユーザ名を入れた瞬間に失敗となる。

いずれにしろ/etc/vsftpd/ftpusersがブラックリストとして動作するので、userlist_fileはホワイトリストとして使うことにする。

なお、anonymousユーザ(anonymous, ftp)もこのリストの対象になるようだ。

PAM設定(CentOSでの内容)

No tags for this post.

proflibsって何?

Pocket

proflibsが何だか分からなかったんだが。

http://lists.freebsd.org/pipermail/freebsd-questions/2008-October/184180.html

proflibsというのは、プロファイリングコードを含んだ、ライブラリのセットのこと。

プロファイリングコードとは、開発時にコードのベンチマークを行うためのもので、要するに一般ユーザにはまったく関係ない、ということですか。

しかしこの回答者のサイトhttp://www.parodius.com/はいったい…?

No tags for this post.

mergemasterは-sivaでなく-UPiで。

Pocket

mergemasterについて、FreeBSD-questionsに面白い投稿(http://lists.freebsd.org/pipermail/freebsd-questions/2008-September/182096.html)があった。

もし結論を早く知りたい人がいれば、結末から読んでください。

2009/2/16 追記。本記事も陳腐化したので、mergemasterをさらにさらにさらに早くをどうぞ。

mergemasterにはかなり前に自動アップデート機能が追加されていたらしく…。

具体的には、mergemasaterに-Uオプションを与えて実行する。

これは、ユーザ変更がされていないファイルであれば自動的にアップデートするというもの。

便利は便利なのだが、その性質上、ユーザ変更の有無を比較するための原本が必要になる。

その原本が/var/db/mergemaster.mtree。

今までに何度かmergemasterを実行していれば上記ファイルはあるはずだが、ない場合には「ソースをアップデートする前に」mergemasterを一回カラ打ちする必要がある。

実行例

こうしておけば、次からmergemaster -Uとやるだけで、かなりのファイルを自動アップデートしてくれて楽になるはず。

しかし、自動アップデートはやはり怖いので、入れ替え前のファイルはどこかに保存しておきたい。だから-Pオプションも追加。バックアップは/var/tmp/mergemaster/preserved-files-date +%y%m%d-%H%M%Sに作られる。

さらに、アップグレードにより新規に追加されたファイルは問答無用でインストールしていいはずなので、-iオプションも追加。

つまりmergemaster -UPi

ところで、mergemasterの設定ファイルであるmergemaster.rcは/usr/share/examples配下にない。何でないのだろう、と思っていたのだが、なんとmergemasterのマニュアル内にあった。最後まで読んでなかったよ…。

というわけで、以下のファイルを/etc/mergemaster.rcとして保存しておけばオプション要らず。

/etc/mergemaster.rc

AUTO_UPGRADEが-Uオプションに対応するが、現時点(7.1-BETA2)ではマニュアルに記載されていない。

4行目以降はmergemasterのマニュアルを参考に書いた。

PRESERVE_FILES_DIRはバックアップファイルを置くディレクトリ書式の指定。

IGNORE_MOTDはmotdを無視する設定。

No tags for this post.

gripでrip & エンコード

Pocket

CDのrippingとmp3エンコードを一緒にやってくれるツールとしてgripをインストールした。

非常に手軽で良い。夕飯を作りながら215曲、2.2Gのライブラリができた。

FreeBSDであればportsのaudio/gripから。

エンコーダをいろいろと選べるので、pkgではなくportsからインストールしたほうが良いと思う。

とはいっても、俺が結局使うのはスピード重視でgogo(/usr/ports/audio/gogo)。

rippingツールも同じくスピード重視でcdda2wav(/usr/ports/audio/cdda2wav)。

gripのエンコーダ設定で/usr/local/bin/gogoとし、オプション設定でbit rateを192に。

また、DiscDBのセカンダリにはfreedbtest.dyndns.orgを設定して日本のCDもカバーするようにした。

ただ、糞マイナーな安物クラシックCDもたくさんあって、これがCDDBに登録されていないことも多く・・・。

こっちは気合入れてタグ入れないとなあ。

No tags for this post.