2012年1月29日日曜日

LDAPオブジェクトの識別名

オブジェクトの識別名は常に使うのだが、ついつい語彙(意味)を正確に覚えていないので明記する。
■LDAP サービスで使用される代表的な属性
属性名 意味(タイプ)
dc ドメイン名の要素(Domain Component)
o 会社名、組織名(Organization)
ou 部署名(Organization Unit)
uid ユーザー ID(UserID)
cn 氏名(Common Name)
sn 姓(Surname)
givenName
mail メールアドレス

■認証サーバーを構築する場合に使用される属性
属性名 意味(タイプ)
shadowLastChange 1970/01/01 から最後にパスワードを変更した日までの日数
shadowMax ユーザーに新しいパスワードを保持させる日数
shadowMin ユーザーが同じパスワードを使用できる日数
shadowWarning が近づいたことを、何日前からユーザーに通知するかを指定
loginshell ログインシェル
uidNumber ユーザー ID
gidNumber グループ ID
homeDirectory ユーザーのホームディレクトリ
userPassword ユーザーのパスワード

2012年1月14日土曜日

Linux(CentOS5.7)でGUIログインできなくなった。

Sambaの最新版のパッケージを作成してインストールを実行しているとファイルの競合が発生し、競合するファイルに依存するパッケージを削除していたら、デスクトップ環境に影響のパッケージを削除することになり、GUIログインすらできなくなってしまった。(T-T)(泣)

init: Id "x" respawning too fast: disabled for 5 minutes
上記のように表示されて、GUIログインされなくなってしまった。
とりあえず、Sambaの設定は後回しにして環境の復旧に務めることにした。

2012年1月5日木曜日

rpmパッケージのデータベース情報削除

パッケージのインストールやアンインストールでエラーが発生して処理が途中で終了してしまうと、実際にはアンインストールされているのにパッケージデータベース情報は削除されずに残っていたりして整合性が取れなくなってしまう場合がある。今回まさにその通りの事がは発生したのでメモしておく。

今回は、clamavの調子が悪いので再インストールしようとしていたところ clamd だけが実際にはアンインストールされているがパッケージデータベース情報は残ったままとなってしまった。

# rpm -e --justdb パッケージ名
  ↓(今回の件では下記のように)
# rpm -e --justdb clamd
上記で、パッケージデータベース情報が削除された。

上記とは逆の現象(パッケージがインストールされたのにパッケージデータベース情報に登録されていない)の場合は下記のコマンドになる。

# rpm -i --justdb パッケージ名

おまけ...重複してインストールされたパッケージの検索


[hoge@hoge01 ~]# package-cleanup -d
Setting up yum
[hoge@hoge01 ~]# 

もし、重複してインストールされたパッケージがあったら rpm -e --justdb パッケージ名 で古いほうを削除する。

2012年1月2日月曜日

Oracle10g OEMコンソールが起動しない

WindowsXpのOracle10g OEMコンソールが昨年末から起動しなくなった。

今までだと、サイトでググッて確認した oemapp.bat のメモリ割り当て設定を変更して対応できた。
if "%ORACLE_OEM_JAVAMX%" == "" set ORACLE_OEM_JAVAMX=-mx384m
REMif "%ORACLE_OEM_JAVAMX%" == "" set ORACLE_OEM_JAVAMX=-mx128m
上記は、以前にメモリを128mから384mに変更して起動できるようになったが、今回はこの値を大きくしても起動せず、なんど768mにしたら一度起動ができたが、その後起動ができない...

これは、ちょっとおかしいよなぁ~
こんなにメモリを必要なんて考えれない。(ーー;)

仕方ないので、調査を行う事にした。
タスクマネージャを起動してからOEMコンソールを起動してメモリ使用量の推移を監視してみる。

上記の先頭行を参照のこと。
なんと、メモリ使用量がどんどん増加して384MBどころか700MB以上になっていく。そして、oemapp.bat のORACLE_OEM_JAVAMXの設定値を超えるとエラーが発生する。
一度は、設定値を768mで起動しただが、その後は768mを越えていきエラーになる。こんなのはおかしい。

そこで、オラクルのクライアントフォルダの中でOEMコンソール起動時に書き込みが行なわれるログもしくは設定ファイル的はものはないかとフォルダを検索したところ、 dbappprf.properties というファイルが更新されているので、確認するとなんと260MBものファイルになっている。
オラクルの拡張子が .properties のファイルは設定ファイル系であったと記憶しているので、これはおかしい。
実際にファイルの内容を確認してみると、案の定...
よって、上記のファイル(dbappprf.properties)を削除してからOEMコンソールを起動したところ、無事に起動することができました。

また、oemapp.batORACLE_OEM_JAVAMXの値も当初の128mに戻して起動したが問題なく起動した。

要するに、オラクルクライアント9i から 11g まで複数バージョンインストールしてあるので、インストール時のPATHの設定状況悪い時に、違うバージョンのOEM(たぶん9i)に dbappprf.properties に異なるエンコード書き込まれて設定内容を読み込む際にトラブルを起こしているのではないかと思います。

なんとか無事に起動するようになり安心した次第です。

2011年12月28日水曜日

MySQL5.5からの変更点

MySQLは、バージョン5.5から設定内容がいろいろ変更になっているので、気づいた(ググって各サイトから教えて頂いた)点をメモしていく。

文字コード設定
# MySQL-5.5 default-character-set --> character-set-server
character-set-server=utf8

2011年12月27日火曜日

CakePHPテーブル定義

$fields に定義するテーブルのフィールドとして使用可能な項目と意味 type CakePHP 内部の型。現在は、string (VARCHAR にマップ)、text (TEXT にマップ)、integer (INT にマップ)、float (FLOAT にマップ)、datetime (DATETIME にマップ)、timestamp (TIMESTAMP にマップ)、time (TIME にマップ)、date (DATE にマップ)、そして binary (BLOB にマップ) という型がサポートされています。 key 値を「primary」にセットすると、そのフィールドは AUTO_INCREMENT 属性になり、テーブルの主キーになります。 length フィールドの長さを設定します。 null true をセットすると NULL を許可、false だと NULL を許可しません。 default フィールドの初期値を定義します。

2011年12月25日日曜日

SSHによるリモート接続設定

いつも使っているのだが、ついつい忘れがちな設定方法をメモする。

sshdによるファイル転送を行うため、Linux(SVR)側で設定内容を確認する。

アクセスの制限
/etc/hosts.allow にアクセスを許可先を設定。
sshd: 127.0.0.1 192.168.0. 192.168.1.
/etc/hosts.deny にアクセスを拒否先を設定。
sshd: ALL
/etc/ssh/sshd_configの編集
#Port 22
#■ポート番号を変更しても良い 例) 2222等

#Protocol 2,1
#↓■SSH 2 のみ接続を許可
Protocol 2

#PermitRootLogin yes
#↓■rootでのログインを禁止
PermitRootLogin no

#↓■パスワード方式ログインで設定する場合、パスワードでのログインを許可
PasswordAuthentication yes
#↓■鍵方式ログインで設定する場合、パスワードでのログインを拒否 PasswordAuthentication no #↓■ 空パスワードの禁止 PermitEmptyPasswords no

【ログイン方式で鍵方式を設定した場合】 手順は下記の2通り考えられます。サーバーとクライアントが身近な(同一建物)場合は【手順1】で行い、ネットワークでの転送が必要な場合には、【手順2】が良いかも...
【手順1】でネットワークを経由で転送も方法を考慮すれば問題ないかもね。(キーをパスワード付きで圧縮して送り、パスワードは別手段で伝える)
ここでは、公開鍵・秘密鍵ともにデフォルトの値(名前)を使用して説明します。(鍵の生成時の名前(鍵名)は好きな名称をつけることが可能)
デフォルトでは、公開鍵(id_rsa.pub)・秘密鍵(id_rsa)になります。

【手順1】

  1. サーバーでログイン方法(sshd_confing)の設定を行う。
  2. サーバーでクライアントの秘密鍵と公開鍵のペアを作成する。
    ※作成された公開鍵は、~/.ssh/authorized_keys に追加する。
    ■authorized_keysがない場合
    $ cat ~/.ssh/id_rsa.pub > authorized_keys
    ■authorized_keysがある場合
    $ cat ~/.ssh/id_rsa.pub >> authorized_keys
    
    ※登録したら、作成した id_rsa.pub(公開鍵)は削除します。
    
  3. 作成された秘密鍵(id_rsa)をクライアント(PC)へコピーする。
  4. クライアント(PC)がSSHクライアントで公開鍵による認証を行うように設定する。
【手順2】
  1. クライアントで秘密鍵と公開鍵のペアを作成する。
  2. 作成した公開鍵をサーバーに登録する。
    登録先は、ユーザーディレクトリのauthorized_keysに鍵を追加。
    ※この時は、パスワード認証で鍵を送る。(または、別方法)
  3. SSHサーバーのログイン方法を公開鍵暗号でのログインに変更する。
  4. クライアント(PC)がSSHクライアントで公開鍵による認証を行うように設定する。

■鍵の作成方法
Linuxでの鍵の作成(Mac OS X Lion もほぼ同様です。)
$ ssh-keygen -t rsa
[hoge@hoge01 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): ←そのまま[Enter]を押す。(鍵名と鍵の格納先フォルダ)
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:
b7:7b:f2:83:0b:da:6c:57:9a:51:93:4e:04:9a:b2:5f hoge@hoge01
[hoge@hoge01 ~]$

Windowsでの鍵の作成(WindowsXp TeraTerm Pro)
  1. TeraTermProを起動して、Cancelを選択して接続画面を閉じる。
  2. メニューの「設定」を選択して「SSH鍵の生成」を選択(クリック)します。
  3. 鍵の生成画面が開いたら(鍵:RSA、ビット数:2048)、そのまま「生成」ボタンを押します。
  4. 鍵の生成が完了すると「鍵を生成しました」と表示され、パスワードが入力可能の状態になります。
  5. パスワードを入力して「公開鍵の保存」を押す。
  6. パスワードを入力して「秘密鍵の保存」を押す。
上記で鍵を作成したら、秘密鍵はクライアントに保存し、公開鍵はサーバーのユーザー所定のディレクトリの authorized_keys に登録する。(なければ作成、あれば追記する。)

実際に確認してみると大した事ないのだが... (^_^)