Jag Kör en en asp sida på en server som när man trycker på en knapp skall skapa Ganska stor säkerhets risk om du skulle kunna ändra en massa i filsystemet på andra datorer med ASP. Jo därför frågar jag ju hur man kan göra. Jag kan inte köra scriptet på samma server som filerna ligger. - Ge rättigheter till användaren IUSR_SERVER1 på den utdelade mappen (båda servrar måste vara i samma domän eller ha en trust). Okej,skapa mapp på annan server
en Mapp fast på en annan server som är utdelad. Men jag får permission denied hela
tiden, är det nån som vet vad man måste göra.. Jag har satt alla möjliga rättigheter
på den utdelade mappen men det funkar inte.
Server 1. Asp Sida med detta script:
FolderPath = "\\server2\utdelademapp\mappensomskallskapas"
set fso = server.createobject("scripting.filesystemobject")
If not (fso.FolderExists(FolderPath)) Then
fso.CreateFolder(FolderPath)
end if
set fso = nothing
Server2. En mapp som heter utdeladmappSv: skapa mapp på annan server
Men du kan ju alltid testa att "mappa" nätverksresursen till til datorn; högerklicka på den här datorn och välj anslut nätverksenhet.
SKa inte garantera dig att det går, men det är ju värt ett försök. I annat fall får du väl köra scriptet från datorn som du vill sksapa mappen på...Sv:skapa mapp på annan server
Sv: skapa mapp på annan server
- Eller skapa en virtuell mapp under webbroten som mappar till utdelningen på SERVER2.
Skapa mappar och filer via Server.MAPPATH....Sv:skapa mapp på annan server
Förslag 1 fungerade inte.
Förslag 2 fungerade inte, man fick permission denied ändå.Sv: skapa mapp på annan server
Antar att båda servrar ligger i samma domän då.
Eller att du har en fungerande trust.
Fortsätter med förslag 2 eftersom jag vet att detta fungerar och det är en bra lösning.
1)
Skapa en användare i domänen t.ex. user: webmapperX i domänen CORP.
Den kan vara med i DomainUsers gruppen.
2)
På SERVER2 som ska dela ut mappen skapar du en share (t.ex. WEBSHARE). Om det är en 2003 server måste du in och ändra default rättigheterna på SHARE:en till minst "Everyone READ & CHANGE". Alltså Sharing fliken och sedan permissions. Är det en 2000 så är det redan "Everyone FULL" på denna.
Sedan till fliken Security. Där lägger du till användaren som du skapade i steg 1, i detta fall webmapperX. Ge rättigheter MODIFY.*
Klicka dig okejjande ut ur alla dialoger.
3)
På webbservern så skapar du en virtuell mapp som har sina filer på SERVER2.
Alltså - New Virtualdirectory - "TEST" -> Path - "\\server2\WEBSHARE".
I username skriver du in CORP\webmapperX - Fyll på med rätt lösen.
Kryssa UR rutan som säger typ "Always use the auth user cred...osv"
Detta för att IIS:en ska accessa UNC mappen med den användare du skapade i domänen och angav nyligen i "SecurityCredential" rutan och inte med den användare som surfar in på sidan.
Kryssa i Script om du vill köra ASP från detta VirtualDir.
Klart på webbservern.
För att sedan kunna skriva med hjälp av FSO så använder du dig av Server.Mappath.
Funkar det fortfarande inte kan du m.h.a Server.Mappath och Response.Write verkligen kontrollera att du försöker att skriva till rätt mapp.
Du kan även logga som webmapperX på en arbetsstation i domänen och försöka skapa filer på SHAREN för att kontrollera att rättigheterna fungerar som de ska.
Lycka till!
*Rätt sätt här är egentligen att skapa en grupp i domänen (lokal) som du sedan ploppar din webuser i.
Sedan sätter du rättigheter på gruppen på SERVER2 i.s.f. usern.
Men det kan vi hoppa över för att inte krångla till det.