PE社内でWebサイト(ASPとかDealerShipとか)を立ち上げたので
セキュリティチェックをしないといけないと思い、
ちょっと調べてみました。
http://www.websec-room.com/2013/04/06/835
このツール・・・優れものだと思います。
PE社内でWebサイト(ASPとかDealerShipとか)を立ち上げたので
セキュリティチェックをしないといけないと思い、
ちょっと調べてみました。
http://www.websec-room.com/2013/04/06/835
このツール・・・優れものだと思います。
CentOs上のphpからPDOを使ってSQLServerに接続しようとしたところ、以下のエラーが表示されて繋がらないとのことで軽い気持ちで解析を手伝っていたら、unixODBCだったりFreeTDSだったりと複雑な環境もあり、・・・・・・ハマった。
◆エラー・・・というよりExeptionのメッセージ
[unixODBC][FreeTDS][SQL Server] Unable to connect: Adaptive Server is unavailable or does not existtest
◆ソース
?php
$dsn = 'odbc:AAAA';
$user = 'XXX';
$password = 'YYY';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?
◆解決した方法
今回の問題はSELinuxとやらの設定だった。参考→ ここ
httpd_can_network_connect がoff(無効)になっているのを有効に変えただけ。
設定の確認コマンド
# getsebool httpd_can_network_connect
httpd_can_network_connect --> on (有効の場合)
httpd_can_network_connect --> off (無効の場合)
設定の変更コマンド
# setsebool httpd_can_network_connect 1
※getseboolで確認だったので、勘でsetseboolでやってみたところできてしまった。1にしたらonになったので、0だったらoffだと思。
※真面目に使う人はちゃんと調べましょう。
unixODBCでも、FreeTDSでも、SQL Serverでも、apacheでも、php.iniでもないとか・・・ハマれるっ!! で、SELinuxって何?
聞いてみたところ、SELinuxはdisableにしちゃうのが普通らしい。
なぜだか見えなくなったらしい。
アクセスすると…
「XXXXXXにアクセスできません。このネットワーク リソースを使用するアクセス許可がない可能性があります。アクセス許可があるかどうかこのサーバーの管理者に問い合わせてください。」
などと出ている。
いろいろ試した結果、共有側(Win7)の「LAN Manager 認証レベル」とやらを変更すると解決した。
※Win7 ”Pro”以上なら以下の手順で。
※ちなみに、Win7 Homeなどでは、上記の設定画面とやらがないらしいので、レジストリを直接修正しないとダメっぽい
問題の解決には Windows 7 の Security を下げる必要が有ります。
Windows 7 では secpol.mscから→「ネットワークセキュリティ:LAN Manager 認証レベル」の設定をしなければなりません。しかしこのsecpol.msc機能は多くの方が使用しているHome Premiumでは使用できません。
そこで初心者には危険ですが、Windows Directory に有る regedit.exe を立ち上げ、以下のキーを付加する事で解決できます。
1. HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control¥Lsa を開きます。
2. LmCompatibilityLevel をダブルクリック(または右クリックて[修正]を選択)して値のデータ
を [2] にする。
(注意)LmCompatibilityLevel が存在しない場合は(通常は存在しません)左側のレジストリツリーの Lsa上か、Lsaを選択した状態で右側の何もないところで、右クリックし、 [新規]-[DWORD」を選択します。「新しい値 #1」というエントリーが作成されます。「新しい値 #1」という名前を「LmCompatibilityLevel」に変更します。そして、「LmCompatibilityLevel」を右クリックして[修正]を選び(またはダブルクリック)値のデータを変更します。横に出ている10進、16進はどちらでもかまいません。(2の値は10進でも16進でも変わりません)
レジストリーを変更すると即その変更が反映されるので保存という操作は有りません。
regedit.exe を閉じて、Windows 7 を再起動します。
参考 → ここ
# ls /var/spool/cron/ admin manage root # cat /var/spool/cron/* 0 1 * * * /home/admin/program/example.sh 0 2 * * * /home/manage/program/manage.sh 0 0 * * * /root/program/test.sh
詳しくはこちら
前置き
——————–
社内のどこかのサーバから毎日、迷惑メールが来る・・・
差出人:Cron Daemon
件名:「Cron [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.daily」
宛先:root@localhost.localdomain
って、なぜにオレに・・・
誰かがクーロンをミスったんだろうけど・・・
——————–
そもそも、rootユーザのメール送信先ってどこにあるんだろ?と思ってググッたメモ。
以下のファイルらしいので開いてみる。
[root@xxxx~]# cat /etc/aliases
最後に書かれてる・・・
・ ・ ・ # Person who should get root's mail #root: marc root:emura@poweredge.co.jp
書きかえた後は以下のコマンドを実行しないと有効にならないらしい。
[root@xxxx~]# newaliases
こんなファイルみたことないんだが、いつの間に設定されたのか・・・
!
俺様の仕業だと思う(^_^;)
自分に来るのがウザくてチョコチョコっと・・・スマンm(__)m
Mysqlを起動しようとしたら、以下のようなエラーで起動できなくなっていたらしい。
「他のMysqlデーモンが同じソケットで既に起動してんだよ、コラ」
[root@localhost ~]# /etc/init.d/mysqld restart
mysqld を停止中: [ OK ]
Another MySQL daemon already running with the same unix socket.
mysqld を起動中: [失敗]
[root@localhost ~]#
内容は全く理解していないが、以下のコマンドで復旧した…
service mysqld stop
mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
service mysqld start
再起動したらおかしくなったということだったんですが… 意外とブチっと電源おとしてたりして…
コレってゾンビでは?
この状態になった原因の方に問題がありそう。。。
C#のソースにusing( ・・・ ){ 処理 } と書いてあるところの意味がわかってなかったため、戒めにメモ。
使い終わったリソースを必ず開放する必要がある時に、try~catch、try~catch・・・の嵐になりそうなところを、usingブロックを使ってそれなりにすっきりコーディングできるようにしたものらしい。
以下の2つの処理は全く同じ意味になるとのこと。
usingブロックの方は、自動的にDispose()を呼び出してくれ、しかも、例外にも対応してくれるものとのこと。
public void Func() {
FileStream fs = new FileStream("test.txt", FileMode.Read);
try {
StreamReader sr = new StreamReader(fs);
try {
// 処理する
}
finally {
if (sr != null) {
sr.Dispose();
}
}
}
finally {
if (fs != null) {
fs.Dispose();
}
}
}
public void Func() {
using (FileStream fs = new FileStream("test.txt", FileMode.Read)) {
using (StreamReader sr = new StreamReader(fs)) {
// 処理する
}
}
}
勤怠メールの送信先を追加できるようになってるんですが、どうも伝わっていないようなので手順を。
参加しているMLに自動送付するなんてことはないので、各自でメンテしてください…
追加した送信先メールアドレスにはCcで送信されます。
コレクション多いのでわかりやすいサイトメモ。
使用頻度は
List > Dictionary > HashSet ・・・
な感じかな?
Enumerableクラスを使用すれば、SQLみたいなSelect()やWhere()などを使えるようだが、まだ試したことない。
var/www/html/hoge にcakeのwepアプリを追加するとして・・・
1.hoge直下に”update_log”というディレクトリを作成。
2.hoge直下に”update.sh”を作成(下記参照)
3.「sh var/www/html/hoge/update.sh」でシェル実行
以降は3.を実行すれば最新版を持ってこれる。
update.sh
新バージョン
#!/bin/sh
REPOS=http://192.168.150.31/repos/XXXX/trunk
DIR=$(cd $(dirname $0); pwd)
LOGDIR=$DIR/update_log
if [ ! -d $LOGDIR ]
then
mkdir $LOGDIR
fi
#
#before checkout
#
rm -rf $DIR/app/tmp
#
#exec checkout
#
svn co --force $REPOS $DIR >> $LOGDIR/update_`date +%Y%m%d_%H%M%S`.log
#
#after checkout for cakePHP
#
rm -fv `find $DIR/app/tmp -type f`
chown -R apache:apache $DIR/*
旧バージョン
#!/bin/sh SVN="http://192.168.xxx.xxx/repos/hoge/trunk" DIR=$(cd $(dirname $0); pwd) rm -fv `find $DIR/app/tmp -type f` > /dev/null 2>&1 svn checkout $SVN $DIR >> $DIR/update_log/update_`date +%Y%m%d_%H%M%S`.log rm -fv `find $DIR/app/tmp -type f` > /dev/null 2>&1 chown -R apache:apache $DIR/*
kinjou 1:02 AM | 2014年4月10日 パーマリンク | ログインして返信する
これは本当優れものですね。今後も使います。