• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 515
  • Last Modified:

permission denied involving CreateObject("Scripting.FileSystemObject")

code:

set fs = CreateObject("Scripting.FileSystemObject")
     set folder = fs.GetFolder(path)

     for each item in folder.SubFolders
       ListFolderContents(item.Path)
     next


This code has worked for about 6months or so on a windows 2003 server.  Any recent updates (security related maybe) that have changed the way permissions work?  I get a permission denied error on the  for each item line.

iusr machine account has read and write perms.

thanks
0
razzzzer
Asked:
razzzzer
  • 6
  • 5
1 Solution
 
kevp75Commented:
>>iusr machine account has read and write perms.<<

on the folder? or in IIS?

i ask only because I never got IIS only permissions to work, I always had to make sure the folder  permissions were set as well....
0
 
razzzzerAuthor Commented:
on folder thru the file system
0
 
kevp75Commented:
you'll have to show us the rest of your code.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
razzzzerAuthor Commented:
set fs = CreateObject("Scripting.FileSystemObject")
set folder = fs.GetFolder(path)

for each item in folder.SubFolders
     ListFolderContents(item.Path)
next


i get an error on the for each line... odd because this worked up until recently so i can only assume a windows update changed things or perhaps a change was made in the folder but i cannot see what that would have been....
0
 
kevp75Commented:
the whole code please.  Also, the error that comes up would help  ;-)
0
 
razzzzerAuthor Commented:
well its a sub like so:
<% sub ListFolderContents(path)

     dim fs, folder, file, item, url

     set fs = CreateObject("Scripting.FileSystemObject")
     set folder = fs.GetFolder(path)

     for each item in folder.SubFolders
       ListFolderContents(item.Path)
     next

     'Display a list of files.
       theimage = galleryroot & (rsGalleryDetail.Fields.Item("fldGalleryID").Value) & "/" & (rsGalleryDetail.Fields.Item("fldGalleryPic").Value)

     for each item in folder.Files
       url = MapURL(item.path)
        
         if url <> theimage then
       %>


the error:

Microsoft VBScript runtime error '800a0046'

Permission denied

/template_gallery_detail.asp, line 219


line 219 is the for loop
0
 
razzzzerAuthor Commented:
to be more precise line 219 is

for each item in folder.SubFolders

not sure because there is so much code and functions .. hope this is enough.. it just seems to me that the permissions are not correct on the folder that this code works on but .. the iusr accounts seems fine...
0
 
kevp75Commented:
and...are we sure that when you are calling the sub that you are passing a valid path?

and we sure that IUSR_machine name has full control on that folder?
0
 
razzzzerAuthor Commented:
adding a response.write(path) right before the for loop returns a correct path

IUSR_machine has full control on the WHOLE web folder currently
0
 
razzzzerAuthor Commented:
well even tho the check boxes were set for full permissions i went ahead and clicked on advanced permissions and check the second box "replace permission entries on all child objects with entries shown here that apply to child objects" and clicked apply and things seem to work now... i just hope i didnt open things up (made a security risk).  Big difference between a programmer and server admin ;)
0
 
kevp75Commented:
honestly..if this is an upload/download directory it should be the only one to have such permissions, and even then to prevent leeching, you may want to consider moving to be in the same level as the webroot and coming up with a ado.stream script to stream the files to the browser

i do it at http://www.portalfanatic.com/gallery/?pCat=27

even the thumbnails are stored at the same level as the webroot folder and are streamed to the page via a binary write.

just food for thought  :-)

glad I could help!
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now