2015年12月18日金曜日

Tera Termで入力コマンドをファンクション登録

題名が変な気がするけど、適切な言葉が思いつかないので。。。
仕事上、色んなサーバのコンソール画面に出たり入るのだけれども「exit」とかのコマンドなどキー一発で打てると楽だなと思う事がある。
そういえば前の会社の上司がTera Termのキーボード設定に良く使うコマンドを仕込んでたなと思い、調べてみた。

「KEYBOARD.CNF」というファイルがTera Termのプログラムフォルダ内にあり、こちらで設定できる。
※あるバージョンではマクロからTera Termを起動した際にこのコンフィグが読まれない事があるそうなので、その場合はバージョンアップしてください

私が登録した例として、「F1キー」を「exit+エンターキー」として定義した時の設定として

XF1=off ;59として定義されているのをoffにする

[User keys]
User1=59,0,exit$0D$0A ;F1キー(59)をexitとエンターキーとしてユーザーキーセクションで定義

Tera Termマクロで文字コード指定して接続

仕事で色んなサーバにアクセスして作業するのだけど、都度パスワード打ったりするのが面倒なのでマクロを作成している。
同じ文字コード環境のサーバならTeraTermのデフォルトの文字コードを「TERATERM.INI」で指定していればいいんだけど、異なる場合はログイン後に文字化けするので困る事になる。

そこでマクロの中で文字コード指定を含める方法を調べてみた。
TTX Kanji Menu というプラグインをインストール時に選択している事が前提となるので、インストールしていない人は追加を。

以下はEUC-JPにしたい場合。
callmenu 54011 ; [KanjiCode] Recv: EUC-JP
callmenu 54111 ; [KanjiCode] Send: EUC-JP

詳細は以下をURLを参照頂くと良いかと。
https://ttssh2.osdn.jp/manual/ja/macro/command/callmenu.html

Solarisで文字コード判断コマンド

仕事で文字化けを調べていた際に気が調べたコマンドを記録。
「auto_ef」 という便利なコマンドがあるらしい。

auto_ef 判定したいファイル

で確認する。

結果としては
PCK → SJIS
eucJP → EUCJP

といった具合にでるらしい。


改行コードを調べたい時は「od」で以下のように調べる。
od -c 判定したいファイル | more

こうする事で
LF → \n
CR → \r
CR+LF → \r\n

って具合に文字が表示されるので確認すればよいらしい。

2015年11月17日火曜日

nasneに外付けHDD追加

昨年末に帰省する際、民放が数局しかない実家で退屈しないように買ったnasne。 この一年で海外ドラマにはまって録り溜めては週末に消化する毎日。 その上、先日有料放送まで登録してしまったために録画の蓄積曲線がとんでもないことに。そしてもうすぐ年末。 そこで外付けHDDを買ってみました。 ケーブルがスパゲッティになっているので2.5インチ外付HDDのコンパクトかつUSB給電なものを選択。 そしてnasneで利用できるMAXの容量、2TBのものを。 そう考えるとなかなか実績があるものがない。ADATAのものが一点どなたかの動作実績として載っていたけど、自分がポイント貯められるお店で買えなかった。そこでnasneでの利用実績がなかったけど人柱になろうと別のADATAのを買ってみた。



こちらがパッケージ。

結構、小さい。nasneで認識しなくても最悪持ち出し用に良いかも。

一応、指してみてnasneの管理画面で認識させてみたが、今録画中なので問題なくファイル移動できるかこれから確認。

2015年11月10日火曜日

owncloud パーミッションエラー

PCのメモを整理していたら出てきたコマンドを転記。

たしかowncloudのデータを別のサーバに移した時か何かにパーミッションエラーが出て泣きそうになった際に実行したコマンド。
現象再現したら詳細を追記しようと思い、備忘録的に書き残すことにする。

php /var/www/owncloud/console.php files:scan --all

2015年10月31日土曜日

MacでNASNEを見れた!!

去年末にお笑いを録画したくて、ボーナスはたいて買ったnasne。

うちのボロPS3初代で再生していたのだけども、1時間も見ているとファンがガンガン回ってうるさいし、熱がすごい。

そこでパソコンで見れないかなと一生懸命探していたが、うちのパソコンがMacなので動くソフトがなかったのでPS3サウナを耐えていた。

たまたま会社でネットワーフィンしていた時、ついにOSX対応のnasneを見られるものを発見、早速帰宅後にダウンロードしてインストール。

いい!いいよ!これ!これでサウナから逃げられる。
※PS3の熱で部屋がサウナみたくになるのですよ。。。。

しかし、これで録画予約と録画動画削除、検索ができればな。。。

SHURE SE215のリケーブル

SHUREのイヤホンは大好きなんだけど、過去3回買うたびに即断線するのは、俺の使い方が悪いんだろうか?

SE215の購入から半年もかからずに片耳断線したのだけど、ケーブルの角度を変えると聞こえていたのでなんとか使い続けていた。
しかし今月両方のケーブルが断線。もはやただの耳栓。

SE215を買った理由はリケーブルできる(ケーブル交換できる)から。ついにこの時が来たかと、お財布の紐を緩める事に。

ネットで色々調べたけど、リケーブルは「音質の向上」などが目的なもので、たっ高い。

お財布の紐、緩めてもお財布の口小さいのに。

そこで調べまくった結果出てきたのが以下のケーブル。2800円ぽっきり。



早速、ケーブルを付け替えてみた。なんだか細くて不安だけど、必要最低限で良いかな。これから使ってみて使用感を確かめてみるか。

2015年7月8日水曜日

mod_owaでORA-06512

DBのリストをHTP.PRINTで出力して遊んでいたらバッファーが小さいって以下のエラーが。

PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "SYS.HTP"

出力する文字の数に制限があるのかなと思ったが、以下のパラメータをmod_owa.confに書き加える事で回避できた。

OwaCharsize 4

マルチバイトの文字を扱う場合にバッファが溢れるってことなのかな?デフォルトでは1がセットされているらしい。

2015年7月1日水曜日

iptablesでブルートフォースアタック対策

同一IPアドレスから大量にSSHでアクセスして認証突破しようとするアホがいる。認証方式的に拒否する方法でセキュリティが担保できるかもだが、都度ポートにアクセスされるのはかなわないのでiptablesで拒否する事に。
一秒館に3回もアクセスするものをはじくサンプル。

iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m hashlimit --hashlimit-name t_sshd --hashlimit 3/minute --hashlimit-burst 3 --hashlimit-mode srcip --hashlimit-htable-expire 60000 -j ACCEPT

iptables -A INPUT -p tcp --syn -m state --state NEW --dport 22 -j DROP

2015年6月23日火曜日

PL/SQLでX-FORWARDED-FORヘッダを読む

Oracle ASの前段にリバースプロキシを入れる予定があったので調査。

HTTPヘッダのRemote-Addrは以下のようにすれば取得できるが、リバースプロキシ環境ではプロキシサーバのIPが入ってしまう。

owa_util.get_cgi_env('REMOTE-ADDR')

試しに以下のようになってみたが、空だった。ログ上はX-Forwarded-Forがヘッダになるのに。

owa_util.get_cgi_env('X-FORWARDED-FOR')

Oracleコミュニティのサイトを調べてみると、dads.confの該当するLocationディレクトリブに以下を追加すれば良いらしい。

PlsqlCGIEnvironmentList X-FORWARDED-FOR

うちの環境ではこれで取得できた。

2015年5月19日火曜日

アクセスログから接続IPのアクセス数を集計したい

cat access_log | cut -d' ' -f1 | sort | uniq -c | sort

2015年4月23日木曜日

Oracle Walletの情報から秘密鍵を取り出す

OracleのWebサーバからApacheに載せ替える用事があって、既存環境がOracle Walletだったのでどうやって秘密鍵取り出すんやと思ったので調査。 既存環境にあるewallet.p12ファイルに以下のコマンドうてば取り出せる。

openssl pkcs12 -in ewallet.p12 -nocerts -nodes -out privatekey.pem

2015年3月31日火曜日

nasneのデータをBDに書き出す

基本的にTVはほとんど見てなかっただが、去年末に友達と話して気になったnasneを買ってしまった。

nasneはiPadで外から録画した動画みれるから便利なんだな。実家の四国に帰った時も、その機能で実家から関東のテレビ見れて退屈をしのげた。

その辺は別途ネタとして書くか、ほかの方のブログに譲るとして。

毎日Dlifeで連続ドラマをとりまくっていると1TBなんてすぐリーチしてしまう。 そこでBlue-Rayに録画する為にドライブを買ってみた。




こちらは付属のソフト「Dixim BD Burner 2013」でnasneを認識させてBDに書き込める。らしいが、我が家では全く認識せず(一回だけひょっこり見えたが、OS再起動後見えなくなった)使えない野郎だという評価が他のブログでもちらほら。

ということでソニーが最近VAIO事業を売ったためか、VAIO以外もサポートするようになった「PC TV with nasne」の体験版をダウンロードして試すことに。

初めはこちらでもnasneが認識しなかったけど、NICに設定されていたVirtualPC関連の設定を外すことで認識するようになった。

無事書き込みも確認。これで容量を気にせずにnasneで海外ドラマ録画しまくれる。追加で3000円払ってソフト買うのもなぁ。

2015年3月24日火曜日

SFTPのChroot化

今までFTPでファイル転送を行って頂いていたのだけれども、
暗号化せずのやり取りだし、SFTPをやってみる事にした。
以下はCentOS5.5でやった時の備忘録

まずSFTPはOpenSSHを利用して、SSHの接続として処理される。
のでSSHでログインしないユーザ、SFTPのみの利用のユーザを設定し、
特定ディレクトリより上位にいけないようにCHROOT化の設定をした。

1. SFTP専用ユーザグループの作成
特定ディレクトリ"hoge"にアクセスするSSH専用ユーザのグループ“hoge”を追加し、
ログインシェルのないユーザをそのグループに所属させる。
これにより、SSHでのコンソールログインを抑制する。
# grouadd hoge
# useradd ユーザ名 -g hoge -s /sbin/nologin -M

2.OpenSSHのインストール
CentOS5.5の標準でインストールされるOpenssh4.3と古いので
OpenSSH をソースからダウンロード(4.4以降にchrootの機能がサポートされる)
# cd /usr/local/src
# wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.3p1.tar.gz
# tar xvzf openssh-5.3p1.tar.gz
# cd openssh-5.3p1
# ./configure --sysconfdir=/etc/ssh
# make
# yum erase openssh
# make install
# cp contrib/redhat/sshd.init /etc/init.d/sshd

3.起動スクリプトの編集(/etc/init.d/sshd)
ソースからインストールしたスクリプトではパスが異なるなど問題があるので
以下を修正。
KEYGEN=/usr/local/bin/ssh-keygen
SSHD=/usr/local/sbin/sshd
$SSHD $OPTIONS && success || failure

またyumからの削除により、chkconfigから削除されているので、
手動で再度追加。
chkconfig --add sshd
chkconfig --level sshd

SSHDのサービスを起動して正常動作を確認する。
/etc/init.d/sshd start


4. SFTP専用ユーザのCHROOT化設定 (/var/www/html/hoge)
SFTP専用ユーザのグループ“hoge”を指定して、“/var/www/html/hoge”へCHROOT化する。
/etc/ssh/sshd_configを以下のように修正。
・書き換え
Subsystem sftp /usr/libexec/openssh/sftp-server
 ⇒ 
Subsystem sftp internal-sftp

・追加
Match Group hoge
ChrootDirectory /var/www/html
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

※/hoge配下のディレクトリは自由に作成したいとの依頼があったため、
 chroot化したのは/hogeより上位の階層とした。
 (/hogeをchrootすると、root以外がディレクトリを作成できないため)

上記設定変更後にSSHDのサービスを再起動する。
/etc/init.d/sshd restart

さらにCHROOTするフォルダのオーナーをrootにし、パーミッションを755にする。
chown root:root /var/www/html
chmod 755 /var/www/html

そしてCHROOTしたフォルダ配下のディレクトリにSFTP専用ユーザグループの
書き込み権限を与える。
cd /var/www/html/
chown -R ユーザ名:hoge *
chmod -R 775 *

大筋でこんな感じ。

csv ファイルをoracleに取り込む

sqlldrコマンドとCSVファイルを使って読み込むわけだが、コントロールファイルでcsvを定義するのでサンプルを残しておく。

---- 以下サンプル「flash_card.ctl」----
LOAD DATA
INFILE "flash_card.csv"
APPEND
INTO TABLE TIKTAK.FLASH_CARD
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
ENGLISH_WORD,
JAPANESE_WORD,
TRIAL,
SUCCESS,
FAKE1,
FAKE2,
FAKE3,
NO sequence(MAX)
)
----

上記を使って読み込むコマンドは以下の通り。
sqlldr userid="ユーザ名/パスワード" control='flash_card.ctl'

2015年3月13日金曜日

bashで文字列操作

# echo $HOME
/root
# echo ${HOME:2:2} ← 先頭から3文字目(0から数えて)を起点に2文字抜き出す。
oo
# echo ${HOME/oo/e}  ← 「oo」を「e」に置き換え。※「//」で完全一致
/ret

2015年3月7日土曜日

Firewire800 SSD外付HDDを買うの巻

うちの家のiMacは2009 early。

メモリを8Gに変更してSnow Lepardでは快適に利用していたものに、調子にのってインストールしたMarveriksで重いのなんの。起動に2分かかる自体に。 Safariもなんだかもっさり。

購入から6年経っているし、そろそろ買い替え時かなと思ったものの、踏ん切りがつかず。人事異動で手当へって貧乏だし。

そんな折にネットでSDDの外付HDDにインストールするとまだまだ快適に使えるという話を聞いて試してみました。これ。


iMac 2009はFirewire800とUSB2.0なので残念ながらSSDの全力を引き出すことはできないけど、ランダムアクセスが早いのでOSの起動やアプリ周りが早くなるとか。
Yosemiteも出ているけど、比較のためにあえてMarveriksをクリーンインストールし、内蔵HDDと比較してみた。

・OS起動時間
(1)今までの内蔵HDD:2分
(2)Firewore800経由外付SSD:1分

・パフォーマンステスト(Xbentch使用)
(1)今までの内蔵HDD




(2)Firewore800経由外付SSD
















やはりランダムアクセスが早い。Safariのアクセスもかなり快適になっている。できる子じゃないか!

内蔵HDDはもうお役御免なのでデータ置き場にしようかと思ったが、データ移行用にデータすべてをNASに逃がしているのであえて再コピーするのもと思い、内蔵HDDにYosemiteを入れてみようかなと。

あれ、内蔵HDDにYosemite入れても結構OSの起動早くないか?
計測してみると1分程度。Safariのモッサリ感もない。
もしかしてクリーンインストールしてなかったことが、遅さの一番の原因?

OSXはクリーンインストールが一番ということを2万払って学びました。(--;)

しかしこれでまだしばらくうちのパソコンは現役続行だな。

そもそも起動に2分というひどい自体になれていたから1分で進歩に感じるけど、これも普通に考えれば遅いんだよな。次は内蔵SSD化か。

2015年2月5日木曜日

このLinuxは32ビット版だっけ?64ビット版だっけ?

忘れた頃に思いだすのでコマンドを記録。

# uname -a

i386が32ビット、X86_64が64ビットだったと思う。

2015年2月3日火曜日

YAMAHAのPPセッション切断用コマンド

YAMAHAのルータを入れ替える要件があったのでメモ。

PPPoEのセッションを旧ルータで切ってから新しいルータに繋げばPPPoEのセッションタイムアウトを待たなくて良いと思い、

pp disable 1

などと打っていたが、これではセッション切断されていないらしい。
※show status pp 1などでは確認できないが。

「pp disable」の後に

disconnect 1

などと打てばよいとのこと。

客先で繋がらなくなって焦った。

わざわざ切らなくても5分~10分でサーバ側のセッション情報が消えて繋がるけど、お急ぎの時には。

※20170131追記 たまたまRTX810をさらす機会があったのですが、「disconnect pp 1」と変更になっている模様。