老親介護に悩む30~60代の方へ
老親介護ねっと[老人ホーム編]
トップ 老人ホームの選び方 介護関連ニュース 新規オープンホーム情報 老人ホーム取材レポート お問い合わせ リンク集 Q&A

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

フォルダへのアクセス権の設定方法を教えてください

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-...)"となってしまいます。

投稿日時 - 2018-06-08 14:20:24

QNo.9506288

すぐに回答ほしいです

質問者が選んだベストアンサー

>>WebサーバOSにログインしてから
>>ファイルサーバ上の共有フォルダへアクセスすると
>>問題なく閲覧・フォルダの作成・ファイルの作成ができます。
このログインしているユーザを、
Webサーバのローカルに用意した"abcdefg" としたときに
期待通り、ファイルサーバーにアクセスできるんですね?

>Webサーバに登録した"abcdefg"は一覧に表示されませんでした。
>こんなもの?
ワークグループ管理ですから、正しい挙動です。

投稿日時 - 2018-06-10 12:09:16

補足

>>>WebサーバOSにログインしてから
>>>ファイルサーバ上の共有フォルダへアクセスすると
>>>問題なく閲覧・フォルダの作成・ファイルの作成ができます。
>このログインしているユーザを、
>Webサーバのローカルに用意した"abcdefg" としたときに
>期待通り、ファイルサーバーにアクセスできるんですね?
"abcdefg"でログインした時も閲覧・フォルダの作成・ファイルの作成ができます。


書くのを忘れていましたが、Webサーバとファイルサーバは異なるネットワークセグメントに属しています。
それと、質問内容にはマシン名でアクセスしているように書いていますが、実際にはIPアドレスでアクセスしています。
\\fileserver\work ではなく、\\192.168.0.10\work のように。
(Webサーバ、ファイルサーバともにhostファイルに記載してマシン名でもアクセスは可能なようになっています)

投稿日時 - 2018-06-11 11:15:36

お礼

回答ありがとうございました。

投稿日時 - 2018-06-11 11:15:39

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>WebサーバOSにログインしてから
>ファイルサーバ上の共有フォルダへアクセスすると
>問題なく閲覧・フォルダの作成・ファイルの作成ができます。

このログインしているユーザは、
Webサーバのローカルに用意した
"abcdefg"ですか?

少なくとも、
■ファイルサーバ
このOSのローカルに、
"abcdefg"のユーザが登録済で、かつ、
そのパスワードは、
>WebサーバOS
に用意した同名のアカウントに設定したものと同一で、
かつ、
設定した共有フォルダー(\\fileserver\work)に対して
フォルダーを作成できる権限が付与されている必要がありますが、
いかがでしょうか?

投稿日時 - 2018-06-09 22:55:12

補足

>>WebサーバOSにログインしてから
>>ファイルサーバ上の共有フォルダへアクセスすると
>>問題なく閲覧・フォルダの作成・ファイルの作成ができます。
>
>このログインしているユーザは、
>Webサーバのローカルに用意した
>"abcdefg"ですか?
書き忘れました。このときログインしているユーザは"abcdefg"とは別のアカウントで管理者権限のあるアカウントです。


Webサーバとファイルサーバの両方にアカウント"abcdefg"でかつ同じパスワードで作成しました。そのあと共有フォルダーに権限を付与しましたが、ダメでした。(以前のOS[Windows Server 2003 or 2008あたり]では私もこの方法でやってできました)
共有フォルダーに権限を付与するとき、ファイルサーバに登録した"abcdefg"は一覧に表示され、その中から選択できたのですが、Webサーバに登録した"abcdefg"は一覧に表示されませんでした。こんなもの?

投稿日時 - 2018-06-10 10:55:19

お礼

回答ありがとうございました。

投稿日時 - 2018-06-10 10:56:35