カテゴリ:サーバがらみ( 107 )
(Solaris)FFFTPで繋ぐとファイル一覧が見えない
Solaris10上のFTP(in.ftpd)に、FFFTP で接続したんですが、ファイルの一覧が表示されません。

調査すると、きちせのさいと - Solaris10 一部のftpクライアントでファイル一覧が表示されない。に答えが載ってました。

どうやら日本語環境というのがダメなようです。

対応策としては、下記のようにFTPサービスの言語環境設定をアプリケーションデフォルト(大抵は英語)にしてやるといいようです。
(LANG C で翻訳しない、アプリケーションデフォルトロケールで表示するようですが、このあたりの詳細は1 Entry per Day: What's "LANG=C" ?が参考になります。)
# svccfg -s ftp setenv LANG C


そして下記コマンドで元(つまり日本語)ロケールに戻ります。
# svccfg -s ftp unsetenv LANG


Solarisは10からSMFというシステムで各種サービスを管理してるようで、svccfg というコマンドはSMFを構成するものの一つのようですね。

ちなみに、Solarisデフォルトの in.ftpd では root からのアクセスが禁止されていますが、/etc/ftpd/ftpusers ファイルで、root の行をコメントアウトすると root ユーザでも接続可能になります。


参考:
Solaris10~FTP~ - メモ帳@wiki - livedoor Wiki(ウィキ)
筋トレとバイクと私: solaris10:rootでftpを許可するには
きちせのさいと - in.ftpd ( 標準の ftpサーバーで wu-ftpd らしい ):
UNIX処方箋:Solaris 10におけるサービスの確認および管理方法 - ITmedia
vccfg(1M)-サービス構成のインポート、エクスポート、および変更 (SunOS リファレンスマニュアル 1M : システム管理コマンド)
[PR]
by jehoshaphat | 2011-02-09 00:59 | サーバがらみ | Trackback | Comments(0)
SunRayサーバからターミナルサーバ接続のRDPセッション

通常WindowsターミナルサーバをWindowsクライアントOSからリモートデスクトップで接続したときは、「ターミナルサービスマネージャ」でセッションの状態を見た時は「Active」になってます。
で、ログオフせずにリモートデスクトップのウィンドウを閉じるとセッション状態は「Disconnect」になります。つまり切断状態ですね。
リモートデスクトップウィンドウは表示してても、何も操作しなければアイドル時間がカウントされます。

で、SunRay2 でSun Ray Connector for Windows(uttsc) を使って Windows ターミナルサーバに接続してるんですが、デスクトップユニットのスマートカードを抜くと、ターミナルサーバのRDPセッションはどうなるのか実験してみました。
(実際のセッションは SunRayサーバ~ターミナルサーバ間で張られています。)

Disconnect(切断)になると期待してたんですが、Activeのままでした。
ということで、ターミナルサービス構成でRDPセッションのタイムアウトを設定するときは、SunRayをクライアントにしてる場合、「アイドルセッションの制限」を設定しないといけないということですね。
「切断されたセッションを終了」は、SunRayがクライアントの場合意味をなさないようです。
[PR]
by jehoshaphat | 2011-01-17 22:02 | サーバがらみ | Trackback | Comments(0)
(Windows)削除の不思議な仕様
WindowsServer 2003上で共有フォルダを作成し、Windows XPからアクセスしています。

共有フォルダでユーザhogeに対するアクセス権を下記のような構成にしたいと考えていました。

共有ルートフォルダ → 参照のみ可能
└─shareフォルダ → 削除不可
  └─(自由にフォルダ・ファイル追加、変更、削除可)

NTFSアクセス権は下記のように設定しました。

共有ルートフォルダ
 hoge:フォルダの一覧/ファイルの実行の許可(このフォルダのみ。継承無)

shareフォルダ
 hoge:変更、読み取りと実行、フォルダの内容の一覧表示、読み取り、
書き込みの許可(このフォルダ、サブフォルダおよびファイル)
 hoge:削除の拒否(このフォルダのみ)


これでユーザhogeがshareフォルダを削除しようとすると削除のエラーダイアログは表示されるのですが、shareフォルダ配下のファイル・フォルダオブジェクトは削除されてしまいます。

MSフォーラム:フォルダの削除を制限する設定についてで情報が載ってましたが、どうやらWindowsの仕様のようですね。
Windows7では削除されないということでしたが、実際に評価してないので何とも言えません。

おそらくWindowsServer2003のフォルダ削除の仕様として、まず配下のファイル・フォルダを消してから、元のルートフォルダを消そうとするんでしょうね。

対比策としては、上記MSサポートにあるように最初にExplorerの削除対象となるフォルダ・ファイル(ファイル名0とか)を作り、アクセス拒否にするとかがあるようです。(あまりきれいな方法ではないですが。。)

なんかよりスマートな方法ありませんかね。。。
[PR]
by jehoshaphat | 2011-01-11 21:52 | サーバがらみ | Trackback | Comments(0)
(Windows)共有フォルダのアクセスログを取る
Windows共有フォルダで特定のファイル・フォルダが誰がいつアクセスしたかのログを取りたいという要件です。
これについてはWindowsのオブジェクトの監査機能があるのですが、ドメインコントローラでオブジェクトアクセス監査を有効にすると。。。に書いたような問題が発生し、うまくいきません。

でネットで探すと FAccLog Free というツールがあったので試してみました。
SOFT PAGEからダウンロードできます。(今回はFree版を使いました。)

特定のフォルダ配下だけや特定のIPアドレスという条件付与できるのもいいですね。
ログはCSV形式で落ち、ファイルへの操作内容は参照、新規、削除、改名という感じで残されます。
また、アクセス検出方法もWindowsAPIとSambaパケットの両方で検知できるようです。(パケット検出はソケットとドライバ方式があるようです。多分ドライバパケット検出が一番速いんでしょうね。)

ただ設定を変えたら、その毎にソフトを再起動しないといけないのがちょっと面倒ですね。

しかし、アクセスログが簡単に取れるのは魅力的です。

参考:
簡単な操作で共有フォルダをリアルタイムに監視できるフリーソフト フリーソフトの樹
Vector: FAccLog Free - 新着ソフトレビュー
[PR]
by jehoshaphat | 2011-01-11 21:48 | サーバがらみ | Trackback | Comments(0)
グループポリシーのスタートアップスクリプトにファイルサーバを利用するときの注意点
ActiveDirectoryのグループポリシーでスタートアップスクリプトでバッチからコマンドラインアプリケーションを走らし、結果をファイルサーバにリダイレクトで吐き出すという処理を考えてました。

バッチから呼ぶコマンドラインアプリケーションもファイルサーバ上にあります。

で、当初スタートアップスクリプトで指定したバッチに下記のように書いていました。

\\10.0.0.20\share\xxxx.exe > "\\10.0.0.20\share\%computername%.txt"
(ファイルサーバ上のexeを叩き、同じファイルサーバにクライアント)


しかし、バッチで指定したexeがどうも動いてないようなのです。当然結果のテキストファイルも落ちていません。

いろいろ悩んだ挙句ファイルサーバをIPアドレスではなくホスト名にしたらうまく動くようになりました。
こんな感じです。

\\server01\share\xxxx.exe > "\\server01\share\%computername%.txt"

どうやらスタートアップスクリプト内でUNCパスを使うときは、IPアドレス指定はダメなようですね。

後、余談ですが、スタートアップスクリプトはコンピュータのローカルシステムアカウント権限で動くので、スタートアップスクリプトからアクセスされる共有フォルダやNTFSのアクセス権は "Domain Computers" グループが読み取りや書き込みができるようになっていないといけません。


参考:
グループポリシーのスタートアップはどの権限?
[PR]
by jehoshaphat | 2010-11-13 08:27 | サーバがらみ | Trackback | Comments(0)
(ActiveDirectory)グローバルグループで他のグローバルグループが指定できない

セキュリティグローバルグループを作成して、アクセスを許可するメンバを設定したいわけですが、人数が多いため個別にドメインアカウントを指定するのは面倒です。
部署単位でセキュリティグローバルグループを作成してるのでそれを指定できれば楽と思ったんですが。。。

と思って調べてみるとドメインの機能が Windows 2000 ネイティブ以上だとグローバルグループの中にグローバルグループの指定ができるようです。
ドメインの機能レベルは Windows 2000 混在でしたorz ドメインコントローラは全て Windows 2003 なのであげてやってもいいと思うんですが。
でもあまり乱用するとわけがわからなくなるのできっちりした運用ルールが必要かも知れませんが。。

参考:
グループ・アカウントの種類を知る - @IT
Active Directoryドメイン/フォレストの機能レベルとは? - @IT
[PR]
by jehoshaphat | 2010-11-08 23:58 | サーバがらみ | Trackback | Comments(0)
SolarisでサーバやCPUの型番を調べる方法
Solaris10が載っているSunのサーバで、CPU名やサーバシリーズ名を調べる方法ですが、/usr/sbin/prtdiag コマンドを使うとわりと簡単にわかるようです。

例えばこんな感じ。

bash-3.00# prtdiag
System Configuration: Sun Microsystems Sun Fire X2200 M2 with Dual Core Processor
BIOS Configuration: Sun Microsystems S39_3B25 11/15/2007
BMC Configuration: IPMI 1.5 (KCS: Keyboard Controller Style)

==== Processor Sockets ====================================

Version Location Tag
-------------------------------- --------------------------
Dual-Core AMD Opteron(tm) Processor 2218 U
Dual-Core AMD Opteron(tm) Processor 2218 U

==== Memory Device Sockets ================================

Type Status Set Device Locator Bank Locator
------- ------ --- ------------------- --------------------
DDR2 in use 0 CPU0_DIMM0 BANK0
DDR2 in use 0 CPU0_DIMM1 BANK1
DDR2 in use 0 CPU0_DIMM2 BANK2
DDR2 in use 0 CPU0_DIMM3 BANK3
DDR2 in use 0 CPU0_DIMM4 BANK4
DDR2 in use 0 CPU0_DIMM5 BANK5
DDR2 in use 0 CPU0_DIMM6 BANK6
DDR2 in use 0 CPU0_DIMM7 BANK7
DDR2 in use 0 CPU1_DIMM0 BANK0
DDR2 in use 0 CPU1_DIMM1 BANK1
DDR2 in use 0 CPU1_DIMM2 BANK2
DDR2 in use 0 CPU1_DIMM3 BANK3
DDR2 in use 0 CPU1_DIMM4 BANK4
DDR2 in use 0 CPU1_DIMM5 BANK5
DDR2 in use 0 CPU1_DIMM6 BANK6
DDR2 in use 0 CPU1_DIMM7 BANK7

==== On-Board Devices =====================================
To Be Filled By O.E.M.

==== Upgradeable Slots ====================================

ID Status Type Description
--- --------- ---------------- ----------------------------
0 available PCI Express PCIE 0
1 available PCI Express PCIE 1

サーバ製品名、CPU名、BIOSのバージョン情報、メモリスロット情報とかが分かるようです。

また、/usr/sbin/psrinfo コマンドでCPUのクロックが分かります。

# psrinfo -v
仮想プロセッサ 0 の状態 (2010/06/13 00:00:00 時点)
2010/06/01 00:00:00 以降 オンライン です。
i386 プロセッサは 2613 MHz で動作しており、
i387 compatible 浮動小数点プロセッサがあります。
仮想プロセッサ 1 の状態 (2010/06/13 00:00:00 時点)
2010/06/01 00:00:00 以降 オンライン です。
i386 プロセッサは 2613 MHz で動作しており、
i387 compatible 浮動小数点プロセッサがあります。
仮想プロセッサ 2 の状態 (2010/06/13 00:00:00 時点)
2010/06/01 00:00:00 以降 オンライン です。
i386 プロセッサは 2613 MHz で動作しており、
i387 compatible 浮動小数点プロセッサがあります。
仮想プロセッサ 3 の状態 (2010/06/13 00:00:00 時点)
2010/06/01 00:00:00 以降 オンライン です。
i386 プロセッサは 2613 MHz で動作しており、
i387 compatible 浮動小数点プロセッサがあります。

[PR]
by jehoshaphat | 2010-10-16 21:39 | サーバがらみ | Trackback | Comments(0)
WindowsServer2003 R2からクォータの種類が増えたみたい
今までWindowsで使うディスククォータと聞くとボリューム単位で設定し、ユーザ単位ごとに追跡するものだと思ってましたが、Windows Server 2003 R2からはもう一つクォータの種類が増えてたんですね。

この「ユーザ単位」というのが、ファイルの所有者から判断するので、部署単位で共有フォルダをもっててクォータで制限かけたいとかいうことはほぼ難しい状態でした。
(部署内等の共有フォルダにファイル置く時はだれも所有者って意識しないですからね。。)

で、WindowsServer 2003 R2 から追加された新しいクォータ(FSRMのクォータ管理機能)はフォルダ単位で、対象フォルダ内のディスク占有量で制限をかけれるようです。


従来のクォータも使えるので併用することも可能なようです。


ただ、Windows Server 2003 R2 でも某サプライ会社の NAS のように Windows Storage Server エディションの場合は、FSRMのクォータが削られてたりするので要注意です。

参考:
@IT:Windows Server 2003 R2レビュー 第2回 実用的になったディスク・クォータ機能
徒然なるままに  Windows Server 2003 R2のフォルダクォータ
[PR]
by jehoshaphat | 2010-10-05 21:02 | サーバがらみ | Trackback | Comments(0)
(Hyper-V)物理PCを仮想PCに変換(P2V)してみた

普通のメーカ製PCで稼働している Windows XP を Hyper-V で動く仮想PCにしてみました。

まずは仮想VHDを作成します。
仮想VHDはDisk2vhdで作成します。
この時、忘れずに「Fix up HAL for Virtual PC」にチェックを入れます。

これで作成できた仮想ハードディスクイメージを Hyper-V を動かしているサーバにコピーし、ブートします。

すると OS 起動時に Windows XP のロゴ表示時点で固まってしまいました。

ということで、F8 キーからセーフモードで起動。
セーフモードだと無事にログインできました。

で、Hyper-V統合サービスのディスクを挿入します。
すると、下記のようなHALのアップグレード画面が表示されるので、HAL(Hardware Abstraction Layer)をアップグレードします。
e0091163_23263944.jpg

これで、再起動し通常モードで Windows を起動してから、Hyper-V 統合サービスをインストールするだけで普通に使えます。

ただ、今回ハマったのはHALアップデート後の再起動後ログインしようとしたら、Windows ライセンス認証のダイアログが表示され、アクティベーションしないとログインさせないぞと表示されたことです。

まぁこれは再アクティベーションをし、プロダクトキーを入力し直すと通るわけですが、Hyper-Vで追加したレガシーネットワークカード(統合サービスを入れる前はレガシーじゃないと使えない)がOSから見ると新規のNICになるわけでDHCPになるわけですよね。
DHCPのネットワークじゃなかったので、別でDHCPネットワーク作って、それとHyper-Vのサーバつなげてなんとかアクティベーションは成功しましたが、これは面倒です。

ただ、Disk2vhdでもちゃんとブートできる仮想イメージを作成できることは検証取れたんでよかったです。
前回はバリバリのサーバをDisk2vhdを使ってVirtualBox上でブートしようとしたらできませんでしたが。。


ただ、今回の基の物理PCのCドライブの空き容量が残り数百メガと非常に少なかったため、Cドライブのパーティション拡大をしないといけませんでした。
同じ仮想ディスク上のパーティションDドライブはほぼ空っぽだったので、懐かしのPartionMagicを使ってDドライブのサイズを小さくし、Cドライブを拡大する手法をとりました。

やはり、VHD内のOSが入ってるパーティションのサイズ変更はこのようなツールを使わないとダメなようです。
(パーティションサイズの拡大はdiskpart.exeで可能ですが、システムボリュームはダメなようなので。。参考:@IT:Windows TIPS -- Tips:ディスクのボリューム・サイズを拡張する)

また、仮想ディスク(VHD)自体のサイズの拡大は仮想ハードディスクのサイズを拡大する - @IT仮想ハードディスクのサイズを拡大する(Hyper-V編) - @ITが参考になります。


追記:
別メーカ製PCをまた仮想化したんですが、この時はブート時に「BOOTMGR is missing」と表示されブートできませんでした。
で、基の環境なんですが、1台のHDDの中に、Cドライブ、Dドライブ、そしてリカバリ用の隠しパーティンという構成でした。
Disk2vhdはドライブレターがあるディスクしかVHD化しないので、C,DだけVHD化したんですが、それだと上記の BOOTMGR is missing が表示されてしまいます。
で、リカバリ用隠しパーティションにドライブレターを振って見えるようにし、C,D,リカバリ領域 をVHD化したところ、見事に起動するようになりました。
(セーフモードにしなくてもちゃんと起動しました。もちろんHALのアップグレードは必要でしたが。。)
とうことで、VHD化するときは本当にディスク丸ごとしないといけないということを学ばされました。
[PR]
by jehoshaphat | 2010-10-04 23:28 | サーバがらみ | Trackback | Comments(7)
グループポリシーのプロキシの設定が効かない件

ActiveDirectory グループポリシーの InternetExplorer のメンテナンスにてプロキシの設定をしたんですが、このプロキシの設定がクライアントPCの方に効かないという現象が発生しました。(クライアントPCは XP SP2,SP3です)
現象が発生したのはクライアントPCの IE を IE6 から IE8 にバージョンアップした時からで、IE8の端末のみ発生しています。

とりえあずいろいろ調査をしてみました。
とりあえず最初試したのはポリシーの適用タイミングかと思ったので、@IT:ポリシー適用のタイミングについてを参考に、[コンピュータの構成]→[管理用テンプレート]→[システム]→[グループポリシー] の [Internet Explorerのメンテナンスポリシーの処理] を有効にして、
[グループポリシーオブジェクトが変更されていなくても処理する]にチェックを入れましたが、結果はNGでした。

([Internet Explorerのメンテナンスポリシーの処理]には優先モードがあって、このモードだとポリシーが上書きされないこともあるようです。Windows 2000/XP/2003 Internet Explorer メンテナンスポリシーが適用されないを参考。)

あと、回線が低速リンクとみなされてグループポリシーの一部が適用できないという例があるみたいなので、そこも調査。。。
LAN環境なのにログオン時に低速回線で接続していると判断されるを見ると、上記の [Internet Explorerのメンテナンスポリシーの処理] で [低速回線接続からの処理を許可する] にチェック入れてみました。
しかし、これでも結果はNGでした。

(低速リンクやルータをまたぐグループポリシー適用についてはシステム管理者の備忘録: VPN、ルータ越えでADのGPOを適応する方法も参照。)


また、プロキシの例外リストには文字数の制限もあるようです。(MSサポート:グループ ポリシー オブジェクト エディタでプロキシ例外リストにエントリを追加するとリストが切り詰められて表示されることがあるを参考)
Windows XP や 2003 のSP無だと、最大255文字([ローカル (イントラネット) のアドレスにはプロキシ サーバーを使用しない] チェック ボックスをオンにした場合、実際の最大文字数は 247)になるようです。
XP SP2,2003 SP2 を当てると、プロキシ例外リストの最大文字数は、1,024 になるようです。

ただ、IE7以降は、最大文字数は 2064 となるようです。
(Microsoft Internet Explorer 7: Beta 2 リリース ノートTechNet:プロキシの設定を構成するを参考。)
しかし、この文字数に関してもクライアントOSは XP SP2 以上であり、文字数も500文字程度なので、問題ありません。


最終的にいろいろ調査をした結果、プロキシの例外リスト設定の書式によって IE8 のクライアントにプロキシの設定が効いたり、効かなかったりすることが判明しました。

具体的に、例外リストを下記のように、IP,ホスト名Onlyで指定したときは設定が効きます。
192.168.0.*;exsample.com;

しかし、例外リストを下記のように、プロトコル指定にすると、設定が効きません。
http://192.168.0.100/;https://exsample.com/;

IE7でも同様です。

ただ、TechNet:プロキシの設定を構成する見る限りは、IE8 でもプロトコル指定できるようなニュアンスで書いてるんですが、米国マイクロソフト社の開発サポート エンジニア Akshay N S のブログ投稿によると、「グループ ポリシーで IE のプロキシ例外リストを構成する際の注意事項」の二つ目に「ウェブサイト名と共に http:// を使用してはいけません」 とあるようです。

これはIE7について言及しているので、やはりIE7から例外リストでのプロトコル指定はサポートされなくなったようですね。

まぁとりあえず原因と対応方法が分かったのでよかったです。

補足:
プロキシ例外リストでポート指定(exsample.com:443)をしても、その設定は無視されてしまいました。
ポート指定もしない方がよさそうです。
[PR]
by jehoshaphat | 2010-09-29 07:19 | サーバがらみ | Trackback | Comments(0)