Hi,
(For the less informed who stumble upon this via Google, replace mentions of PATH_TO_PLESK to the actual path to plesk on your system)
You need to be looking in the direction of PATH_TO_PLESK\plesk\admin\bin\ApplySecurity.exe
Every time Plesk installs an update, users psaadm and psacln are either deleted and recreated or their custom permissions are wiped clean.
These users (or at least psacln in some cases) need to be applied to certain directories or .dll's depending on the configuration of your server but because of the update process you need to inform Plesk which directories these users should be applied to and what permissions they require. Plesk will then refer to these instructions upon update.
For example, one of our servers has the following configuration:
- MS IIS SMTP / Used by CDO for sending form submissions by email using ASP
- Persists AspJpeg / Image manipulation by ASP scripts
- Persists AspPDF / PDF manipulation by ASP scripts
- Persists AspUpload / Uploads via ASP scripts
These need specific permissions to be able to perform correctly when invoked by scripts.
Plesk stores these instructions in the following directory: PATH_TO_PLESK\plesk\etc\DiskSecurity (DO NOT ALTER DISKSECURITY.XML)
ApplySecurity.exe will take those instructions and apply them to the correct directories/files.
I'm going to use our files as an example...
For MS IIS SMTP I have a file that I created called mailroot-pickup.xml (again do not alter DiskSecurity.xml, create your own file) located in PATH_TO_PLESK\plesk\etc\DiskSecurity (full path = PATH_TO_PLESK\plesk\etc\DiskSecurity\mailroot-pickup.xml) with the following contents
Code:
<?xml version="1.0" encoding="utf-8" ?>
<Entries>
<Entry AccounType="1" Account="Psacln" Path="C:\inetpub\mailroot\Pickup" SubPath="" AceFlags="ThisFolderSubfoldersAndFiles" AccessMask="ReadWrite" EntryFlags="0" />
</Entries>
This tells Plesk to apply Read & Write permissions for the user Psacln to the directory, sub directory and files of C:\inetpub\mailroot\Pickup
The above enables ASP to create CDO message and place it in the Pickup directory where it will await processing by IIS SMTP.
Similarly with Persists AspJpeg/AspPDF/AspUpload I did the following
Created a file called persists-software.xml (again do not alter DiskSecurity.xml, create your own file) in PATH_TO_PLESK\plesk\etc\DiskSecurity (full path = PATH_TO_PLESK\plesk\etc\DiskSecurity\persists-software.xml) with the following contents
Code:
<?xml version="1.0" encoding="utf-8" ?>
<Entries>
<Entry AccounType="1" Account="Psacln" Path="C:\Program Files (x86)\Persits Software\AspUpload\Bin" SubPath="" AceFlags="ThisFolderAndFiles" AccessMask="FullAccess" EntryFlags="0" />
<Entry AccounType="1" Account="Psaadm" Path="C:\Program Files (x86)\Persits Software\AspUpload\Bin" SubPath="" AceFlags="ThisFolderAndFiles" AccessMask="FullAccess" EntryFlags="0" />
<Entry AccounType="1" Account="Psacln" Path="C:\Program Files (x86)\Persits Software\AspJpeg\Bin" SubPath="" AceFlags="ThisFolderAndFiles" AccessMask="FullAccess" EntryFlags="0" />
<Entry AccounType="1" Account="Psaadm" Path="C:\Program Files (x86)\Persits Software\AspJpeg\Bin" SubPath="" AceFlags="ThisFolderAndFiles" AccessMask="FullAccess" EntryFlags="0" />
<Entry AccounType="1" Account="Psacln" Path="C:\Program Files (x86)\Persits Software\AspPDF\Bin" SubPath="" AceFlags="ThisFolderAndFiles" AccessMask="FullAccess" EntryFlags="0" />
<Entry AccounType="1" Account="Psaadm" Path="C:\Program Files (x86)\Persits Software\AspPDF\Bin" SubPath="" AceFlags="ThisFolderAndFiles" AccessMask="FullAccess" EntryFlags="0" />
</Entries>
(Psacln may have been enough in this case but I wasn't taking chances and added Psaadm also.)
This tells Plesk to apply Full Permissions for the users Psacln & Psaadm to the directory and files (.dll) contained inside
Doing this is alone is not enough, we need to tell Plesk to action these new instructions for the first time (it's done automatically after this point in the future).
Using Command Prompt navigate to the location of ApplySecurity.exe (PATH_TO_PLESK\plesk\admin\bin\)
Once inside the directory enter the following command
Code:
ApplySecurity.exe --apply-to-directory --directory="PATH_TO_THE_DIRECTORY"
Replacing PATH_TO_THE_DIRECTORY with an example from my mailroot\pickup scenario would be entered like this
Code:
ApplySecurity.exe --apply-to-directory --directory="C:\inetpub\mailroot\Pickup"
Do the above for each directory that you have listed in your xml files.
Alternatively, if you have a lot of time to spare, you can force Plesk to process all instructions contained in the xml files by typing the following
Code:
ApplySecurity.exe --apply
Be warned, the above line can be a lengthy process!
More information on Disc Security Customisations can be read here
http://download1.parallels.com/Ples...nistration-guide/index.htm?fileName=49493.htm
More information on ApplySecurity.exe command line instructions can be read here
http://download1.parallels.com/Ples...ne/plesk-win-cli/index.htm?fileName=45411.htm