つれづれなる備忘録

会社の情報システム系部門にて、現在4000台程のPCやサーバのお守りで悪戦苦闘しながらの毎日。

CentOSにVSFTPDを設定する際のメモ

本当に忘れっぽいのでメモ書きです。

VSFTPD自体の設定はググれば色々出てくるのでここでは書きません。

■iptablesの設定

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
 を追加
 rejectの前であれば良い。

■モジュールの読み込み
 lsmod | grep ftp
でip_conntrack_ftpとip_nat_ftpがロードされているか確認。
 されていなければ、
 
 /etc/sysconfig/iptables-config
 の最終行に

 IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"

 を追加。
 このモジュールがロードされていないと、PASSIVEモードを通してくれない。
 ログインはできてもフォルダ内の一覧が取得できずエラーになったりする。

■SELinux
 デフォルトでは /home 配下のユーザフォルダへのアクセスができない。

 確認
 /usr/sbin/getsebool -a | grep ftp

 allow_ftpd_anon_write --> off
 allow_ftpd_full_access --> off
 allow_ftpd_use_cifs --> off
 allow_ftpd_use_nfs --> off
 ftp_home_dir --> off <==== これ
 ftpd_connect_db --> off
 httpd_enable_ftp_server --> off
 tftp_anon_write --> off

 /usr/sbin/setsebool -P ftp_home_dir 1
 でアクセス許可を与える

共有フォルダ、ネットワークフォルダを開けない

共有フォルダ、ネットワークフォルダを開けない、入れない。
でも他のPCから、該当のPCの共有ホルダには
なんの問題もなくアクセスできる…
こんな問題が発生。

サービスで「TCP/IP NetBIOS Helper」にも問題はなさそう。
エラーコードが 0x800704cf と出てたのでググってみると


Windows7 共有フォルダ アクセスエラー

ネットワークドライブ接続の復旧ならびに家庭内LANの復旧
こんな記事がヒット。

確認してみると、うわ症状通り
6to4adapter


記事通り数百ほど#のついたMicrosoft 6to4 Adapterデバイスがあるので
MicrosoftSupportからDevCon.exeを取得。

このページを見ながらコマンドを実行。
もちろんコマンドプロンプトは右クッリクして、管理者として実行をしました。
DevCon.exeが圧縮ファイルも同じ名前でダウンロードされるので非常にややこしい。
解凍して中にあるDevCon.exeを使うという罠!

デバイス削除は、今回はMicrosoft 6to4 Adapterしか増えていなかったので
devcon.exe remove *6to4mp のみを実行。
これできれいにデバイスが消えました。

仕上げとしてこれ以上デバイスが増えないよう
またもやMicrosoftSupportのこのページで「この技術情報に対応する修正プログラムのダウンロードのリスト」をクリックして
hotfix(KB980486)をダウンロードして適用。

後は再起動すれば、問題なくネットワークドライブに接続できるようになった。
なんつーバグだ…

Windows7で中国語フォントを使用する

台湾向けサービスのWEBサイトの修正依頼があり、何の気なしにそのまま修正したらフォントが違うため行間やら配置が微妙に違う。修正した文言の箇所だけ違和感がある。

Windows7で中国語フォントを利用するための設定方法がこちらにあったので参考にさせて頂きました。

http://maeblog.com/blog/archives/100829

以下抜粋
  屮灰鵐肇蹇璽襯僖優襦廣「地域と言語」→「キーボードと言語」→「キーボードの変更」で「追加」をクリック

◆|羚餮譟粉並了、中国)の(キーボード)「簡体字中国語 - Microsoft Pinyin New Experience 入力スタイル」を選択

ぁ.織好バーの言語アイコンを「JP」から「CH」に変更

ァ仝生譽▲ぅ灰鵑7個右横の「Option Menu」アイコンをクリック。

Α―个討たメニューの一番上の「Options」をクリック。

А Advanced」タブを選び、

─Character Setの「Traditional Chinese」にチェックを入れる。

 あとは、中国語(繁体字)を入力する際、言語アイコンを「JP→CH」、「英→中」に変更することで、ピンインで中国語(繁体字)が入力できるようになります。

漢字変換時、簡体字と繁体字両方出てきます。その際、繁体字を選んでいけばOKです

CentosにDELL SereverAdministratorをインストール

DELL製のサーバにはServeradministratorというツールがついている。
これをCentOS5.x系にインストール。

やったことは以下のサイトのまんま。
Centos 5.4 + Dell R610 にOMSAをインストール

うまく行きました。

起動だけ手こずったのでサービスのスタートコマンドをメモ!!
/opt/dell/srvadmin/sbin/srvadmin-services.sh start

メールサーバ POP3&アカウント接続 通信監視

メールサーバの受信が正常に出来ているか監視する必要があり
PHPとPEARを使ったスクリプトを作成し監視を行うこととした。

チェック内容として「POP3接続の確認」と「アカウントでのログイン」が
出来るかの、2重チェックを行う。

実際のソースコード(popcheck.php)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
#!/usr/bin/php -q
//ペアー関数呼び出し
require_once('Net/POP3.php');

    //エラー通知先メールアドレスリスト
$CONF_MASTER['mail'] = array(
0 => 'hoge1@tuuti.com',
1 => 'hoge2@tuuti.com',
2 => 'hoge3@tuuti.com',
3 => 'hoge4@tuuti.com',
4 => 'hoge5@tuuti.com',
);

//メール内容
$mailfromname = mb_encode_mimeheader('mail check');
$mailfrom = mb_convert_encoding('tuti@tuti.com', 'ISO-2022-JP','UTF-8');
$subject = 'POP3 check';

if($DATA_MAIL[0]['MOBILE_FLG'] == "1"){
$headers = "From:<$mailfrom>\r\n";
}else{
$headers = "From:\"$mailfromname\"<$mailfrom>\r\n";
}
$headers .= "Reply-To:\"$mailfromname\"<$mailfrom>\r\n";
$headers .= "Return-Path: tuti@tuti.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Language: content=ja\r\n";
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n";
$returpath="tuti@tuti.com";

    //監視するメールサーバとアカウント情報リスト
$account = array(
'host' => 'mail.tuti.com',
'port' => '110',
'username' => 'tuti@tuti.com',
'password' => 'tutipass',
);


$pop3 =& new Net_POP3();

//POP3接続テスト
$check1=$pop3->connect($account['host'], $account['port']);
if($check1){
}else{

    //接続失敗ならメール送信ループ
foreach ($CONF_MASTER['mail'] as $ids => $s) {
        //個別メッセージ内容定義
$message = mb_convert_encoding("mail.tuti.comのエラーです。\r\n",'ISO-2022-JP','UTF-8');
$message .= mb_convert_encoding("POP3の接続自体ができません!!\r\n",'ISO-2022-JP','UTF-8');
mb_send_mail($s, $subject, $message, $headers,"-f $returpath");
}
        $pop3->disconnect();
exit;

}

//POP3問題なければアカウント接続テスト
$check2=$pop3->login($account['username'], $account['password']);
if(PEAR::isError($check2)){

    //接続失敗ならメール送信ループ
foreach ($CONF_MASTER['mail'] as $ids => $s) {
        //個別メッセージ内容定義
$message = mb_convert_encoding("mail.tuti.comのエラーです。\r\n",'ISO-2022-JP','UTF-8');
$message .= mb_convert_encoding("アカウントのログインができません!!\r\n",'ISO-2022-JP','UTF-8');
mb_send_mail($s, $subject, $message, $headers,"-f $returpath");
}
        $pop3->disconnect();
exit;
}

$pop3->disconnect();

?>
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
あとはこのソースを監視サーバとは別のサーバで
cronなどで定期的に実行してやればOK☆

IE Javascript解析不能対応

IEがたまにジャバスクリプト解析できなくなって
ネットが見られなくなることがある。

Microsoft様のサポートページを見ると…

1.Windows の [スタート] メニューをクリックします。
2.[ファイル名を指定して実行] をクリックします。
3.[名前] ボックスにregsvr32 Jscript.dllと入力します。
4.[OK] をクリックします。

と書いてある。
参照サイトhttp://support.microsoft.com/kb/875566/JA/

素直に実行。
ブラウザ再起動、ダメならPC再起動。

運がよければ直る!!
頼むぜゲイツ…

Windows7にUltraVNCをインストールメモ

我社にもやっとこさWindows7を導入開始。

ところが弊社内で必須インストールとしているUltraVNCが上手く動かない。
下記設定にて使用できるようになったので、リマインド。

UltraVNCバージョン 1.0.8_2

■インストール時、MirrorDriverもちゃんと入れる
vnc_install


■設定内容
vnc1082_option


vnc1082


ちょっとはまってしまったのが、繋がるようにはなって画面は見えるものの操作ができん!という状況でした。
↓このDisable Viewers Inputsという項目にチェックが入っていた為入力が無効とされてた・・・。デフォか?
BlogPaint

OutlookExpressから分割されたメールをThunderbirdで受信した場合

私はメールはもっぱらThunderbird.
1日に受信するJunkメールが300通を超える為、Thunderbirdの迷惑メールフィルタを手放せない。
他のメーラで迷惑メールフィルタを試したりした事もあるが、長年学習させてきた俺仕様の迷惑メールフィルタには勝てない。

さて、OutlookExpress等には添付等でメールのサイズが大きくなると分割して送信する機能がついている。
通常受信側もOutlookExpress等で受信するのであれば自動的に結合してくれるが、Thunderbirdにはそんな機能は付いていない。Pluginを探せばあるのかも知れないが分割機能を使用して送ってくる人など、ストレージ等の環境が何かとある昨今ではそうはいなくなっている。

....はずなのだが、送って来た人が本日いた!

やはりOutlookExpressを立ち上げて結合させてやるか・・・。
送信側の人にとってみれば受信する側がMicrosoft製のメーラーを使用しているか否かなど知ったこっちゃないのだろう。

参考
分割送信されたメールを結合する。

ヴァーチャルドメイン環境でprocmailとspamassassinのフィルター機能を利用する

★postfix+mysql+Dovecot+postfixadmin環境で
 procmailとspamassassinを使いメール振り分け

●参考サイト
http://centossrv.com/postfix-clamav-spamassassin.shtml
http://perl.no-tubo.net/2009/10/14/%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89%EF%BC%88postfix-mysql-dovecot-postfixadmin%EF%BC%89-2/
http://wiki.mmj.jp/index.php?Service/SpamAssassin

http://perl.no-tubo.net/category/%E3%82%B5%E3%83%BC%E3%83%90%E7%AE%A1%E7%90%86/gui%E3%83%84%E3%83%BC%E3%83%AB/postfixadmin/
http://centossrv.com/qmail-vpopmail.shtml


■procmailとspamassassinのインストール。
# yum install spamassassin procmail


■SpamAssassin起動
# service spamassassin start
# chkconfig spamassassin on

■SpamAssassin設定
# vi /etc/mail/spamassassin/v310.pre
-----------------------------------------------------------------------
# TextCat - language guesser
#
loadplugin Mail::SpamAssassin::Plugin::TextCat ← 行頭の#を削除してコメント解除(TextCatプラグイン有効化)
※SpamAssassin設定ファイルok_languagesオプションを有効にするため
-----------------------------------------------------------------------

# vi spamassassin-update
-----------------------------------------------------------------------
#!/bin/bash

# TLEC(http://tlec.linux.or.jp/)よりSpamAssassin設定ファイル最新版ダウンロード
cd /etc/mail/spamassassin
wget -qN http://tlec.linux.or.jp/docs/user_prefs

# 設定ファイル更新時のみSpamAssassin再起動
diff user_prefs user_prefs.org > /dev/null 2>&1
if [ $? -ne 0 ]; then
cp user_prefs local.cf

# スパム判断したメールを添付形式にしないように設定
echo "report_safe 0" >> local.cf

# スパム判断したメールの件名に「***SPAM***」を付加するように設定※受信メールサーバーがPOPの場合のみ
# echo "rewrite_header Subject ***SPAM***" >> local.cf←これは今回コメントアウトした

# SpamAssassin再起動
/etc/rc.d/init.d/spamassassin restart > /dev/null
fi
cp user_prefs user_prefs.org
-----------------------------------------------------------------------

# chmod +x spamassassin-update ← SpamAssassin設定ファイル最新化スクリプトへ実行権限付加
# ./spamassassin-update ← SpamAssassin設定ファイル最新化スクリプト実行
# ll /etc/mail/spamassassin ← SpamAssassin設定ファイル確認 これでlocal.cfが更新させれていたら成功


■Postfix設定
# vi /etc/postfix/master.cf
-----------------------------------------------------------------------
myhostname = mail.example.com ←自メールサーバFQDN
mydomain = example.com ←自サーバドメイン

#mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
mailbox_command = /usr/bin/procmail ←追記


local_transport = virtual
# virtual_transport = virtual ←コメントアウト
virtual_transport = procmail ←追記
-----------------------------------------------------------------------

vi /etc/postfix/master.cf
-----------------------------------------------------------------------
最終行に追記
procmail unix - n n - - pipe
flags=R user=vuser argv=/usr/bin/procmail -t -m USER=${user} DOMAIN=${nexthop} /etc/procmailrc
-----------------------------------------------------------------------

■Procmailの設定
procmailのルール、/etc/procmailrcを新規作成する。
# vi /etc/procmailrc

-----------------------------------------------------------------------
SHELL=/bin/bash
PATH=/usr/bin:/bin
DROPPRIVS=yes
MAILDIR=/vmail/$DOMAIN/$USER←ここはサーバの環境に合わせて変更
DEFAULT=$MAILDIR/
SPAM=$MAILDIR/.Junk/
LOGFILE=$MAILDIR/.procmail.log # ログ出力先
#VERBOSE=ON # 詳細ログ出力

# SpamAssassinによるスパムチェック
:0fw
|/usr/bin/spamc -u $USER

# SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送
:0
*^X-Spam-Flag: YES
$SPAM
-----------------------------------------------------------------------


■スパムメール学習(受信メールサーバーがIMAPの場合のみ)
SpamAssassinが誤って正常メールをスパムメールと判断したり、逆にスパムメールを正常メールと判断してしまった場合、以後の誤認識を防止するためにSpamAssassinに学習をさせ、チェック精度を上げる。

ここでは、受信トレイの既読メールを正常メールとして、Spamフォルダの既読メールをスパムメールとして、定期的にSpamAssassinに学習させるようにする。
※SpamAssassinが誤って配送したメールは、ユーザ自身の操作により正常メールなら受信トレイへ、スパムメールならSpamフォルダへ移動しておくこと
(放置しておくと正常メールをスパムメールとして学習したり、逆にスパムメールを正常メールとして学習してしまう)

# vi spamassassin-learn ← SpamAssassin学習スクリプト作成

-----------------------------------------------------------------------
#!/bin/bash

# スパムメールの学習
#/usr/bin/sa-learn --spam /vmail/ittti.com/*/.Junk/cur #←ここはサーバの環境に合わせて変更
# 通常メールを学習
#/usr/bin/sa-learn --ham /vmail/ittti.co/*/cur #←ここはサーバの環境に合わせて変更
# 受信後一ヶ月経過したスパムメールを削除
#tmpwatch -m 720 /vmail/ittti.co/*/.Junk/cur #←ここはサーバの環境に合わせて変更

PATH=/usr/sbin:/usr/bin:/bin

for user in `ls /vmail/ittti.com/`#←ここはサーバの環境に合わせて変更
do

# 正常メール
hammail=/vmail/ittti.com/$user/cur#←ここはサーバの環境に合わせて変更
dbdir=/vmail/ittti.com/$user/.spamassassin/ #←ここはサーバの環境に合わせて変更
#if [ ! -d $dbdir ]; then
# mkdir $dbdir && chown vmail. $dbdir && chmod 700 $dbdir
#fi

# 正常メール学習
if [ -d "$hammail" ]; then
# 正常メールをSpamAssassinに学習させる
su root -s "/bin/bash" -c "sa-learn --ham $hammail --dbpath $dbdir | \
logger -p mail.info -t 'sa-learn for $user'"
fi

# スパムメール
spammail=/var/vmail/ittti.com/$user/.Junk/cur #←ここはサーバの環境に合わせて変更
dbdir=/var/vmail/ittti.com/$user/.spamassassin/ #←ここはサーバの環境に合わせて変更

# スパムメール学習
if [ -d "$spammail" ]; then
# スパムメールをSpamAssassinに学習させる
su root -s "/bin/bash" -c "sa-learn --spam $spammail --dbpath $dbdir | \
logger -p mail.info -t 'sa-learn for $user'"

# 受信後一ヶ月経過したスパムメールを削除
tmpwatch -m 720 $spammail
fi
done
-----------------------------------------------------------------------
※スパムメール学習結果のログは/var/log/maillogに記録される

# chmod 700 spamassassin-learn ← SpamAssassin学習スクリプトに実行権限付加
# mv spamassassin-learn /etc/cron.daily/ ← SpamAssassin学習スクリプトを毎日自動実行されるディレクトリへ移動


■これでほぼ設定は終了
問題として
・新規アカウント作成時にユーザーメールディレクトリが作成されない
 (パーミッションの変更で対応できるとも書いてあったが現在実現出来ていない)

これは今後上記参考サイトを見ながら調整予定

Kasperskyと秘文 バッティング?!

弊社内クライアントのウィルス対策ソフトをKasperskyに切替中。

昨日作業をした部署から連絡があり、
「プリンタが全部消えた!!何とかしてくれ」

とあり。

聞くと秘文が入っている端末が6台あり、5台が同じ現象との事。

秘文サーバとの通信をKasperskyが悪さしているのかと思いつつ取り敢えず現場へ。

現場にて秘文サーバとの通信を確認しても問題は無い。
確かにプリンタとFAXの画面を見ると全てきれいに無くなっているように見える。

イベントログを確認すると

Prit Spoolerサービスが起動できていないエラー
sfprtsv.exeファイルが無いというエラー
を発見。どうもsfprtsv.exeが無い為Print Spoolerが起動できないらしい。

sfprtsv.exeのデフォルトパスを確認
C\:Program Files\HIBUN-AE\bin

sfprtsv.exeが無い。ドライブ検索をかけてみても見つからない。

試しに1台だけ無事プリントアウト出来ている端末を確認するとちゃんとsfprtsv.exeがある為、コピーして入れてみた所、Print Spoolerサービスを
起動させる事ができ、プリンタも元通りになった。

しか〜〜〜し、再起動かけてみた所、またsfprtsv.exeが消えてる!

Kasperskyの除外設定に“C\:Program Files\HIBUN-AE”を入れ、念の為個別に
C\:Program Files\HIBUN-AE\bin\sfprtsv.exeを除外設定して再起動して
プリンタ確認⇒問題なし。

訪問者数
  • 今日:
  • 昨日:
  • 累計:

バナーエリア
島のたからもの

気ままにゲーム日和。」
GyaOデイリーランキング総合ベスト5
QRコード
QRコード
  • ライブドアブログ