I am fairly new to IIS coming from simple old apache.

I am trying to figure out how to grant 777 permissions on a website i added in IIS. i need 777 permissions for that folder because its a php uploader and needs those permissions to write the uploaded file. i tried giving IIS Users full access but it just wont work..and when checking that folder in a ftp program it says 755. cant change it from there either..

Also. if that folder is in

inetpub/wwwroot/uploader

How can i set it so the url would be:

www.mysite.com/uploader

Right now its just showing up when launching

www.mysite.com

I am using IIS8 on Windows Server 2012 with root access of course.

Any thoughts on this?


There is no such thing as 777 permissions on Windows. You set access to a resource by adding Access Control Entries (ACEs) to Access Control Lists (ACLs).

Assuming you are using the defaults for IIS8, you can grant write permission to the directory like this:

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

The IIS application pool runs under the "IIS AppPool\DefaultAppPool" account, so you want to give it Modify permissions.

C:\inetpub\wwwroot\ should be you site root, so 'uploader' should be accessible via 'www.mysite.com/uploader'. If not check the settings of your site.


the "not so secure" way of doing things would be to right click on the folder (uploads) then go properties -> security -> add "everyone" and give it read / write

better way is to add a user IIS_USR to it instead.. way more secure.. but meh.. if you want 777 then you obviously not too stuck up on security. i use everyone for my dev machine


+1 to both WilliamStam and peter-hahndorf

To read/write/modify for a folder using the GUI (IIS7 & IIS8 i.e. Windows Server 2008+):

  1. Go to that folder (from the server in Windows Explorer)
  2. Right-click and choose Properties
  3. Choose the Security tab
  4. Press Edit

  5. If "IIS_IUSRS" isn't in the list add it with these steps:

    • Press Add
    • Press Locations (on my enterprise server it takes ~3 minutes to generate the five item list)
    • Choose the local server (top of the tree), then Okay
    • Type IIS_IUSR and press Check Names, then Okay
  6. Locate and select the entry IIS_IUSRS (yourActualWebserverName\IIS_IUSRS)

  7. Enable Modify in the Allow column and you're done

You can give it Full Control... but you should not do this because that also gives permissions you (likely) won't ever need, even on a Dev box.