web-dev-qa-db-ja.com

IIS 8つのフォルダのURLと権限

IISは単純な古いApacheからのものです。

IISに追加したWebサイトに777のアクセス許可を付与する方法を理解しようとしています。 phpアップローダーがあり、アップロードされたファイルを書き込むためにそれらの権限が必要なため、そのフォルダーに対する777権限が必要です。私はIISユーザーにフルアクセスを与えましたが、それは機能しません..そしてFTPプログラムでそのフォルダをチェックすると、755と表示されます。そこから変更することもできません。

また。そのフォルダが

inetpub/wwwroot/uploader

URLを次のように設定するにはどうすればよいですか:

www.mysite.com/uploader

現在、起動時に表示されます

www.mysite.com

もちろんルートアクセスでWindows Server 2012上のIIS8を使用しています。

これについて何か考えはありますか?

4
TonalDev

Windowsには777権限などはありません。リソースへのアクセスを設定するには、アクセス制御リスト(ACL)にアクセス制御エントリ(ACE)を追加します。

IIS8のデフォルトを使用している場合、次のようにディレクトリへの書き込み権限を付与できます。

icacls.exe "C:\inetpub\wwwroot\uploader" /t /grant "IIS AppPool\DefaultAppPool:(OI)(CI)(M)"

IISアプリケーションプールは「IIS AppPool\DefaultAppPool」アカウントで実行されるため、変更権限を付与する必要があります。

C:\ inetpub\wwwroot \はサイトルートである必要があるため、「uploader」には「www.mysite.com/uploader」からアクセスできます。そうでない場合は、サイトの設定を確認してください。

6
Peter Hahndorf

「それほど安全ではない」方法では、フォルダー(アップロード)を右クリックし、[プロパティ]-> [セキュリティ]-> [全員]を追加して、読み取り/書き込みを実行します。

より適切な方法は、代わりにユーザーIIS_USRを追加することです..より安全です..ええと.. 777が必要な場合は、明らかにセキュリティにこだわらないでください。私は私の開発マシンにみんなを使います

2
WilliamStam

WilliamStamとpeter-hahndorfの両方に+1

GUIを使用してフォルダーの読み取り/書き込み/変更を行うには(IIS7およびIIS8、つまりWindows Server 2008以降):

  1. そのフォルダーに移動します(Windowsエクスプローラーのサーバーから)
  2. 右クリックしてPropertiesを選択します
  3. Securityタブを選択します
  4. Editを押します

  5. 「IIS_IUSRS」がリストにない場合は、次の手順で追加します。

    • Addを押します
    • Locationsを押します(私のエンタープライズサーバーでは、5つのアイテムのリストを生成するのに最大3分かかります)
    • ローカルサーバー(ツリーの最上部)を選択し、次にOkay
    • IIS_IUSRと入力して_Check Names_を押し、次にOkayを押します
  6. エントリIIS_IUSRS (yourActualWebserverName\IIS_IUSRS)を見つけて選択します

  7. Modify列でAllowを有効にすると完了です

あなたcanそれにフルコントロールを与えます...しかし、あなたこれを行うべきではありません Devボックス上であっても、(おそらく)必要のない権限を与えます。

1