DNSの導入(1)

先日のsendmailのセキュリティーホールで対策を行う必要が出てきたのでDNSの設定とqmailのインストールを行うことになりました。まずはsendmailとBINDのバージョン確認から

sendmailのバージョン確認
# sendmail -d0.1 -bv
Version 8.13.4

例外なく問題のあるバージョンです。これは後々qmailに入れ替えます。

DNSが動作中か確認
# ps -aux | grep named

# ps -aux | grep bind

現在は動作していません。

BINDのバージョンチェック
# named -v
BIND 9.3.1

現在の最新版は9.3.2なので入れ替えをします。

BIND関連のプログラムインストール状況を確認
# which named
/usr/sbin/named

# which dig
/usr/bin/dig

# which host
/usr/bin/host

# which nslookup
/usr/bin/nslookup

これらはバージョンアップの前に削除します。

BINDの設定ファイルの確認
# find / -name named.conf
/var/named/etc/namedb/named.conf

# ls -l /var/named/etc/namedb/
total 20
-rw-r–r– 1 root wheel 423 Nov 3 17:12 PROTO.localhost-v6.rev
-rw-r–r– 1 root wheel 423 Nov 3 17:12 PROTO.localhost.rev
drwxr-xr-x 2 bind wheel 512 Nov 3 17:09 dynamic
-rw-r–r– 1 root wheel 1089 Nov 3 17:12 make-localhost
drwxr-xr-x 2 root wheel 512 Nov 3 17:09 master
-rw-r–r– 1 root wheel 3715 Nov 3 17:12 named.conf
-rw-r–r– 1 root wheel 2600 Nov 3 17:12 named.root
drwxr-xr-x 2 bind wheel 512 Nov 3 17:09 slave

# ls -l /var/named/etc/namedb/master/
total 0

# ls -l /var/named/etc/namedb/slave/
total 0

# ls -l /var/named/etc/namedb/dynamic/
total 0

特に使用されていないので全部削除
最新のBINDはデフォルトの設定のままインストールします。

使用するtarボール:bind-9.3.2.tar.gz

 

PostgreSQLの基本コマンド

PostgreSQLにログインしたとき良く使うコマンドの一覧
ログインするとき
# su – postgres
# psql -d [DB名] -U [ユーザ名]
※どんなDBが登録されているか不明な場合はtemplate1を指定します。(殆どの場合存在しています)

データベースの一覧を表示する
l

ログインしたデータベース内のテーブルの一覧を表示する
d

テーブルの定義を表示する。
d [テーブル名]

ログアウト
q

PostgreSQLのバックアップとリストア

そういえば、インストールと起動だけでバックアップ関係は記録してなかった。

PostgreSQLの場合はpg_dumpを使ってバックアップを取ります。
その前にpostgresユーザーになりましょう。

# su – postgres

データベースtestをバックアップ

# pg_dump test > test.dmp

ここで指定したtest.dmpはデータベースのバックアップ先ファイル名です。

今度は、バックアップしたデータベースを復元(リストア)します。

確認のため先程のtestを消します。

# dropdb test

そして空で作り直します。

# createdb test

リストア

# psql -e test < test.dmp

注意点として、データベースのエンコード情報を合わせて操作してください。特にcreatedbを行うとき等。