Results 1 to 2 of 2

Thread: Access a password protected fileshare?

  1. #1
    Join Date
    Jun 2004

    Access a password protected fileshare?


    I want to connect using PHP to a fileshare (windows) that is password protected to copy some files. My script is using the opendir() function, and is looping through all subdirectories to find files it should copy (new/modified).
    How do I specify which user my script will connect to the fileshare with?


  2. #2
    Join Date
    Apr 2006
    I found the comment at this URL that may possibly explain it:
    Hi there !

    Had the same problem... but solved it
    in fact it IS permission related...
    (like sniper@php.net said)

    my conf:
    WEBsrvr nt5 + Apache/1.3.24 (Win32) PHP/4.3.4RC3-dev
    SMBsrvr nt5

    the deal:
    WEBsrvr access a share on SMBsrvr with opendir()

    the problem:
    $d = opendir('\\SMBsrvr\whatever');
    Warning: opendir(\\SMBsrvr\whatever): failed to open dir: Invalid
    argument in C:\Inetpub\www\script.php on line x
    --`this is not a usefull warning !`

    $fp = fopen('\\SMBsrvr\whatever\file.ext','rb');
    Warning: fopen(\\SMBsrvr\whatever\file.ext): failed to open stream:
    Permission denied in C:\Inetpub\www\script.php on line y
    --`hmm, hmm, more interresting...`

    At this point had to investigate a bit more:
    Apparently apache + php know that \\SMBsrvr\whatever exists and that it
    is a valid directory ressource...

    Did some packet log on SMBsrvr:
    WEBsrvr sends a SMB `Tree Connect AndX Request` using nullSession
    SMBsrvr replies by an ACCESS_DENIED

    gotcha !

    SMBsrvr doesn't allow nullSession...
    but why WEBsrvr tries to connect using nullSession ?
    because Apache is running as LocalSystem

    From MSDN:
    `Windows NT - LocalSystem:
    The service has limited access to network resources, such as shares and
    pipes, because it has no credentials and must connect using a null
    session. The following registry key contains the NullSessionPipes and
    NullSessionShares values, which are used to specify the pipes and shares
    to which null sessions may connect:
    Alternatively, you could add the REG_DWORD value RestrictNullSessAccess
    to the key and set it to 0 to allow all null sessions to access all
    pipes and shares created on that machine.`

    Enough blabla:
    Either you allow the host of share to accept nullSessions
    or you create an account with enough privileges on the apache host and
    when in mmc/Services/Apache/Connexion "Open a session as" - use the
    newly created account...

    All of this is true for Apache, but it should be 'approximatively' the
    same concept for IIS...

    a few references for this 'bug' (that is not)

    attn to: iliaa@php.net; sniper@php.net
    there are a lot of bug reports for this local config. problem
    maybe an addendum in the documentation could be usefull...

    sorry for my bad english...


Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center

Recent Articles