スクリーンショットを取る

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)
Mac OS X 10.6 (Snow Leopard)




画面を撮影するためのショートカット

※Snow Leopard ビルトインマニュアルより転載

ここで説明するショートカットを使用して、Mac OS X の画面を画像として保存できます。

スクリーンショットはデスクトップ上にファイルとして保存されますが、スクリーンショットをクリップボードに保存したい場合は、Control キーを押しながら他のキーを押します。クリップボードに保存したピクチャは、書類にペーストできます。

操作 ショートカット

画面全体を撮影する

コマンド(⌘)キー+ Shift キー+ 3

画面の一部分を撮影する

コマンド(⌘)キー+ Shift キー+ 4 を押してから、十字形のポインタをドラッグして領域を選択します。

選択範囲を動かすには、スペースバーを押し続けます。

選択範囲の変更を水平方向または垂直方向に制限するには、Shift キーを押し続けます。

選択範囲の中心を基準に選択範囲のサイズを変更するには、Option キーを押し続けます。

操作をキャンセルするには、Esc キーを押します。

ウインドウまたはメニューバーを撮影する

コマンド(⌘)キー+ Shift キー+ 4 を押してから、スペースバーを押し、カメラのポインタを領域上に移動して強調表示してから、クリックします。

操作をキャンセルするには、Esc キーを押します。

タイトルを含めてメニューを撮影する

メニューをクリックしてメニューコマンドを表示してから、コマンド(⌘)キー+ Shift キー+ 4 を押し、その領域上を十字形のポインタでドラッグします。

操作をキャンセルするには、Esc キーを押します。

タイトルを含めないでメニューを撮影する

メニューをクリックしてメニューコマンドを表示してから、コマンド(⌘)キー+ Shift キー+ 4 を押し、スペースバーを押し、カメラのポインタをメニュー上に移動して強調表示してから、クリックします。

操作をキャンセルするには、Esc キーを押します。

「グラブ」アプリケーション(「アプリケーション」フォルダ内の「ユーティリティ」フォルダにあります)を使って画面を撮影することもできます。

「DVD プレーヤー」などのいくつかのアプリケーションでは、画面を撮影できない場合があります。

DNSサーバーを稼動させる

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)

はじめに

ここでは、DNS サーバーにて登録する情報を下記のように表記します。実際の設定時は各自の環境に合わせて変更してください。

ドメイン名 mydomain
PC PC名 IPアドレス
DNSサーバー(つまり自分) mypc 192.168.0.254
登録するPC pc1 192.168.0.2
登録するPC pc2 192.168.0.3
登録するPC pc3 192.168.0.4

ソフトウェアのインストール

Pather および Leopard の場合は特にインストールは必要なし。

Pather, Leopard ユーザーはここをクリックして次の項目へジャンプ!!

Tiger の場合は下記のように bind9 をインストールする。私が使用した bind は v9.3.1_1。

# port -d selfupdate
# port install bind9

設定

rndc キーの用意

$ su -
Password: ******* ... root のパスワードを入力

# rndc-confgen -a -b 512




named.conf の編集

# vi /etc/named.conf

-- 黄色部分が追加部分
// Declares control channels to be used by the rndc utility.
// It is recommended that 127.0.0.1 be the only address used.
// This also allows non-privileged users on the local host to manage
// your name server.
//
controls {
     inet 127.0.0.1 port 54 allow {any; };
};

options {
	directory "/var/named";
	/*
	 * If there is a firewall between you and nameservers you want
	 * to talk to, you might need to uncomment the query-source
	 * directive below.  Previous versions of BIND always asked
	 * questions using port 53, but BIND 8.1 uses an unprivileged
	 * port by default.
	 */
	// query-source address * port 53;


	// BIND の利用を許可する範囲を設定。特になくても良いけど
	allow-query {
		127.0.0.1;
		192.168.0.0/24;
	};

	// 提議したホストのみゾーン転送を許可する。特になくても良い
	allow-transfer {
		127.0.0.1;
		192.168.0.0/24;
	};

	// mypc が問い合わせるべき外部の DNS サーバー
	// ルータのアドレスまたは
	// インターネットプロバイダの DNS アドレスを入れる
	// レスポンスに大きく関係するのでぜひ入れるべき
	forwarders {
		XX.XX.XX.XX;	// プライマリ DNS
		XX.XX.XX.XX;	// セカンダリ DNS
	};

};

// 
// a caching only nameserver config
// 
zone "." IN {
	type hint;
	file "named.ca";
};

zone "localhost" IN {
	type master;
	file "localhost.zone";
	allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "named.local";
	allow-update { none; };
};


// 正引き用の設定
zone "mydomain" {	// 使用するドメイン名
	type master;
	file "named.hosts";
};

// 逆引き用の設定
zone "0.168.192.in-addr.arpa" {	// 使用するアドレスの上位3つの逆
	type master;
	file "named.rev";
};

-- ここまで

mydomain.zone の作成

# vi /var/named/named.hosts

-- 以下を新規作成
$TTL	1D
@	IN	SOA	mypc.mydomain.	root.mypc.mydomain. (
	2005030201	; シリアルNo。YYYYMMDD + 数字2桁とするのが吉。
			; ファイルを変更した場合、必ず数字を上げること。
	3H		; リフレッシュレート
	1H		; リトライ間隔
	1W		; 有効期限
	1D )		; TTLの最小値
;
	IN	NS	mypc.mydomain.
;
mypc	IN	A	192.168.0.254
pc1	IN	A	192.168.0.2
pc2	IN	A	192.168.0.3
pc3	IN	A	192.168.0.4

; ここから下はお好みで。別名の設定
dns	IN	CNAME	mypc
www	IN	CNAME	mypc
ftp	IN	CNAME	mypc
-- ここまで

named.rev の作成

# vi /var/named/named.rev

-- 以下を新規作成
$TTL	1D
@	IN	SOA	mypc.mydomain.	root.mypc.mydomain. (
	2005030201	; シリアルNo。YYYYMMDD + 数字2桁とするのが吉。
			; ファイルを変更した場合、必ず数字を上げること。
	3H		; リフレッシュレート
	1H		; リトライ間隔
	1W		; 有効期限
	1D )		; TTLの最小値

	IN	NS	mypc.mydomain.	;最後のピリオド (.) を忘れずに

254	IN	PTR	mypc
2	IN	PTR	pc1
3	IN	PTR	pc2
4	IN	PTR	pc3
-- ここまで

DNS サーバーアドレスの書き換え

ネットワーク設定

mypc の [ネットワーク設定] にて DNS に 127.0.0.1 を設定して、ちゃんと自身の DNS を使用するようにしておく。

設定した後は、ちゃんと resolv.conf にて設定が反映されているか確認しよう。下記のようにすると確認ができる。

$ cat /etc/resolv.conf

-- 上記コマンドにて下記のように表示されれば OK 。
nameserver 127.0.0.1

このように表示されなかったら、もう一度ネットワーク設定を見直そう。

Mac 起動時に自動的に DNS (bind)を起動する

Leopard の場合

# launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
ココをクリックして次の章へジャンプ。

Panther (10.3), Tiger (10.4) の場合

# cd /etc
# vi hostconfig

-- ファイル後半にある下記の行を黄色の様にする。
DNSSERVER=-YES- ... -NO- を -YES- にすることで起動時に bind が起動する

これにて、次回起動時より DNS が自動的に起動するようになる。今すぐ立ち上げたいときは下記のようにする。

# /System/Library/StartupItems/BIND/BIND start
BIND を再起動する際にも、いちいち stop してから start すること。もし restart を使った場合、named が追加で起動するようになり、設定を変更したとしても反映されなくなるので注意。
zone, rev (正引き・逆引き設定ファイル)を修正した場合、必ずシリアル番号を上げること。そうでないと設定が正しくロードされない。

テスト

  • BIND 起動時に system.log にて何かエラーが出ていないか確認する。
  • nslookup を起動して mypc や pc1 などと入れてちゃんと IP アドレスが表示されるか確認する。
  • nslookup を起動して 192.168.0.254 や 192.168.0.2 などと入れてちゃんと PC 名が表示されるか確認する。

参考サイト


受信メールをウィルスチェックする

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)

はじめに

メールには、こちらに送られてくる受信メールと、こちらから送る送信メールがある。ここでは、こちらに送られてくるメールを受信すると同時にウィルスに感染していないか調べるシステムを導入する。

こちらから送信するメールについては今回のチェックの対象外としている。




インストール

使用ソフト

  • clamav 0.92.1

インストールの前に

Binc IMAP のインストールには Darwinports を使用する。port をまだインストールしていない場合は、インストールしておく。(インストールの仕方はココをクリック)

インストール

# port install clamav

インストール時は必要に応じて gmp もインストールされる。

clamav グループ及びユーザの設定

この設定は Panther のみ必要。Tiger, Leopard では必要ない。すでに clamav (Leopard では _clamav)ユーザー及びグループが設定されているためだ。なので Panther 以外のユーザーはスキップしよう。(ここをクリックしてスキップ)

グループの空き番号確認

次の章で作成する clamav グループの ID に 30 を使うこととし、それが既に使われていないか念のために確認する。

$ nidump group . | sort -n -t : -k 3 ... グループ ID にて 30 番がすでに使われていないかチェック
(中略)
postfix:*:27: ... ':' で仕切られた 3 つ目が ID
postdrop:*:28:
guest:*:31:root ... 28 の次が 31 なので 30 番が空いていることがわかる
utmp:*:45:
uucp:*:66:
(以下略)

clamav グループの作成

# echo 'clamav:*:30:Clam AntiVirus' | niload group .

もし、上の章で調べた結果、30 番が使われていたら、別の番号 (32 とか 401 とか) を使用する。使われている番号は絶対に使用しないこと。

ユーザの空き番号確認

次の章で作成する clamav ユーザの ID に 30 を使うこととし、それが既に使われていないか念のために確認する。

$ nidump passwd . | sort -n -t : -k 3 ... ユーザ ID にて 30 番がすでに使われていないかチェック
(中略)
lp:*:26:26::0:0:Printing Services:/var/spool/cups:/usr/bin/false
	... ':' で仕切られた 3 つ目が ID
postfix:*:27:27::0:0:Postfix User:/var/spool/postfix:/usr/bin/false
www:*:70:70::0:0:World Wide Web Server:/Library/WebServer:/usr/bin/false
	... 27 の次が 70 なので 30 番が空いていることがわかる
(以下略)

clamav ユーザの作成

# echo 'clamav:*:30:30::0:0:Clam AntiVirus:/var/empty:/usr/bin/false' | \
 niload passwd .

最初の 30 がユーザ ID。次の 30 が先ほど設定したグループ IDとなる。それぞれ、30 以外を設定する場合はそれに合わせて変えること。

設定

freshclam.conf の修正

# cd /opt/local/etc
# cp ./example-freshclam.conf ./freshclam.conf

# vi ./freshclam.conf
(以下、黄色部分を追加・修正)

(8 行目あたり)
# Example

(17 行目あたり  先頭の # を外す)
UpdateLogFile /var/log/clamav/freshclam.log

(33 行目あたり  先頭の # を外す)
LogVerbose yes

46 行目あたり  先頭の # を外す)
PidFile /var/run/freshclam.pid

51 行目あたり  先頭の # を外す)
DatabaseOwner clamav ... Panther, Tiger の場合
DatabaseOwner _clamav ... Leopard の場合

(63 行目あたり  先頭の # を外す)
DNSDatabaseInfo current.cvd.clamav.net

(67 行目あたり  先頭の # を外す)
DatabaseMirror db.jp.clamav.net ... 日本からのアクセスの場合、XY を消して jp にする
 ... アメリカからであれば us となる

(77 行目あたり  先頭の # を外す)
MaxAttempts 5

(85 行目あたり  先頭の # を外す)
Checks 24

clamd.conf の修正

# cd /opt/local/etc
# cp ./example-clamd.conf ./clamd.conf

# vi ./clamd.conf
(以下、黄色部分を追加・修正)

(8 行目あたり)
# Example

(14 行目あたり  先頭の # を外す)
LogFile /var/log/clamav/clamd.log

(34 行目あたり  先頭の # を外す)
LogTime yes

(52 行目あたり  先頭の # を外す)
LogVerbose yes

(57 行目あたり  先頭の # を外す)
PidFile /var/run/clamd.pid

(110 行目あたり  先頭の # を外す)
MaxThreads 20

(135 行目あたり  先頭の # を外す)
SelfCheck 1800

(144 行目あたり  先頭の # を外す)
User clamav ... Panther, Tiger の場合
User _clamav ... Leopard の場合

必要なディレクトリ・ファイルの作成

# cd /var/log
# mkdir clamav
# touch clamav/clamd.log
# touch clamav/freshclam.log
# chmod 755 clamav
# chmod 644 clamav/* ... clamav 内の全ての log へ変更
# chown -R clamav:clamav clamav ... Panther, Tiger の場合
# chown -R _clamav:_clamav clamav ... Leopard の場合

# cd /var/run
# touch ./clamd.pid
# touch ./freshclam.pid
# chown clamav:clamav ./clamd.pid ... Panther, Tiger の場合
# chown _clamav:_clamav ./clamd.pid ... Leopard の場合
# chown clamav:clamav ./freshclam.pid ... Panther, Tiger の場合
# chown _clamav:_clamav ./freshclam.pid ... Leopard の場合

# cd /opt/local/share
# chown -R clamav:clamav clamav ... Panther, Tiger の場合
# chown -R _clamav:_clamav clamav ... Leopard の場合

自動起動設定

ディレクトリの作成

# cd /System/Library/StartupItems
# mkdir CLAMAV
# mkdir CLAMAV/Resources
# mkdir CLAMAV/Resources/English.iproj

CLAMAV ファイルの作成

# cd /System/Library/StartupItems/CLAMAV
# vi CLAMAV

-- 以下のファイルを作成
#!/bin/sh
. /etc/rc.common

PIDDIR=/var/run/StartupItems

StartService ()
{
    if [ "${CLAMAV:=-NO-}" = "-YES-" ]; then
    ConsoleMessage "Starting ClamAV"
        /opt/local/bin/freshclam -d
        /opt/local/sbin/clamd
        else
        NoService
    fi
}

StopService ()
{
    ConsoleMessage "Stoping ClamAV"
        if [ -f $PIDDIR/clamd.pid ]; then 
		kill -9 $(head -1 $PIDDIR/clamd.pid)
	fi
        if [ -f $PIDDIR/freshclam.pid ]; then 
		kill -9 $(head -1 $PIDDIR/freshclam.pid)
	fi
}

RestartService ()
{
    if [ "${CLAMAV:=-NO-}" = "-YES-" ]; then
    ConsoleMessage "Restarting ClamAV"
    StopService
    StartService
    else
    StopService
        NoService
    fi
}

NoService ()
{
        ConsoleMessage "Service is disabled in /etc/hostconfig

        Unable to start
        "
}

RunService "$1"
-- ここまで

# chmod 755 ./CLAMAV ... 実行属性を与えておく

StartupParameters.plist の作成

# cd /System/Library/StartupItems/CLAMAV
# vi StartupParameters.plist

-- 以下のファイルを作成
{
  Description    = "CLAMAV";
  Provides        = ("CLAMAV");
  Requires        = ("Resolver");
  OrderPreference    = "NONE";
  Messages =
  {
    start = "Starting ClamAV";
    stop  = "Stopping ClamAV";
    restart = "Restarting ClamAV";
  };
}
-- ここまで

Localizable.strings の作成

# cd /System/Library/StartupItems/CLAMAV/Resources/English.iproj
# vi Localizable.strings

-- 以下のファイルを作成
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
    <key>CLAMAV</key>
    <string>CLAMAV</string>
    <key>Starting ClamAV</key>
    <string>Starting ClamAV/string>
    <key>Stopping ClamAV</key>
    <string>Stopping ClamAV</string>
    <key>Restarting ClamAV</key>
    <string>Restarting ClamAV</string>
    <key>Service is disabled in /etc/hostconfig
        Unable to start</key>
    <string>Service is disabled in /etc/hostconfig
        Unable to start</string>
</dict>
</plist>
-- ここまで

hostconfig の修正

# vi /etc/hostconfig

-- ファイルの最後に下記の行を追加する
CLAMAV=-YES-
-- ここまで

clamav 起動

実行させるには下記のようにする。

# SystemStarter start "CLAMAV"

または Mac を再起動しても良い。

起動したら、/var/log/clamav 以下のログファイルを見て、起動時にエラーが起こっていないか確認しよう。エラーが出ていたら、改めて設定を確認しよう。

各ユーザーの設定

.procmailrc の修正

ここまでできたら、各ユーザーがメール受信時にウィルスチェックを行うように設定する。

下記の変更は各ユーザーに対して行う必要がある。

$ cd $HOME
$ vi .procmailrc

-- 以下黄色部分を追加
PATH=/usr/bin:/usr/local/bin:/opt/local/bin
LOCKFILE=$HOME/.lockmail
MAILDIR=$HOME/Library/Maildir
DEFAULT=INBOX/new
VIRUSDIR=Trash/new
#VIRUSDIR=/dev/null ... ウィルスメールを受信せず破棄する場合はこのコメント (#) を外す
#LOGFILE=$HOME/procmail.log

:0 wf
* ! ? /opt/local/bin/clamdscan --quiet -
| formail -i "Subject: !!Virus Detected by ClamAV!!"
:0 a:
*^Subject: !!Virus Detected by ClamAV!!
$VIRUSDIR

:0
SCORE=| /opt/local/bin/spamprobe receive
:0 wf
| formail -I "X-SpamProbe: $SCORE"
:0 a:
*^X-SpamProbe: SPAM
Trash/new

動作説明

ウィルスの定義ファイルは freshclamd によって 1 時間に 1 回の割合で自動的に更新される。

ウィルス付きのメールが送られてくると、メールのゴミ箱に “!!Virus Detected by ClamAV!!”というタイトルで送られる。手動で削除するなり、必要に応じて調べるなりしよう。もしくは .procmailrc の設定にてウィルスメールを受信せずそのまま破棄するようにすることもできる。


MacPortsを利用する

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger, PPC/Intel Mac 両機種での対応を確認)
Mac OS X 10.5 (Leopard)

はじめに

Mac OS のコア部分には Darwin が使われている。これはいわずと知れた UNIX をベースにしたシステム。そのため UNIX の豊富なソフトウェア資産が使えるが、一口に UNIX といってもそれぞれのプラットフォームごとに細かな違いがある。そのため、ほとんどの場合、それら UNIX ソフトウェアを Mac にて使用するには修正が必要になる。(別にこれは Mac に限ったことではないけれども。)このように個々のプラットフォームにソフトウェアを修正することを「ポーティング」と言う。Mac にもいくつかのポーティングプロジェクトが存在する。ここでは、Mac の代表的なポーティングプロジェクトである MacPorts (従来名: Darwinports) のインストール・利用方法を紹介する。

インストール

Xcode のインストール

まず Xcode をインストールしておく。インストール方法は下記のリンクを参照のこと。

port のインストール

port のダウンロード

※”port” とは、MacPorts を利用する際に使用するコマンドのこと。

downloadをクリック

  1. 下記リンクをクリックして、MacPorts のサイトに行く。
  2. すると左のサイトが表示されるので、赤枠で囲った Download をクリックする。


tar.bz2をクリック

  1. 赤で囲んだ部分をクリックして MacPorts のソースをダウンロードする。
  2. ダウンロードの後、自動的に解凍される。(ブラウザの設定によっては自動解凍されない。その場合はダブルクリックで解凍しておく)





port のコンパイル

先ほどダウンロードしたアーカイブファイルを使って、下記の手順でコンパイルを行う。

# cd ~/Downloads/MacPorts-1.6.0
	... ファイルの場所やファイル名は適宜自分の環境に合わせて
# ./configure
# make
# make install

port への path 設定

# vi /etc/bashrc

-- 下記の内容を bashrc 内に記述する
PATH=${PATH}:/opt/local/bin ... すでに PATH が定義されている場合、この行はその定義よりも下に書く

man path 設定

これは OS X 10.4 以前では必要ないのでその場合はここをクリックしてスキップ。

# vi /etc/manpaths

-- 下記の内容をファイルの一番下などに記述する
/opt/local/man ... すでに記述してある場合は不要

使い方


ポートリストのアップデート

MacPorts にて利用できるアプリケーションリストを最新にするには下記のコマンドを入れる。

# port -d selfupdate

パッケージのサーチ

あるアプリケーションパッケージが MacPorts に用意されているかを調べるには下記のようにする。

$ port search [パッケージ名]

パッケージをインストールする

アプリケーションパッケージをインストールするには、下記のようにする。

# port install [パッケージ名]

X.509証明書を作成する

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)
Mac OS X 10.5 (Leopard)




X.509 証明書を作成する

個人で使うだけなので、正式な証明書を申請するのではなく、自己署名したものを作成する。

# cd /System/Library/OpenSSL/certs/

# openssl genrsa -out server.key 1024
# openssl req -new -x509 -key server.key -out server.crt

(画面に従って黄色のようにキー入力が必要)
(中略)
Country Name (2 letter code) [AU]:JP ... 住んでいる国コード
State or Province Name (full name) [Some-State]:Hyogo ... 都道府県名
Locality Name (eg, city) []:Kobe ... 市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:personal use ... 個人使用なので
Organizational Unit Name (eg, section) []: ... 個人使用なのでブランク
Common Name (eg, YOUR name) []:貴方の名前を入力
Email Address []:貴方の e-mail アドレスを入力

作成できたら、下記のようにパーミッションを変更しておく。

# cd /System/Library/OpenSSL/certs/
# chmod 600 server.key
# chmod 600 server.crt