web 2008 導入 (58) SQL Server Express の User Instance (RANU) 機能を無効にする

 
こんなふうに sqlservr.exe が複数個動いているのを発見した。どうやら RANU を無効にするのを忘れていたようだ。

 

急ぎ、以下の手順で RANU を無効にします。

— User Instance の有効・無効を確認する
exec sp_configure ‘user instances enabled’

— User Instance を無効にする
exec sp_configure ‘user instances enabled’, ‘0’

— 反映する
reconfigure

— 再確認
exec sp_configure ‘user instances enabled’

 

 


User Instances for Non-Administrators

 

RANU はなくすのですか、そうですか。。。

SQL CLR Integration を先に無くすと思ってたけど。。。

 


User Instance (RANU) 機能を無効にしました。 – Try IIS 7.0  Google グループ

ssh の agent forwarding

エージェント転送を試したのでメモします。素人の想像ですけど、エージェントというのは手元マシンに常駐させるもので、中間のマシンでエージェントを動かす必要はないのだと思います。


アメンボのようにスイスイと滑るようにホスト間を移動することが目標です。
その際、各ホストに存在する Linux ユーザーのパスワードも手元秘密鍵のパスフレーズも入力する必要がありません。

 

前提

  • 手元の Windows マシンで鍵ペア (秘密鍵と公開鍵) を作成済み。
  • 鍵ペアの片方 (公開鍵) はリモート ホスト複数台すべての ~/.ssh/authorized_keys ファイルに登録済み。

 

(step 1) 手元の Windows マシンにエージェントを常駐させる


c:\program files\PuTTY\pageant.exe をダブル クリック


通知領域 (?) に出現するアイコンを右クリックして、View Keys をクリック。


[Add Key] ボタンをクリックし、作成済みでどこかに保存してある .ppk ファイル (PuTTY Private Key File) を選ぶ。


Private Key File の所有者 (あなた) だけが知るパス フレーズを入れて [OK] ボタンをクリック。
その際、[Save this passphrase] チェック ボックスは・・・とりあえずオフのままにしておきましょうか。

 

(step 2) 直接リモートへ接続できるか確認する


この図のように、リモホに直接接続できるか確認します。


もし、登録済みなら Saved Sessions の一覧からホストを選択します。
未登録なら都度ホストの IP アドレス等を入力してください。


手元 Windows PC 上に保存してある秘密鍵 (?) を参照 (?) してよいか問われるので [Yes] をクリック。
とりあえず [Don’t ask agein] チェックボックスはオフのままで。
慣れてきていちいち Yes をクリックするのが面倒になった時にオンにしてやってください。


リモホのユーザーのパスワードを入力することなく、手元秘密鍵のパスフレーズを入力することなく、リモホに接続できました。

この確認 (直接接続) を全リモホに対して実施してください。
(面倒なら、確認しなくてもいいです)

 

(step 3) エージェント転送 (PuTTY の設定)

リモホ (CentOS, 192.168.24.6) からリモホ (Fedora, 192.168.24.200) に接続・・・できませんでした。

これを可能にするには手元 PuTTY の設定で [Allow agent forwarding] をオンにします。

PuTTY の設定を変えた後はこの様にリモホからリモホへの接続が可能になります。

 

(step 4) エージェント転送 (~/.ssh/config ファイル)

さらにもう一つ先のリモホ (Ubuntu, 192.168.24.5) へ接続・・・できませんでした。


これを可能にするには、リモホ (CentOS, 192.168.24.6) の ~/.ssh/config ファイルに

ForwardAgent yes

と書きます。

これでアメンボのように移動が可能になります。

 

まとめ

  • 手元 Windows 端末で鍵ペアを生成し、リモホ (多数) に公開鍵をばらまく。秘密鍵はリモホ (多数) にばらまかない。
  • 手元を含む全ホストでエージェント転送を許可してやるとアメンボ移動 (Linux ユーザーのパスワードも、秘密鍵のパスフレーズも入力不要) が可能になる。
  • 手元 Windows でエージェント転送を有効にするには PuTTY の設定ダイアログで [Allow agent forwarding] チェックを入れてやる。
  • Linux ホストでエージェント転送を有効にするには ~/.ssh/config ファイルに ForwardAgent yes と書いてやる。
  • エージェントを動かすのは手元だけで十分。リモホ (多数) で SSH-AGENT (1) を動かす必要はない。

 

以上!!!
(間違い書いているかもしれませんが。。。)

web 2008 導入 (57) NetValidatePasswordPolicy

 

Windows ユーザーを新規に作る際、パスワードが複雑かどうか (Windows 様が文句言わないかどうか) 事前にチェックしたい。

 

NetValidatePasswordPolicy Function (Windows)

そういうときには ↑ これを使うようだ。

 

で、試そうと思って VC++ 2008 Express でテスト プログラムを書きましたが、コンパイルすら通りません。(私のスキルだと通せません orz)

web 2008 導入 (56) FSRM クォータで CPU 100% 天井へばりつきが発生する

  1. とある領域 (顧客 A、というか全顧客に 100MB で設定してある) にハード クォータを設定する。
  2. 顧客 A の web コンテンツに大量の来訪者が訪れ、http アクセス ログがすごい勢いで太り、クォータのリミットに到達する。
  3. クォータ処理 (?) が複数回・短時間に多数・すごい勢いで発動し、SrmSvc (File Server Resource Manager) をホストする svchost.exe が CPU を喰いつくす。

CPU 喰われて操作不能。

いや、操作可能ですけど、こうなるととても辛いです。

 

Linux はどうだろう?

web 2008 導入 (55) Sitefinity 。。。あきらめた

Telerik という会社が Sitefinity という CMS をリリースしているので試してみましょう。

 

http://www.sitefinity.com/asp-net-cms-features/download.aspx

ここから Community Edition をダウンロードしてください。ダウンロード前にアカウント作成が必要です。

 

目立つ部分ではなく、Blank projects と書いてある箇所をクリック。

 

project for .NET 3.5 zip をクリック。

 

Sitefinity_3_7_1990_community_BlankProject.zip を手元にダウンロードし、解凍する。解凍すると約 3,000 のファイルが出てきます。

 

ファイル約 3,000 個を FTP でアップロード。

アップロード先は /webapps/sf にしました。

ファイル数が多いので今回は FileZilla を使います。

FileZilla は同時に複数の FTP 接続を作るので FFFTP よりアップロードが早く完了します。

 

\App_Data\Sitefinity.mdf を /MsSqlDbFiles/ にアップロード。

 

/MsSqlDbFiles/Sitefinity.mdf をアタッチします。

tryiis7mgr を開き、「データベースのアタッチ」をクリック。

Sitefinity.mdf ファイルを DB 名 DB_xtest3_sitefinity999 でアタッチしました。

 

サーバー側の App_Data/Sitefinity.mdf は不要なので消します。

 

DB_xtest3_sitefinity999 を使うように手元の web.config を書き換えましょう。

変更前

<connectionStrings>
  <add name="Sitefinity" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Sitefinity.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>

 

変更後

<connectionStrings>
  <add name="Sitefinity" connectionString="Data Source=mssql2008; Integrated Security=True; database=DB_xtest3_sitefinity999; " providerName="System.Data.SqlClient" />
</connectionStrings>

 

書き換えたら web.config を再度アップロード。

 

物理パス E:\Account\アカウント名\webapps\sf を仮想パス /Sitefinity にマッピング。

 

/Sitefinity を統合モードのアプリにする。

 

ブラウザーを使い /Sitefinity にアクセス。。。お約束のエラー ページ。

 

web.config を編集。

(変更前) <customErrors mode="RemoteOnly">
(変更後) <customErrors mode="Off">

 

System.Security.SecurityException が出る!

 

GoDaddy ASP.NET Hosting Provider – Sitefinity 3.x (Sitefinity Knowladge Base)

を参考に web.config を編集する。

(before) <healthMonitoring enabled="true" heartbeatInterval="0">
(after) <healthMonitoring enabled="false" heartbeatInterval="0">

 

database:                          SQL Server 2005 / 2008
Windows Authentication:    True
Server:                              mssql2008
Port:                               空欄のまま
database:                        DB_xtest3_sitefinity999

 

 

駄目です。もうやめます。あきらめます。

Sitefinity のフォーラムには、「手元で一回 setup を済ませ、その後ごっそりまとめてサーバーにアップしたら Medium 信頼でも動く」と書いてあるけど、それじゃ駄目なんだよ。手元に IIS 無い人はどうするんだよ!手元に IIS 無い人にも使ってもらわなきゃならんでしょ。

Linux レン鯖で EC-CUBE、WordPress、Movable Type 等を使おうとする客に、「手元の apache 上で一回セットアップしてからサーバーに FTP upload してね」なんてことは言わないよ。

【IIS 6 の FTP サービス】 「匿名接続を許可する」チェックボックスのオン・オフを調べる

FTP サイト (複数存在する) の「匿名接続を許可する」のオン・オフを調べましょう。

 

 

VBScript を使って WMI クエリーを投げる方法

クエリーを投げる方法は アフィ Windowsサーバークック の付録 B 「WMI の紹介」もしくは

http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1013.mspx を参考にしてください。

  • ExecQuery でクエリーを投げる
  • For Each でループを回す

 

完成したスクリプトと実行結果

先にスクリプトをご覧ください。説明は後で。

C:\work>type script.vbs
‘ IIS 6.0 FTP サービスの「匿名接続を許可する」チェックボックスのオン・オフを調べる。
‘ 2009/9/1 22:30 新規作成

Option Explicit

Dim strComputer
Dim objWMI
Dim colSettings
Dim objSetting

strComputer = "."
Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\microsoftIISv2")
Set colSettings = objWMI.ExecQuery("select * from IIsFtpServerSetting")
For Each objSetting in colSettings
    WScript.Echo "—– " & objSetting.ServerComment
    WScript.Echo "AllowAnonymous: " & objSetting.AllowAnonymous
    WScript.Echo "Name: " & objSetting.Name
Next

Set objWMI = Nothing

C:\work>cscript //Nologo script.vbs
—– 既定の FTP サイト
AllowAnonymous: True
Name: MSFTPSVC/1
—– ftp1
AllowAnonymous: True
Name: MSFTPSVC/72986052
—– ftp2
AllowAnonymous: False
Name: MSFTPSVC/72986053

C:\work>

 

  • winmgmts ってのはモニカと呼ぶらしいですが、僕は詳しいことは知りません。
  • root\microsoftIISv2 ってのは WMI の名前空間らしいですが、僕は詳しいことは知りません。
  • ExecQuery で WMI クエリーを投げてコレクションを得て、For Each でループを回します。これが基本パターンですが基本パターンが思い出せなくて自宅に戻ってこれを書いています。

Q. IIsFtpServerSetting と AllowAnonymous はどこから仕入れたか?
A. Metabase Explorer を適当に触って探します。

 
5005 で AllowAnonymous ?
あやしい。これかもしれない。クラス (?) は IIsFtpServer か・・・

  ならば、たぶん これ だわ。

念のため、AllowAnonymous はどのレベルで設定可能か Configurable Locations を見ておきましょう。。。。ああ FTP サイト単位ですね。(ディレクトリ単位では設定できないのですね)

調べる際はこんな感じ。

 

ちなみに こちらは WMI じゃなくて ADSI のリファレンスです。

以上!

(以下はおまけ)

 

 

 

Metabase Explorer

調べ物をするのに必要なので Metabase Explorer をインストールしてください。

http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&displaylang=en

Internet Information Services (IIS) 6.0 Resource Kit Tools をダウンロードしてインストール。

Metabase Explorer

 

WMI CIM Studio

今回の作業では CIM Studio は使いませんでしたが、せっかく画像採取したので消さずにそのままブログにアップします。

http://www.microsoft.com/downloads/details.aspx?FamilyID=6430f853-1120-48db-8cc5-f2abdc3ed314&DisplayLang=en 

WMI Administrative Tools をダウンロードしてインストール。

WMI CIM Studio

変更前

変更後 root\microsoftiisv2

IIS 6 関連の調べ物をする際は root\microsoftIISv2 ネームスペースを選んだください。

 

メモ (その 1)

メモ (その 2)

 

(2009/9/4 追記) PowerShell でやるなら

PS C:\Documents and Settings\Administrator> Get-WmiObject -Query "select * from
IIsFtpServerSetting" -Namespace "root\microsoftiisv2" | Format-list servercommen
t, Allowanonymous, name

servercomment  : 既定の FTP サイト
Allowanonymous : True
name           : MSFTPSVC/1

servercomment  : 001
Allowanonymous : True
name           : MSFTPSVC/164850

servercomment  : 002
Allowanonymous : False
name           : MSFTPSVC/164851

PS C:\Documents and Settings\Administrator> Get-WmiObject -Query "select * from
IIsFtpServerSetting" -Namespace "root\microsoftiisv2" | Format-table servercomme
nt, Allowanonymous, name

servercomment                          Allowanonymous name
————-                          ————– —-
既定の FTP サイト                                True MSFTPSVC/1
001                                              True MSFTPSVC/164850
002                                             False MSFTPSVC/164851

PS C:\Documents and Settings\Administrator>