Kbase P20948: Umask is lost on file that is created by an AppServer or WebSpeed agent
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/18/2008 |
|
Status: Verified
SYMPTOM(s):
Umask is lost on file that is created by an AppServer or WebSpeed agent
File created from 4GL ignores umask setting
File is created in AppServer or WebSpeed procedure
File is created using OUTPUT TO statement
File is always created using OS default permissions
FACT(s) (Environment):
The user who started the AdminServer has the umask 027
The broker and the server log files also lose the umask
The AdminServerSystemOut.log, admserv.log and cmdplugin.log files have the umask same as the user who started the AdminServer
Progress 9.X
WebSpeed 3.x
OpenEdge 10.0X
OpenEdge 10.1A
UNIX
OpenEdge Server Technology Category: AppServer
CAUSE:
Bug# OE00087492
CAUSE:
The AdminServer is a Java application that runs ( via exec() ) a "C" binary who actually exec's the AppServer broker process. The umask inheritance chain between parent and child processes is broken using this combination of Java and "C" programs. So the default umask value, which is usually set to 022 for the system, is applied when the AppServer broker is exec'd.
FIX:
Upgrade to OpenEdge 10.1B or later release.
These releases implemented support to can change the umask in the PluginPolicy section of the AdminServerPlugins.properties file. This is where you can set the file permissions.
[PluginPolicy]
pluginclasspath=
classpath=
policyfile=C:\Progress\OpenEdge101c/java/java.policy
loginconfig=
classloader=java.net.URLClassLoader
jvmargs=
authpolicy=
umask=
Workaround:
Manually change the file permission after the file has been created by the WebSpeed agent. This can by accomplished by running cron job in a time interval.