2007/10/31

SELinuxのアクセス制御をデーモン単位に停止

SELinuxをすべて停止してしまう方法は、前の記事に書いた。では、デーモン毎にSELinuxのアクセス制御の有効・無効を変更するにはどうすればよいか?
コマンドsetsebool(8)を使用して、該当するブーリアン変数を適宜変更すればよい。例えば、httpdに関してSELinuxのアクセス制御を変更するには、以下の通り実行する(環境にもよるが、実行には数秒かかる)
# setsebool -P httpd_disable_trans=1
#
なお、-Pオプションは、再起動後もこの設定を保持せよ(persistant)、といことを指定するためのもの。
これ以外のデーモンについては、getsebool(8)コマンドを使って調査する。
# getsebool -a
NetworkManager_disable_trans --> off
allow_cvs_read_shadow --> off
<<略>>
oddjob_disable_trans --> off
oddjob_mkhomedir_disable_trans --> off
<<略>>
ypxfr_disable_trans --> off
zebra_disable_trans --> off
#
例えば、oddjobに関してはoddjob_disable_transおよびoddjob_mkhomedir_disable_transが関係しているだろうことが判る。

Google Analyticsをつらつらと眺めていると、検索語順位に『selinux 停止』というのが割と上位に来ている。これはおそらく、『Red Hat Cluster: SELinuxを停止』にヒットしているんだろうと思うが、需要が多いようなので、これ関連で一本書いてみた、というわけだ。

2007/10/30

GDMログイン画面のrestart・shutdownボタンを無効化

前に『GDMログイン画面からshutdownボタンを消す』という記事を書いた。
この方法は、CentOS 5(やRHEL 5(未確認))でも有効。
ただし、再起動・シャットダウンボタンの表示は消えない。これらのボタンを押すと、再起動・シャットダウンを確認するダイアログが表示され、これを承認すると、GDMのログイン画面が再起動されるようだ。
なんでやねん。

2007/10/29

PowerEdge 2650ではIPMIフェンス不能

以前の記事『OpenIPMI・その1・概要』で、気楽に
DRACもクラスタ(RHCS)のフェンス手段として使うことができたが、当然IPMIもフェンス手段として使うことができる。
と書いたが、うまく行かなかったことの報告。解決はできてない。

手元のDELL PowerEdge 2650にOpenIPMIを導入し、IPMIフェンスを試みたところ、失敗してしまう
$ fence_ipmilan -a サーバ名 -l IPMIユーザ名 -p "IPMIパスワード"
Rebooting machine @ IPMI:サーバ名...Failed
$
原因を探るべく、冗長メッセージオプション(-v)を付けて実行してみる。
$ fence_ipmilan -v -a サーバ名 -l IPMIユーザ名 -p "IPMIパスワード"
Rebooting machine @ IPMI:サーバ名...Spawning: '/usr/bin/ipmitool -I lan -H サーバ名 -U IPMIユーザ名 -P IPMIパスワード -v chassis power status'...
Failed
$
コマンドchassis power statusの実行に失敗しているらしい。実際にipmilanコマンドを直接実行してみると、
$ ipmitool -I lan -H サーバ名 -U IPMIユーザ名 -P "IPMIパスワード" chassis power status
Get Chassis Power Status failed: Invalid command
$ ipmitool -I lan -H サーバ名 -U IPMIユーザ名 -P "IPMIパスワード" chassis power off
Chassis Power Control: Down/Off
$
確かに、chassis power statusの実行には失敗したが、chassis power offは成功して、サーバの電源を切ることができた。

どうも、PowerEdge x6xx世代のファームウェアでは、chassis power statusが実装されていないようだ。
DELLのレポジトリには追随してるんだけどなあ。

2007/10/27

VISIO: スピードによって太さが変わるネットワークコネクタ

ラック図に使えるマスタシェイプの作り方シリーズに続いて、VISIOの小技。

Visioでネットワーク図を作るとき、機器と機器をコネクタで結ぶが、このコネクタにカスタムプロパティでスピード・デュプレックス・メディアタイプを定義し、スピードに従って線の太さが自動的に変化する機能を追加する。以下の通り作業する。
Visioでネットワーク図作っているところ。ファイアウォールとルータが動的コネクタで接続されている。
ツールバーからコネクタツールを選択し、機器間をドラッグすると、動的コネクタで接続される。
動的コネクタにカスタムプロパティを定義するために、カスタムプロパティウィンドウを表示する。メニューバーから「表示(V)」→「カスタム プロパティ ウィンドウ(M)」を選択する。
カスタムプロパティウィンドウが表示される。左の例では、動的コネクタが選択されているので、その動的コネクタのカスタムプロパティがカスタムプロパティウィンドウに表示されるはずだが、動的コネクタにはカスタムプロパティが定義されていないため、「カスタム プロパティなし」と表示されている。
動的コネクタ選択するためにクリックし、カスタムプロパティウィンドウを右クリックし、メニューから「プロパティの定義(D)」を選択する。
「カスタム プロパティの定義」画面が表示される。
スピード・デュプレックス・メディアタイプの三つを定義するが、まずはスピードから。以下の通り入力し、「新規作成(E)」ボタンをクリックする。
  • ラベル(L): Speed
  • 種類(T): 固定リスト
  • 書式(F): 10M;100M;1G;10G
  • 値(V): 100M
続いてデュプレックス。以下の通り入力し、「新規作成(E)」ボタンをクリックする。
  • ラベル(L): Duplex
  • 種類(T): 固定リスト
  • 書式(F): 全二重;半二十
  • 値(V): 全二重
最後にメディアタイプ。以下の通り入力し、「OK」ボタンをクリックする。
  • ラベル(L): Media Type
  • 種類(T): 固定リスト
  • 書式(F): T;SX;LX;ZX
  • 値(V): T
カスタムプロパティウィンドウに、新たに定義されたカスタムプロパティが表示されている。各プロパティは、ドロップダウンリストから値を選ぶことができる。
スピードによって線の太さが変わるよう、動的コネクタのシェイプシートを編集するため、動的コネクタを選択した状態で、メニューバーから「ウィンドウ(W)」→「シェイプシートの表示(S)」を選択する。
画面下部にシェイプシートが表示される。
シェイプシートの中の、「Custom Properties」セクションに注目。カスタムプロパティSpeedは、「Prop.Row_1」という名前で参照できることが判る。
シェイプシートを下へスクロールしていくと、「Line Format」セクションが見つかる。この中の「LineWeight」欄に、
=IF(Prop.Row_1="10M",0.25 pt,IF(Prop.Row_1="100M",0.72 pt,IF(Prop.Row_1="1G",1.5 pt,3 pt)))
と入力する。Prop.Row_1で参照されるカスタムプロパティSpeedの値によって、値を変えている。例えば、Speedが100Mのときは、0.72ptになる。
シェイプシート右上「×」をクリックし、シェイプシートを閉じる。
実際にスピードを1Gに変更してみよう。動的コネクタのカスタムプロパティSpeedのドロップダウンリストから1Gを選ぶ。
線が太くなる。


これでスピードによって太さの変わる動的コネクタを作成できた。
ただし、これをこのままコピーしてもこの機能は引継がれない。
機能を引継ぐためには、この動的コネクタを、ステンシルにマスタシェイプとして登録する必要がある。ステンシルへのマスタシェイプの登録は、前回の記事を参照して欲しい。

2007/10/25

VISIO: ラック図に使えるマスタシェイプの作り方・その4・マスタシェイプの作成

2012.9.6(木)追記:
ベクタ画像を利用する方法を公開した。ベクタ画像の方が一般に高画質が期待できる。

ラック図に使えるマスタシェイプの作り方シリーズの第四回。

ここでは、既存のマスタシェイプ「棚」に前回準備した正面図を貼り付けることで、新しいマスタシェイプを手抜き作成する。
手元にVisio 2003しかないので、Visio 2003での実行例となります。あしからず。
・Visioを起動すると「図面の種類の選択」画面が表示される。
「ネットワーク図」から「ラック図」を選択する。
新規ラック図が作成される。
右の「図形」ウィンドウから「ラックマウント式機器」ステンシルを選択する。
ステンシル内の「棚」マスタシェイプをドラッグし、図面上に置く。
・メニューバーから「ファイル(F)」→「図形(E)」→「個人用図形(W)」→「お気に入り」を選択する。
「お気に入り」ステンシルが「図形」ウィンドウに追加される。
先ほど図面上に置いた「棚」シェイプをドラッグし、このステンシル上に置く。
「お気に入り」ステンシルの編集の可否を問うダイアログが表示されるので、「はい(Y)」をクリックする。
棚シェイプが、新たにマスタシェイプとして「お気に入り」ステンシルに登録された(ステンシルの右上に編集中を示すフロッピーディスクアイコンが表示されている)
名前が「Master.番号」となっているので、これ変更する。マスタシェイプを右クリックし、メニューから「マスタシェイプ名を変更(R)」を選択する。
適切な名前に変更する。ここでは、「CentreCOM GS924S」とした。
続いて、このマスタシェイプを編集する。マスタシェイプをダブルクリックするか、マスタシェイプを右クリックし、メニューから「マスタシェイプの編集(E)」→「マスタシェイプの編集(E)」を選択する。
「お気に入り」ステンシル内の「CentreCOM GS924S」マスタシェイプを編集する画面が表示される。
この段階で正面図を置くこともできるが、それではラックへ接着できないマスタシェイプになってしまう。
そこで、この「棚」グループのさらに編集し、その中に画像を配置する。
まずは、このグループをクリックし、選択状態にする。画面左には、「図形のサイズ/位置/回転」ウィンドウが表示されるはずだ(「図形のサイズ/位置/回転」ウィンドウを非表示にしていなければ)
メニューバーから「編集(E)」→「棚を開く(O)」を選択する。
「棚」グループを編集する画面が表示される。
このグループの中に、前に作成した正面図を置く。
メニューバーから、「挿入(I)」→「図(P)」→「ファイルから(F)」を選択する。
「図の挿入」ウィンドウから前に作成した正面図を選択する。
正面図が挿入されるが、サイズが調整されていないため、大きく表示されている。
これを修正するために、画面左の「図形のサイズ/位置/回転」ウィンドウに正しいサイズを入力する。
もし「図形のサイズ/位置/回転」ウィンドウが表示されていなければ、メニューバーから「表示(V)」→「図形のサイズ/位置/回転(S)」を選択すればよい。
「図形のサイズ/位置/回転」ウィンドウに正しい幅と高さを入力する。メーカの製品情報ページからダウンロードしたカタログに「外形寸法 441(W)× 235(D)× 44(H)mm」と記載されているので、この数値を入力する。
正面図が、棚の図形からはみ出さないように位置を調整する。
調整後、画面右上の「×」をクリックして、編集を終了する。
マスタシェイプの編集画面に戻る。
マスタシェイプの編集を終了するため、画面右上の「×」をクリックする。
「CentreCOM GS924S」マスタシェイプの更新の可否を問うダイアログが表示されるので、「はい(Y)」をクリックする。
編集結果を保存するため、画面左「図形」ウィンドウ内の「お気に入り」ステンシル右上に表示されているフロッピーディスクアイコンをクリックする。
このマスタシェイプは、他のマスタシェイプと同様、図面上にドラッグして使うことができる。ラックへ接着することも可能だ。
これで一応は使えるラックマウント式マスタシェイプを作ることができた。
ただ、このマスタシェイプには、たのラックマウント式マスタシェイプに定義されている、「ネットワーク名」や「IPアドレス」等のカスタムプロパティが定義されていないし、ポートへコネクタを接続することもできない。
これらへの対処については、別の機会に解説する。

VISIO: ラック図に使えるマスタシェイプの作り方・その1・概要
VISIO: ラック図に使えるマスタシェイプの作り方・その2・ツールのインストール
VISIO: ラック図に使えるマスタシェイプの作り方・その3・正面図の準備
VISIO: ラック図に使えるマスタシェイプの作り方・その4・マスタシェイプの作成

VISIO: ラック図に使えるマスタシェイプの作り方・その3・正面図の準備

2012.9.6(木)追記:
ベクタ画像を利用する方法を公開した。ベクタ画像の方が一般に高画質が期待できる。

ラック図に使えるマスタシェイプの作り方シリーズの第三回。

PDFから正面図を切り出す。今回は、CentreCOM GS924Sを例に説明する。

まず、製品情報のウェブページにアクセスする。「データシートPDF」というリンクがあるので、ここをクリックし、PDFファイルgs900sc.pdfをダウンロードする。
Acrobat Readerなどで内容を確認すると、二ページ目の下の方に正面図が載っていることが確認できる。

PDFファイルをビットマップ画像に変換する。解像度は、印刷を考慮し、1200dpiとした(オプション-r 1200)。コマンドプロンプトを起動し、PDFファイルを保存したフォルダに移動し、以下の通り作業する。
C:作業フォルダ>gswin32c -q -r1200 -sDEVICE=png16m -dFirstPage=2 -dLastPage=2 -o gs900sc.png gs900sc.pdf
PCの性能にもよるが、実行には数分かかるかもしれない。
#古いバージョンでは、-o ファイル名オプションが実装されていない。その場合は、-sOutputFile=ファイル名 -dNOPAUSE -dBATCHで置き換えればよい。
出来上がった画像を確認する。
C:作業フォルダ>identify gs900sc.png
gs900sc.png PNG 9921x14031+0+0 DirectClass 8-bit 1.3mb 6.499u 0:07
横9921ドット、縦14,031ドットの画像であることが解る。
この大きさの画像の場合、(PCの性能にもよるが)通常のペイントソフトでは、編集困難だ。そこで、前処理としてこの画像を大雑把に切り出す。画像の座標は、左上が(0,0)だ。PDF画像を見ながら、適当な数値を決める。以下の例では、座標(4000,9000)を左上とする大きさ6000×1000の長方形領域を切り出そうとしている。実際には、5921×1000の領域が切り出されている。
C:作業フォルダ>convert -crop 6000x1000+4000+9000 gs900sc.png gs924s-0.png
C:作業フォルダ>identify gs924s-0.png
gs924s-0.png PNG 5921x1000+0+0 DirectClass 8-bit 52kb 0.290u 0:01
切り出された画像(gs924s-0.png)を、GIMPを使って更に精密に切り出す(もちろん、他の画像処理ツールを使ってもよい)。作成したgs924s-0.pngを開くと、画像が表示されない場合がある(その旨、警告が表示される)が、メニューバーから「画像(I)」 ->「 キャンバスをレイヤーに合わせる(I)」を実行すればよい。
切り出された画像には、まだ無駄な部分があるので、これを除去する。また、説明のための引き出し線も除去した方がいいかもしれない。これらの手順については、GIMPのマニュアルや、参考書を参照して欲しい。
切り出したところ。面取りの部分と引き出し線も除去している。
正面図の完成品。1200dpiの高品質画像だ。

VISIO: ラック図に使えるマスタシェイプの作り方・その1・概要
VISIO: ラック図に使えるマスタシェイプの作り方・その2・ツールのインストール
VISIO: ラック図に使えるマスタシェイプの作り方・その3・正面図の準備
VISIO: ラック図に使えるマスタシェイプの作り方・その4・マスタシェイプの作成

VISIO: ラック図に使えるマスタシェイプの作り方・その2・ツールのインストール

2012.9.6(木)追記:
ベクタ画像を利用する方法を公開した。ベクタ画像の方が一般に高画質が期待できる。

ラック図に使えるマスタシェイプの作り方シリーズの第二回。

VISIO上でマスタシェイプを作成する前に、まずラックマウント機器の正面図を準備する。正面図は、いろんな方法で作ることができる。Visioのシェイプを組合せて作るという方法もあるが、手間がかかり過ぎる。既にある画像を流用する方が楽だ。

たいていのラックマウント機器は、メーカのウェブページで画像が準備されている。この画像を使うという方法はあるのだが、いかんせんウェブページの画像は解像度が荒く、印刷には不向きだ。
機器が手元にあれば、デジタルカメラで撮影する方法もあり得る。しかし、意外にモノ撮りは難しい。歪みを補正したりするのも容易ではない(と言うほどでもないけど)

そこで、メーカのホームページに置いてあるPDFファイルの絵を流用することにする。

PDFから正面図を切り出すには、まず、必要なページをGhostscriptでビットマップ画像に変換する。印刷に堪える解像度にすると、ペイントツールでは扱いにくいサイズになるため、次にこれをImageMagickで大雑把に切り出す。最後にペイントツールを用いて精密に切り出す。ここではGIMPを用いた。

ここで使うソフトウェアのインストールについては、それぞれのリンク先を参考にして欲しい。
これらのソフトをインストールした後、コマンドプロンプト(cmd.exe)から利用できるよう、環境変数のPATHを修正する。
管理者権限でログインし、「スタート」ボタンから、「マイコンピュータ」を右クリックし、メニューから「プロパティ(R)」を選択する。
「システムのプロパティ」画面が表示されるので、「詳細設定」タブをクリックし、「環境変数(N)」ボタンを押す。
「環境変数」画面が表示されるので、「システムの環境変数(S)」の中の変数Pathを選択し、「編集(I)」ボタンを押す。
「システム編集の編集」画面が表示されるので、「変数値(V)」欄を編集し、次のパスを追加する。各パスは、セミコロン(;)で区切られている。
  • c:\program files\imagemagick-6.0.1-q16;
  • c:\gs\gs8.54\bin;c:\gs\gs8.54\lib;
バージョン番号は、インストールしたソフトウェアのバージョンによって変更する。ImageMagickのパスは、c:\WINDOWS\system32より前のに挿入しなければならない(c:\WINDOWS\system32\convert.exeとぶつかるため)

VISIO: ラック図に使えるマスタシェイプの作り方・その1・概要
VISIO: ラック図に使えるマスタシェイプの作り方・その2・ツールのインストール
VISIO: ラック図に使えるマスタシェイプの作り方・その3・正面図の準備
VISIO: ラック図に使えるマスタシェイプの作り方・その4・マスタシェイプの作成

VISIO: ラック図に使えるマスタシェイプの作り方・その1・概要

2012.9.6(木)追記:
ベクタ画像を利用する方法を公開した。ベクタ画像の方が一般に高画質が期待できる。

個人的には、Microsoft Visioはエンジニアの道具足りえる、すばらしいソフトだと評価している。仕事でもよく使っている。
というわけで、いつもはLinux系のことばかり書いている検閲Techだが、今回はVisioについて書いてみたい。今回の目標は、ラック図に使えるマスタシェイプを自前で作成することだ。

Visioを使って作成できる図にラック図がある。ラック図とは、サーバやネットワーク機器・その他を搭載した19インチラックの正面・背面からの見取り図のことだ。
ラック図で使用する機器等のマスタシェイプは、「ラックマウント式機器」ステンシルに含まれている。しかし、ここに含まれていないものもある。例えば、このステンシルにはファイアウォールが含まれていない。また、サーバは含まれているが、例えばIBM System x3455、というような機器固有のマスタシェイプは含まれていない。
これらについては、各メーカが無料でステンシルを配布している場合もある(参考)。しかし、メーカが準備していない機種についてはどうするか?有料のステンシルを購入するという手もあるが、ここでは自分で作る方法を紹介する。

手順は、次の段階に分かれる。
  1. ツールのインストール
  2. 正面図(あるいは背面図)の準備
  3. マスタシェイプの作成
正面図の準備では、PDFカタログから抽出する方法を紹介する。
マスタシェイプの作成では、「ラックマウント式機器」ステンシルの「棚」マスタシェイプを加工して作る方法を紹介する。

VISIO: ラック図に使えるマスタシェイプの作り方・その1・概要
VISIO: ラック図に使えるマスタシェイプの作り方・その2・ツールのインストール
VISIO: ラック図に使えるマスタシェイプの作り方・その3・正面図の準備
VISIO: ラック図に使えるマスタシェイプの作り方・その4・マスタシェイプの作成

2007/10/16

DRACユーザ・パスワードの変更

前の記事『Dell Remote Access ControllerへのTELNET接続』ではサラっと流してしまったが、DRACのユーザ名・パスワードが不明の場合どうするか、つまり、DRACのユーザ管理はどうなっているかについて。

DRACのユーザ管理は、OpenManage Server Administrator(OMSA)から管理するのが簡単だ。OMSAにアクセスするには、対象サーバへブラウザで、HTTPSによって1311番ポート(デフォルトでは。変更可能)にアクセスする(下の例では、SSHのポート転送機能を使ってWindows上のFirefoxから、サーバへアクセスしている)ここに、OSのユーザ名・パスワードを入力し、ログインすると、OMSAの画面が表示される。ここで、画面左のツリーから、「メインシステムシャーシ」→「Remote Access Controller」を選び、更に上のタブで「ユーザ」を選ぶと以下の画面が表示される。ここにDRACユーザの一覧が表示される。これはOSのユーザとはまったく別物。何も設定していなければ、rootのみが表示されているはずだ。
ユーザのパスワードを変更するには、ユーザ名をクリックし、「Remote Access Controllerユーザ」画面を表示させる。ここで、「パスワードの変更」チェックボックスをチェックし、「新しいパスワード」および「新しいパスワードの確認」にパスワードを入力する。続けて、画面下の「変更の適用」をクリックする。
すると、次のようなダイアログが表示される。「OK」を押下すると、「Remote Access Controller ユーザ」画面に戻る。
これでパスワード変更は完了だ。