2008年7月24日木曜日

自宅サーバ構築 No.009(パケットフィルタ )

順番が逆ですが、公開する前にいわゆるパケットフィルタ系の設定をしておく必要があります。基本は TCP Wrapper と xinetd による対策と、iptables(Netfilter) による対策です。

それぞれの関係ですが、TCP Wrapper で判定された通信が、xinetd に渡されます。また、TCP Wrapper に渡る前に、iptables で判定されるようになっています。

外から入ってくるパケットは、iptables → TCP Wrapper → xinetd というルートで目的のアプリケーション(ssh/telnet/ftp 等)と通信します。

初期状態で、CentOS 5.2 の iptables は以下の状態です。

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp any
ACCEPT esp -- anywhere anywhere
ACCEPT ah -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns
ACCEPT udp -- anywhere anywhere udp dpt:ipp
ACCEPT tcp -- anywhere anywhere tcp dpt:ipp
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
REJECT は、reject-with icmp-host-prohibited の1行だけで、適切なエラーだけです。また、RH-Firewall-1-INPUT は、INPUT と FORWARD で使用されています。極々最低限の定義で、ほとんど許した後に、それ以外を拒否としているルールなので、iptables を適用していない状態と、ほとんど変わりません。

TCP Wrapper の初期設定は以下の状態です。
# cat /etc/hosts.allow
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#

# cat /etc/hosts.deny
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!

何も定義されていません。

iptables や TCP Wrapper は、例を元に、だいたいで設定をすることが多いのですが、ちょっと時間を掛けて、設定をじっくりやります。

2008年7月21日月曜日

自宅サーバ構築 No.008(ClamAVインストール)

Linux でも、アンチウイルスソフトは必要ということで、ClamAV(Clam AntiVirus) をインストールします。

既に、yum のリポジトリを追加してあるので、追加したリポジトリからインストールします。今回は DAG(RPMForge) を使用します。DAG 以外のリポジでは、clamav という名前で提供されているのですが、DAG では、clamd という名前で、複数パッケージがセットになっています。

いろんなサイトでも、clamd でのインストール例が掲載されていますので、そちらに合せてインストールします。

  1. インストール
    # yum --enablerepo=rpmforge install clamd
    * clamd/clamav/clamav-db がインストールされます。
  2. ClamAV起動
    # service clamd start
    Starting Clam AntiVirus Daemon: [ OK ]
    ちなみに、chkconfig はインストール直後で、以下の設定(on)になっています。
    # chkconfig --list clamd
    clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  3. ウイルスパターンアップデート
    # freshclam
  4. その他

2008年7月20日日曜日

自宅サーバ構築 No.007(yumリポジトリ設定)

yum の初期設定では、当たり前ですが、標準のリポジトリしか設定されていません。なので、いくつかのリポジトリは予め追加しておきます。

参考:Computer - CentOSのリポジトリを増やす

EPEL - FedoraProject
* How can I install the packages from the EPEL software repository?

# su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm'
:
# su -c 'yum -y install foo'

以下の通り、リポジトリが追加されます。
# ls -l epel*
-rw-r--r-- 1 root root 1054 4月 26 03:08 epel-testing.repo
-rw-r--r-- 1 root root 954 4月 26 03:08 epel.repo
DAG: RPM packages for Red Hat, RHEL, CentOS and Fedora
# rpm -Uvh http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

上記のようにしてもエラーが発生してしまいます。HTTP で失敗しているようです。wget してからrpm コマンドを実行します。

# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt

以下の通り、リポジトリが追加されます。
# ls -l *rpmforge*
-rw-r--r-- 1 root root 684 3月 9 2007 mirrors-rpmforge
-rw-r--r-- 1 root root 428 3月 9 2007 rpmforge.repo

一般的に DAG/RPMforge は、disable(enable=0)にしておくようなので、変更します。

# vi rpmforge.repo
:
#enabled = 1
enabled = 0
:

Safari for Windows

Safari って、Windowsでは、まだ第三勢力にも満たないと思うのですが、iTune をインストールした際に、同時にインストールされた Apple Software Update によって、Safari のインストールが促されたので、インストールしてみました。

アップル - Safari - ダウンロード

そもそもインストールしていないソフトウェアのアナウンスをするのはおかしいと思うのですが・・・

まあ、それはさておき、「それなりに使えます。」というのが感想です。

とりあえず、プロキシを頻繁に変更する使い方をする私にとって、IE のプロキシ設定をそのまま引き継いでいるのは、いい仕様です。これで、使用するための敷居が低くなったので、ちょくちょく使ってみようと思います。

ただ、Apple のコマーシャルページは、かなりいい加減です。ある意味、これが Apple の素晴らしさなのかも・・・

  1. 圧倒的なパフォーマンス
    SafariはMacとWindows PCで動作する最速Webブラウザです
    最速は言いすぎでしょう。

2008年7月19日土曜日

自宅サーバ構築 No.006(必要なツールの導入)

準備作業が多いですが、必要なツールのインストールはやってしまいます。

  1. screen
    • インストール可能か確認
      # yum info | grep -i ^name | grep -i screen
      Name : gnome-screensaver
      Name : screen
      Name : xfce4-screenshooter-plugin
      Name : xscreensaver
      Name : xscreensaver-base
      Name : xscreensaver-extras
      Name : xscreensaver-extras-gss
      Name : xscreensaver-gl-base
      Name : xscreensaver-gl-extras
      Name : xscreensaver-gl-extras-gss
    • インストール
      # yum install screen
  2. compress
    # yum install ncompress
  3. ntp
    # yum install ntp

    # vi /etc/ntp.conf
    :
    #server 0.centos.pool.ntp.org
    #server 1.centos.pool.ntp.org
    #server 2.centos.pool.ntp.org
    ntp.jst.mfeed.ad.jp
    :

    # ntpdate ntp.jst.mfeed.ad.jp

    # chkconfig --list ntpd
    ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
    # chkconfig ntpd on
    # chkconfig --list ntpd
    ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

    # /sbin/service ntpd start
    ntpd を起動中: [ OK ]
  4. その他

自宅サーバ構築 No.005(SELinux無効)

SELinuxは、Red Hat Enterprise Linux、Fedora、CentOS 等では、標準でインストールされます。ファイルシステムもそれ用になっています。本来なら、インストールするかどうかを選択できるといいのですが、インストールされてしまいます。

でも、使いたくありません。随分こなれてきましたが、使わないといけない必然性はありません。

とりあえず、以下の手順で、無効にしておきます。

  1. SELinux の状態を確認
    # cat /etc/sysconfig/selinux | grep ^SELINUX=
    SELINUX=enforcing ← enforcing であれば有効状態です。
    # getenforce ← コマンドでも確認可能です。
    Enforcing
  2. /etc/sysconfig/selinux を編集
    # vi /etc/sysconfig/selinux
    :
    SELINUX=disabled ← enforcing を disabled に変更
    :
    以下の方法で、
    # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  3. システム再起動
    # shutdown -r now
  4. SELinux の状態を確認(システム再起動後)
    # cat /etc/sysconfig/selinux | grep ^SELINUX=
    SELINUX=disabled ← disabled であれば無効状態です。
    # getenforce ← コマンドでも確認可能です。
    Disabled

自宅サーバ構築 No.004(yum設定)

とりあえず一休みというわけではないのですが、最少構成のため、これから必要なパッケージは全てインストールしていくことになります。ということで、yum の設定を済ませておきます。

  1. yum の キャッシュディレクトリを掃除
    # yum clean all
    Cleaning up Everything
  2. yum-fastestmirror をインストール
    fastestmirror で最もアクセスしやすいミラーサイトを自動選択してくれるようになります。
    # yum install yum-fastestmirror
  3. アップデート可能なパッケージをすべて更新
    最少構成でも結構時間が掛かります。
    # yum update
まずは、このくらいでいいでしょう。標準のリポジトリにないパッケージをインストールしたりする場合、リポジトリを変更したりする必要がありますが、それは後程ということで。

2008年7月18日金曜日

自宅サーバ構築 No.003(Wheel設定)

SSHでのログインを、root ログイン禁止、パスワード認証禁止、公開鍵認証のみ許可設定しましたが、もうひと工夫必要です。

一般ユーザで、root になれるユーザを制限することで、悪意をもった一般ユーザが root に昇格することを避けるため、指定したユーザのみ root になれるようにします。一般的にいう Wheel 設定です。

  1. wheel グループへ一般ユーザ(hoge)を追加
    # cat /etc/group | grep wheel
    wheel:x:10:root
    # usermod -G wheel hoge
    # cat /etc/group | grep wheel
    wheel:x:10:root,hoge
  2. PAM設定
    /lib/security/pam_wheel.so が存在することを確認します。
    存在しない場合、インストールが必要です。
    # vi /etc/pam.d/su
    :
    #auth required pam_wheel.so use_uid
    auth required pam_wheel.so use_uid ← コメントを外す
    :
    特にシステム再起動などを行わなくても、設定は反映されます。
これで、特定のユーザ以外は root になれません。Linux は標準状態で多くのユーザが追加されており、パスワード設定などされていないので、原則使えないので問題は少ないのですが、それらのユーザがクラックされて、そこから root に昇格なんてことは最小限にできます。

弱点と言えば、/etc/group を眺めると root になれるユーザがわかってしまうということでしょうか。

2008年7月17日木曜日

TeraTerm No.001(自動的に終了しない)

TeraTerm の初期設定は、セッションが切断されると TeraTerm のウインドウが終了してしまいます。ログイン時のちょっとした間違い(IPアドレス、パスワードなど・・・)でも終了されてしまうのですが、再度、ログインしたい場合は、非常に不便です。その場合、以下の設定をしておくことで、セッション切断時にウインドウを終了しないようになります。

  • TeraTerm で、[設定]-[TCP/IP]を選択します。
  • [Tera Term: TCP/IP設定]画面で、‘自動的にウィンドウを閉じる’のチェックを外し、[OK]をクリックします。
  • 設定した内容を次回以降も継続して使いたい場合は、[設定]-[設定の保存]を選択し、設定を保存しておきます。(通常は TERATERM.INI を上書きします。)

2008年7月16日水曜日

自宅サーバ構築 No.002(SSH設定)

とりあえずCentOSをインストールし終わりましたが、当然、このままでは公開できません。まずは、いくつかセキュリティ面で設定する必要があります。

まずは、SSHに必要な設定を行います。

  • rootでのログインを禁止する
  • パスワード認証を禁止する
  • 公開鍵認証のみ許可する
まず、インストール直後は、SSHがインストールされており、リモートからrootでログイン可能な状態なので、リモートからrootでログインします。

※以下、PuTTYで操作しています。

以下の通り、最初は警告が表示されますが、そのまま[はい]をクリックします。


  1. root 以外のユーザーを作成
    rootでのログインを禁止するわけですから、root以外のユーザーを作成する必要があります。
    # useradd -d /home/hoge -c HOGE -u 1001 hoge
    # passwd hoge
    Changing password for user hoge.
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
  2. root でのログインを禁止
    以下の設定を実施し、rootでログインできないこと、作成したユーザーでログインできることを確認します。
    # vi /etc/ssh/sshd_config
    :
    #PermitRootLogin yes ← 標準はデフォルトがyes
    PermitRootLogin no
    :

    # service sshd restart ← 設定反映
    sshd を停止中: [ OK ]
    sshd を起動中: [ OK ]
  3. 公開鍵作成
    パスワード認証を禁止する前に公開鍵認証を設定します。公開鍵認証前にパスワード認証を禁止するとログインできなくなっていまいますから・・・ :-)
    $ ssh-keygen -b 2048 -t rsa -C hogehoge
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/hoge/.ssh/id_rsa):
    Created directory '/home/hoge/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/hoge/.ssh/id_rsa.
    Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
    The key fingerprint is:
    xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx hogehoge
  4. 公開鍵を authorized_keys へ追加
    $ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
    $ chmod 600 authorized_keys ← パーミッションを600に変更
    $ ls -l authorized_keys
    -rw------- 1 centuser centuser 398 7月 17 09:20 authorized_keys
    $ rm id_rsa.pub ← 不要なので削除
  5. id_rsa を保存
    id_rsa をターミナルソフトを起動するクライアントへ保存します。これがなくなってしまうと公開鍵の作成からやり直しになるので要注意です。
  6. id_rsa の変換(PuTTY の場合)
    TeraTerm 等では、id_rsa がそのまま使えるので、変換は特に必要ありません。PuTTY の場合は必要になるので、以下の通り変換しておきます。
    • PuTTYgen を起動します。
    • [PuTTY Key Generator]画面で、[Conversions]-[Import key]で保存した id_rsa を開きます。
    • [PuTTYgen: Enter Passphrase for key]画面で、パスフレーズを入力します。
    • [PuTTY Key Generator]画面で、[Save private key]をクリックし、id_rsa.ppk を作成します。
  7. ターミナルソフトで公開鍵認証で接続
    ターミナルソフトで公開鍵認証で接続できることを確認します。
  8. パスワード認証を禁止
    公開鍵認証での接続が成功することを確認して、パスワード認証を禁止します。
    設定後、パスワード認証できないことを確認します。
    # vi /etc/ssh/sshd_config
    :
    #PasswordAuthentication yes ← 初期設定では yes なのでコメントアウト
    PasswordAuthentication no
    :

    # service sshd restart ← 設定反映
    sshd を停止中: [ OK ]
    sshd を起動中: [ OK ]
これで、リモートからは、root 以外のユーザーで、公開鍵認証の設定可能なターミナルからのみログインできるようになりました。

ひとつ気になるのは、PuTTY でパスワード認証をチャレンジすると
No supported authentication methods available
と表示されて、拒否されます。動作は満たしていますが、パスワード認証を禁止しているということがわかってしまいます。これはできれば隠匿したいですね。パスワード認証時のエラーを返すほうがいいと思いますが、そういう動作をさせると問題あるんでしょうかね。

PuTTY No.001(できるだけマウスを使わない)

PuTTYを使っていると不便なことがいくつかあります。ターミナルソフトとしての基本はできているのですが、シンプル故に何とやらです。

標準の設定のままではマウスを多用しなければいけません。なので、以下が、できるだけマウスを使わないようにするための設定です。

  • システムメニューの表示
    システムメニューは頻繁じゃないですが、‘新しいセッション’、‘セッションの複製’、‘フルスクリーン’そして、‘設定の変更’と使うメニューは多いです。しかし、このシステムメニューは、ウインドウの左上をマウスでクリックしなければなりません。そこで、システムメニューを[Alt]+[Space]で表示できるようにします。
    1. PuTTY起動時に表示される[PuTTY Configuration]画面で設定します。
    2. [カテゴリ]-[ウインドウ]-[動作]で、以下の項目をチェックします。
      ■ALT-Space でシステムメニューを表示する
      ■Alt-Enter でフルスクリーンにする
  • ペースト(貼り付け)
    この手のターミナルソフトは、マウスの右クリックで、クリップボードの内容を貼り付けることができます。そして、同様の操作が[Alt]+[v]等のショートカットでペーストできますが、PuTTYでは、それができません。かつ、いわゆるメニューがないので、ショートカットが明示されていないので、分かりづらいのですが、[Shift]+[Ins]でペースト可能です。一応、ヘルプにも以下の通り記述があります。
    A.6.6 How do I copy and paste between PuTTY and other Windows applications?

    Copy and paste works similarly to the X Window System. You use the left mouse button to select text in the PuTTY window. The act of selection automatically copies the text to the clipboard: there is no need to press Ctrl-Ins or Ctrl-C or anything else. In fact, pressing Ctrl-C will send a Ctrl-C character to the other end of your connection (just like it does the rest of the time), which may have unpleasant effects. The only thing you need to do, to copy text to the clipboard, is to select it.

    To paste the clipboard contents into a PuTTY window, by default you click the right mouse button. If you have a three-button mouse and are used to X applications, you can configure pasting to be done by the middle button instead, but this is not the default because most Windows users don't have a middle button at all.

    You can also paste by pressing Shift-Ins.

2008年7月15日火曜日

自宅サーバ構築 No.001(CentOSインストール)

特に何をするわけでもないのですが、自宅サーバを構築してみたいと思います。

あまったPCが1台あるので、構築してみます。電気代が思った以上に掛かるようなら運用しないかもしれません。その程度の意気込みです。 :-)

サーバ用途なので、まずは最少インストールです。以下のページを参考にしました。

CentOS5 インストール方法

以下、netinstall版のCDを使用しています。

  1. boot: で [Enter] を押します。
  2. [Choose a Language]画面で、‘Japanese’を選択し、[OK]を押します。
  3. [Language Unavailable]画面で、[OK]を押します。
  4. [Keyboard Type]画面で、‘jp106’を選択し、[OK]を押します。
  5. [Installation Method]画面で、‘FTP’を選択し、[OK]を押します。
  6. [Networking Device]画面で、使用するNICを選択し、[OK]を押します。
  7. [Configure TCP/IP]画面で、以下の通り設定し、[OK]を押します。
    [*] Enable IPv4 support
    (*) Manual configuration
  8. [Manual TCP/IP Configuration]画面で、IPv4 address、Gateway、Name Serverを設定し、[OK]を押します。
  9. [FTP Setup]画面で、以下の通り設定し、[OK]を押します。
    FTP site name: ftp.riken.jp
    CentOS directory: /Linux/centos/5/os/i386
  10. [次]をクリックします。
  11. パーティション設定で、‘カスタムレイアウトを作成します。’を選択し、[次]をクリックします。
  12. 適当にパーティションを設定し、[次]をクリックします。
  13. ブートローダ設定で、‘GRUBブートローダは、/dev/hda 上にインストールされます。’を選択し、[次]をクリックします。
  14. ネットワークの設定で、FTPサイトを指定した時の設定が引き継がれているので、ホスト名以外は、そのままで、[次]をクリックします。ホスト名は、適当に設定します。
  15. 時刻設定で、‘アジア/東京’を選択し、‘システムクロックでUTCを使用’をチェックし、[次]をクリックします。
  16. パスワード設定で、適当なパスワードを指定し、[次]をクリックします。
  17. パッケージ選択画面で、すべてのチェックを外し、‘今すぐカスタマイズする’を選択し、[次]をクリックします。
  18. パッケージ選択画面で、以下の通りパッケージを選択し、[次]をクリックします。
    • アプリケーション
      ■エディタ
    • 開発
      ■開発ツール
    • ベースシステム
      ■ベース (firstboot-tuiを明示的に外す)
      ※firstboot-tuiは、最初にCentOSのセットアップをするためのパッケージ
    • 言語
      ■イギリス語のサポート
      ■日本語のサポート
  19. [次]をクリックします。
  20. [再起動]をクリックします。
インストールとしては、以上です。パッケージの内容等は精査できていないので、インストール後の設定で、追加設定をしながら確認します。

2008年7月13日日曜日

Windows仮想デスクトップ No.002(VirtuaWin)

VirtuaWinのオプション設定ですが、ホットキーの設定だけは、標準では足りないので、追加で設定が必要だと思います。

以下、設定例です。


Move to next
Move to previous
Move to desktop 1
Move to desktop 2
Move to desktop 3
Move to desktop 4

上の4つを追加しています。標準だと、ワークスペースの切り替えが、Left、Right、Up、Downしかりませんが、ここが足りません。(desktop # の指定は、ワークスペース分必要です。)

VirtuaWin - Virtual Desktops for Windows

Windows仮想デスクトップ No.001(VirtuaWin)

Windowsのデスクトップは使えば使う程、狭く使いにくくなるわけですが、そういった場合、仮想デスクトップを使うとデスクトップの整頓がしやすくなります。そこで、おすすめは、VirtuaWinです。

VirtuaWin - Virtual Desktops for Windows

軽いですし、動作も問題ないです。プラグインも多数あるようです。

とりあえず、以下の設定はしておいたほうがいいと思います。

  • [General]-[Enable desktop wrapping] Check
    この設定をしないと、ホットキーによる切り替えがサイクリックに行われないので不便です。
    この設定をしておくと、左端まで切り替えて、更に左へ切り替えると右端に戻るようになります。

2008年7月11日金曜日

ssh鍵認証 No.001(Linuxで鍵作成)

sshで鍵認証する場合の一例です。

  1. ssh-keygen で id_rsa と id_rsa.pub を作成します。
    適当なパスフレーズを入力して作成します。
    ssh-keygen -t rsa -b 2048
  2. id_rsa.pub を authorized_keys に追加します。
    cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
  3. id_rsa を 接続するターミナルソフト側で読み込みます。
    • PuTTYでは、id_rsa を PuTTYgen で private key として保存します。
  4. ターミナルソフトで接続時に id_rsa を指定して接続します。
    • PuTTYでは、private key として保存した、id_rsa.ppk 等を指定します。
    • TeraTermでは、id_rsa をそのまま鍵として指定します。
ちなみに、鍵認証を利用するメリットは、何でしょうか。まあ、「鍵を持ってないと認証を受けられない」という当たり前のことに加え、パスワードがネットワーク上を流れないことでしょうか。パスワードがネットワーク上を流れないことについては、sshを使っている時点で、暗号化されている為、個人的には必要十分だと思いますが、それよりもセキュリティ的には堅牢です。(解読対象がネットワークを流れないわけですから。)

といってしまうと、確かに鍵認証は、パスワード認証に比べて、より強固なセキュリティを提供してくれるわけですが、大きな落とし穴があります。それは、パスワード認証と併用していると、鍵認証よりも低いセキュリティレベルの認証ができてしまい、パスワード認証可能な環境であれば、「鍵を持っていなくても認証ができる」→「誰でもアタックできる」状態となってしまいます。

以下の様に、sshd_config で、パスワード認証を禁止しておかないとメリットは半減です。
PasswordAuthentication no

2008年7月6日日曜日

Firefox No.009(Stylish)

Y's Weblog B-Site: Firefox No.007(Gmailを固定ピッチで表示する)であったようなスタイルシートの編集には、Stylishが便利です。

Stylish :: Firefox Add-ons

このアドオンで、わざわざ深い階層のファイルを探して、作って、編集しなくても、URL毎(mail.google.comなど)に簡単にスタイルシートを設定できます。

また、‘このページのスタイルを検索’を使うと、表示中のページのスタイルシートで投稿されたものが参照できます。ほとんどが海外の情報なので、固定ピッチ、等幅なんてのは出てきません。たとえば、楽天なんかを表示して、検索してもNot styles found.です。

2008年7月4日金曜日

Thunderibird No.031(添付ファイルのアイコンを小さくする)

Thunderbirdで添付ファイルがアイコンで表示されますが、標準では大きめです。これを小さくする方法は以下の通りです。

  1. [ツール]-[オプション]を選択します。
  2. [オプション]画面-[詳細]-[一般]タブで、[設定エディタ]をクリックします。
  3. [about:config]画面で、‘フィルタ’に‘mailnews.attachments.display.largeView’を入力します。
  4. 表示された‘mailnews.attachments.display.largeView’をダブルクリックし、設定を以下の通り変更します。
    ‘true’→‘false’

家庭用UPSの選択

まず、家庭でUPSがいるのかどうかという点からして?ではありますが、あるに越したことはないです。

実際、これから雷の季節ですし、突然、瞬断も増えると思います。そんな時は、UPSがあれば・・・です。ノートブックパソコンなら関係ないわけですが。

OMRON BX35F 無停電電源装置(UPS)
OMRON BX35F 無停電電源装置(UPS)

この製品は、価格もそこそこ、容量もそこそこ、使い勝手もそこそこと及第点です。10,000円程度ですが、バッテリモジュールのホットスワップにも対応していますし、ユーティリティソフトもPowerAct Proが付属しています。PowerAct ProはLinuxにも対応しています。

BX50Fという上位モデルもありますが、バッテリは何れへたるもんですから、必要な容量からして、BX35Fで十分だと思います。

2008年7月2日水曜日

forを一行で書く

シェルでfor文を一行で書くと結構便利です。

基本は以下のように書くわけです。何らかの連続した動作をさせる時に重宝します。

for i in 1 2 3 4; do date; echo $i; done
例えば、そのままですが、決められたことを順番に動作させる場合、こんな感じです。
  • abc def ghi と順に表示
    $ for i in abc def ghi; do echo $i; done
    abc
    def
    ghi
  • host01 から host10 まで ping を発行
    $ for i in `seq -f "host%02.0f" 1 10`; do ping -c 1 $i; done
セミコロンの位置がややこしいですが、do と done の前にセミコロンと覚えておくとわかりやすいです。