OfficePRO技術の技術日誌

Office PRO技術のインフラSEに関するブログです。

shellのif文にxをつける意味

なんとなく知っていましたが、改めて確認したので備忘に。

 

こんな書き方について

if x$? = x0 ;then ....

xをつける事で、文字列が別の解釈されてしまうのを防ぐ目的だそう。

 

例えば、変数がtest="-f"

とかだったら。

 

if $test "PRO" ;then...

 

とかで、if -f "PRO" ;then

 

と解釈される・・・らしいです。

うーん。まぁ、こんな書き方はしないよな、、、

でも、確かに何か防げそうな気がする。

 

メリットが希薄な気がするが、どうだろう。

少なくとも出来るやつに見える、というメリットはありそうです。

 

MQ:XMITQでTRIGGER設定がNOTRIGGERにセットしていた場合、自動でTRIGGERになる。

おはようございます。

ブログを続けている人は本当にすごいと感嘆します。飽き性の自分には、たまーにふりかえることはあっても、「さぁやろうぜ!」というほどにはなれなくて。。誰か代わりに書いちくりー!っとか思ったりします笑

 

さて、それはそれとておいといて...

 

今日はMQの話です。MQといえば、しばらく前はWebSphereMQと名乗っていましたが、バージョンいくつからか、IBM MQに変わりましたね。おかげで検索は最新のものはIBM MQの方がはかどったりします。当然公式のKnowledgeに叶うものはないですが。。。というより、IBM製品はナレッジ以外に知識をアップしている人が少ないから仕方ないか...

 

伝送キューで、TRIGGER設定を無効(NOTRIGGER)に設定していても、自動でTRIGGERになることがあります。これって結構、内部設計書(詳細設計書)の見直しをしていて焦ることが多い。

 

ですが皆様、あせることなかれ。伝送キューは「そういうもの」なのです。

伝送キューにおいて、チャネルでエラーが発生した場合、自動で「NOTRIGGER」に設定されます。これはそういう仕様です。

その後、チャネルをstart chlとかで起動すると、TRIGGERが自動で有効になります。

 

結論。xmitqにおけるTRIGGER設定は設計すべきではないです。

このあたり、ナレッジにも載ってない仕様だから割と貴重な情報かもしれませんね。

 

今日はここまで。

 

 

Linuxスキル:pam操作によるtty監視の有効化

はじめまして、OfficePRO技術代表の吉田です。

OfficePRO技術をよく知ってもらいたく、技術ブログを開始することにしました。

ゆくゆくは開発側にも手を出して行きたいですが、まずは地盤を固めていかねば・・・

 

ということで、得意分野のインフラ豆知識をこのブログでは中心に記載していきたいと思います。いいねボタンもらえるよう、FaceBookも始めようかな~

--------------------------------------------------------------------------------------

※環境はRHEL7.0を想定しています。

 

さて、今回はpamのお話。

AIXユーザーにはpamは聞きなれないですよね。逆にLinuxユーザーは「pamか...」と敬遠しがちな子です。

 

pamは直接システムに直結するため、非常に便利なのですがいかんせんわかりづらい!

デフォルトからいじりたくない、でもいじらないと欲しい設定ができない!そんなジレンマに陥りやすい子です。

 

主にpamで出来る、よく実施する操作は以下のようなモノではないでしょうか。

・パスワード入力の文字列を制限したい。

・パスワードの入力に指定回数間違えるとロックがかかるようにしたい。

etc...

 

よくお客様セキュリティ要件であるような内容が盛りだくさんですね。

login.defsやpwquality.confで設定できるものもありますが、よくよく試してみたらうまく動かないのは、pamと喧嘩しているかもしれません。

 

話したいことは山ほどあるのですが、その中でも、「ttyで操作したものをauditに記す」というpamのモジュールを操作するものについて本日は記事にしたいと思います。

**********************************************************************************************

~やり方~

①下記二つのファイルに以下を追加します。場所に迷ったら末尾で問題ないです。

-------------------------------------------------------------------------------

■対象ファイル

/etc/pam.d/password-auth

/etc/pam.d/system-auth

-------------------------------------------------------------------------------

■記載内容

session     required      pam_tty_audit.so enable=*

-------------------------------------------------------------------------------

■確認方法

下記のコマンドを発行します。

aureport --tty

-------------------------------------------------------------------------------

これで、ttyによる表示をaureportで取得することができます。

ちなみに、今回は記載内容について「enable=*」にしましたが、「enable=root」にすることでrootだけを対象にしたりすることができます。

 

■注意点

内容としては便利なのですが、かなり困ったことが。

このtty情報が反映されるのがroot以外はリアルタイムではないんですよね。

 

つまり、rootユーザーでログインやrootユーザーにスイッチされている場合は、コマンド一つ一つ、それこそ「Enterを入力した」「→を入力した」「ls -l /etcを入力した」というのは即時反映されます。

ただし、root以外の一般ユーザーは、「exitされた瞬間にそれまで実行していたコマンドを一括でauditに書き込む」という仕様になっています。

 

exitが実行されるまで出力されないため、下記のようなことが起きます。

-------------------------------------------------

Aユーザー

 ls -l 実行

 su -を実行、rootになる

root

 echo testを実行

 exitを実行

Aユーザー

 echo "My name Is A"を実行

 exitを実行

-------------------------------------------------

この場合に出力されるのは、

root:echo test

root:exit

A:ls -l ,su -,echo "My name Is A",exit

といった順番で出力されます。

これだと時系列がめちゃめちゃで読みにくいデメリットがあります。

 

これを回避する方法は私は見つけられませんでした。仕様だと思います。

**********************************************************************************************

■参考

7.9. Audit 用の PAM 設定 - Red Hat Customer Portal

**********************************************************************************************

こんな感じで、PRO技術の名前らしく、技術情報を連携していきたいなーと思います。

 

どうぞよろしくお願いします。