フォルダへのアクセス権の設定方法を教えてください
Webサーバ上のプログラムからファイルサーバへアクセスしてフォルダの作成やファイル保存をしたいのですが、フォルダへのアクセス権がないためにエラーになります。
フォルダへのアクセス権の設定方法を教えてください。
■環境等の詳細
■Webサーバ
OS:Windows Server 2016
WORKGROUP
WEB:InternetInfomationServer 10 (IIS 10)
PHP:7.2.1
このサーバのPHPプログラム内からファイルサーバにある共有フォルダへアクセスして、フォルダの作成やファイルの保存を行いたい。
■ファイルサーバ
OS:Windows Server 2016
WORKGROUP
このサーバ上に共有フォルダを作成している。(\\fileserver\work)
Webサーバ上のIISのアプリケーションプールは
名前 :"abcdefg"(DefaultAppPoolから変更してある)
.Net CLRバージョン:v4.0
マネージパイプラインモード :統合
ID :ApplicationPoolIdentity
Webサーバのタスクマネージャでw3wp.exeのユーザ名を見ると"abcdefg"になっている。
WebサーバOSにログインしてからファイルサーバ上の共有フォルダへアクセスすると問題なく閲覧・フォルダの作成・ファイルの作成ができます。
PHPのログに書かれるエラーメッセージ
mkdir(): Permission denied {"userId":6,"exception":"[object] (ErrorException(code: 0): mkdir(): Permission denied at C:\\-(PHPファイルのパス)-XXXXXXX.php:60)
C:\\-(PHPファイルのパス)-XXXXXXX.php(60): mkdir('\\\\\\\\fileserver\\\\work...', 511)
エラーになった箇所のPHPのソースコードはmkdir("\\fileserver\work\123",0777)としてあります。
ちなみに、Webサーバ上に作成した共有フォルダには問題なくアクセスできて閲覧・フォルダの作成・ファイルの作成はできます。
(PHPプログラムのバグではないと思っています。)
ネットでいくつか調べてやってみたのですが、うまくいきません。
https://technet.microsoft.com/ja-jp/library/ee886292.aspx
共有フォルダに対してIISユーザ(abcdefg)の権限が付与されていないのでは?と思い、"IIS AppPool\abcdefg"を設定したのですが、設定後に確認すると追加設定した箇所が"不明なアカウント(s-1-5-82-...)"となってしまいます。
お礼
ありがとうございました。とりあえず、NOD32で見つかる範囲でウィルスは駆除しました。他にハード等に残っている"folder.htt"というfileは、全部消してしまって大丈夫でしょうか。そもそも"folder.htt"というfileは全く必要ないfileなのでしょうか。重ねて申し訳ありませんが、確認させて下さい。
補足
ありがとうございます。 一度公共のPCを利用してから、この状況になので、ウィルスかもしれません。 ところで、大変申し訳ないのですが、私は初心者で、よくわからないのですが、 "WSCRIPT.EXE"と、"Kernel32.dll "は存在しました。 それで、何をどうしたら、駆除できるのでしょうか。 すみません、教えて下さい。