Cannot #reclaimAll ... fails with a SecurityError

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Cannot #reclaimAll ... fails with a SecurityError

GLASS mailing list
Hi,

I am trying to do a reclaimAll in my local gemstone (running in OSX). I am running the following code:

System beginTransaction. 
SystemRepository reclaimAll.

And the user I am using to run that code (the one that holds and runs my app) is created with this privileges:

(AllUsers userWithId: 'userXXX')
addPrivilege: #'CodeModification';
     addPrivilege: #'UserPassword';
     addPrivilege: #'OtherPassword';
     addPrivilege: #'GarbageCollection';
     addPrivilege: #'SystemControl';
     addPrivilege: #'SessionAccess';
     addPrivilege: #'FileControl';
     addPrivilege: #'SessionPriority';
     addGroup: 'DataCuratorGroup'.

As you can see, it does have GarbageCollection and SystemControl added.

The error I am getting is in #reclaimAll in the line:

newMinPages := 1 .
saveMinPages := self _setGcConfigAt: #reclaimMinPages put: newMinPages .

And this is the exact error:

a SecurityError occurred (error 2116), An attempt was made to modify the object #'reclaimMinPages'->40 in objectSecurityPolicyId 7 with insufficient authorization.

I know I may solve this by logging in in as GsUser, but I want to run #reclaimAll with MY user. 

Thoughts?

Thanks in advance,

--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Cannot #reclaimAll ... fails with a SecurityError

GLASS mailing list
This is related to ObjectSecurityPolicy and I suspect that you could change the policy for the object in question so that it could be modified by your other user. See the Programming Guide for details.

James

On Jul 2, 2015, at 1:22 PM, Mariano Martinez Peck via Glass <[hidden email]> wrote:

Hi,

I am trying to do a reclaimAll in my local gemstone (running in OSX). I am running the following code:

System beginTransaction. 
SystemRepository reclaimAll.

And the user I am using to run that code (the one that holds and runs my app) is created with this privileges:

(AllUsers userWithId: 'userXXX')
addPrivilege: #'CodeModification';
     addPrivilege: #'UserPassword';
     addPrivilege: #'OtherPassword';
     addPrivilege: #'GarbageCollection';
     addPrivilege: #'SystemControl';
     addPrivilege: #'SessionAccess';
     addPrivilege: #'FileControl';
     addPrivilege: #'SessionPriority';
     addGroup: 'DataCuratorGroup'.

As you can see, it does have GarbageCollection and SystemControl added.

The error I am getting is in #reclaimAll in the line:

newMinPages := 1 .
saveMinPages := self _setGcConfigAt: #reclaimMinPages put: newMinPages .

And this is the exact error:

a SecurityError occurred (error 2116), An attempt was made to modify the object #'reclaimMinPages'->40 in objectSecurityPolicyId 7 with insufficient authorization.

I know I may solve this by logging in in as GsUser, but I want to run #reclaimAll with MY user. 

Thoughts?

Thanks in advance,

--
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Cannot #reclaimAll ... fails with a SecurityError

GLASS mailing list
In reply to this post by GLASS mailing list
Mariano,

Hmmm looks like a bug ... you are using 3.1.0.6, right ...

Dale

On 07/02/2015 01:22 PM, Mariano Martinez Peck via Glass wrote:
Hi,

I am trying to do a reclaimAll in my local gemstone (running in OSX). I am running the following code:

System beginTransaction. 
SystemRepository reclaimAll.

And the user I am using to run that code (the one that holds and runs my app) is created with this privileges:

(AllUsers userWithId: 'userXXX')
addPrivilege: #'CodeModification';
     addPrivilege: #'UserPassword';
     addPrivilege: #'OtherPassword';
     addPrivilege: #'GarbageCollection';
     addPrivilege: #'SystemControl';
     addPrivilege: #'SessionAccess';
     addPrivilege: #'FileControl';
     addPrivilege: #'SessionPriority';
     addGroup: 'DataCuratorGroup'.

As you can see, it does have GarbageCollection and SystemControl added.

The error I am getting is in #reclaimAll in the line:

newMinPages := 1 .
saveMinPages := self _setGcConfigAt: #reclaimMinPages put: newMinPages .

And this is the exact error:

a SecurityError occurred (error 2116), An attempt was made to modify the object #'reclaimMinPages'->40 in objectSecurityPolicyId 7 with insufficient authorization.

I know I may solve this by logging in in as GsUser, but I want to run #reclaimAll with MY user. 

Thoughts?

Thanks in advance,

--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Cannot #reclaimAll ... fails with a SecurityError

GLASS mailing list


On Thu, Jul 2, 2015 at 5:58 PM, Dale Henrichs via Glass <[hidden email]> wrote:
Mariano,

Hmmm looks like a bug ... you are using 3.1.0.6, right ...

Yes I am. 
But is funny is that I THINK this is working correctly in the production server and the gemstone user is created the same way....
mmmm I cannot right now, but soon  I will test in the server and let you know if it works there.

Thanks,
 


Dale


On 07/02/2015 01:22 PM, Mariano Martinez Peck via Glass wrote:
Hi,

I am trying to do a reclaimAll in my local gemstone (running in OSX). I am running the following code:

System beginTransaction. 
SystemRepository reclaimAll.

And the user I am using to run that code (the one that holds and runs my app) is created with this privileges:

(AllUsers userWithId: 'userXXX')
addPrivilege: #'CodeModification';
     addPrivilege: #'UserPassword';
     addPrivilege: #'OtherPassword';
     addPrivilege: #'GarbageCollection';
     addPrivilege: #'SystemControl';
     addPrivilege: #'SessionAccess';
     addPrivilege: #'FileControl';
     addPrivilege: #'SessionPriority';
     addGroup: 'DataCuratorGroup'.

As you can see, it does have GarbageCollection and SystemControl added.

The error I am getting is in #reclaimAll in the line:

newMinPages := 1 .
saveMinPages := self _setGcConfigAt: #reclaimMinPages put: newMinPages .

And this is the exact error:

a SecurityError occurred (error 2116), An attempt was made to modify the object #'reclaimMinPages'->40 in objectSecurityPolicyId 7 with insufficient authorization.

I know I may solve this by logging in in as GsUser, but I want to run #reclaimAll with MY user. 

Thoughts?

Thanks in advance,

--


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass




--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Cannot #reclaimAll ... fails with a SecurityError

GLASS mailing list
In reply to this post by GLASS mailing list
Take a look at:
((AllUsers userWithId: 'GcUser') objectNamed: #'UserGlobals') objectSecurityPolicy. 
Then take a look at:
System myUserProfile groups.
Your code should work as DataCurator since that user is in the System group, which has write permission to #’UserGlobals’ for GcUser.

I suspect that UserXXX is not in the System group. With the privileges you have granted, your user can initiate GC operations, but not adjust GC parameters.

James

On Jul 2, 2015, at 1:56 PM, James Foster <[hidden email]> wrote:

This is related to ObjectSecurityPolicy and I suspect that you could change the policy for the object in question so that it could be modified by your other user. See the Programming Guide for details.

James

On Jul 2, 2015, at 1:22 PM, Mariano Martinez Peck via Glass <[hidden email]> wrote:

Hi,

I am trying to do a reclaimAll in my local gemstone (running in OSX). I am running the following code:

System beginTransaction. 
SystemRepository reclaimAll.

And the user I am using to run that code (the one that holds and runs my app) is created with this privileges:

(AllUsers userWithId: 'userXXX')
addPrivilege: #'CodeModification';
     addPrivilege: #'UserPassword';
     addPrivilege: #'OtherPassword';
     addPrivilege: #'GarbageCollection';
     addPrivilege: #'SystemControl';
     addPrivilege: #'SessionAccess';
     addPrivilege: #'FileControl';
     addPrivilege: #'SessionPriority';
     addGroup: 'DataCuratorGroup'.

As you can see, it does have GarbageCollection and SystemControl added.

The error I am getting is in #reclaimAll in the line:

newMinPages := 1 .
saveMinPages := self _setGcConfigAt: #reclaimMinPages put: newMinPages .

And this is the exact error:

a SecurityError occurred (error 2116), An attempt was made to modify the object #'reclaimMinPages'->40 in objectSecurityPolicyId 7 with insufficient authorization.

I know I may solve this by logging in in as GsUser, but I want to run #reclaimAll with MY user. 

Thoughts?

Thanks in advance,

--
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass



_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Cannot #reclaimAll ... fails with a SecurityError

GLASS mailing list


On Thu, Jul 2, 2015 at 6:13 PM, James Foster <[hidden email]> wrote:
Take a look at:
((AllUsers userWithId: 'GcUser') objectNamed: #'UserGlobals') objectSecurityPolicy. 
Then take a look at:
System myUserProfile groups.
Your code should work as DataCurator since that user is in the System group, which has write permission to #’UserGlobals’ for GcUser.

I suspect that UserXXX is not in the System group. With the privileges you have granted, your user can initiate GC operations, but not adjust GC parameters.


Thanks James!!! You nailed it. I added my user to 'System' group and it worked. Now I wonder....#reclaimAll has always been failing since forever in my servers??? hahahahah . I need to test this tomorrow.... In either case, as far as I understand, the #reclaimAll is NOT MANDATORY but an option to eagerly reclaim at times where system is less used, (things will be reclaimed if needed), as opposite to MFC which I HAVE to do it.

Thank you both,


 
James

On Jul 2, 2015, at 1:56 PM, James Foster <[hidden email]> wrote:

This is related to ObjectSecurityPolicy and I suspect that you could change the policy for the object in question so that it could be modified by your other user. See the Programming Guide for details.

James

On Jul 2, 2015, at 1:22 PM, Mariano Martinez Peck via Glass <[hidden email]> wrote:

Hi,

I am trying to do a reclaimAll in my local gemstone (running in OSX). I am running the following code:

System beginTransaction. 
SystemRepository reclaimAll.

And the user I am using to run that code (the one that holds and runs my app) is created with this privileges:

(AllUsers userWithId: 'userXXX')
addPrivilege: #'CodeModification';
     addPrivilege: #'UserPassword';
     addPrivilege: #'OtherPassword';
     addPrivilege: #'GarbageCollection';
     addPrivilege: #'SystemControl';
     addPrivilege: #'SessionAccess';
     addPrivilege: #'FileControl';
     addPrivilege: #'SessionPriority';
     addGroup: 'DataCuratorGroup'.

As you can see, it does have GarbageCollection and SystemControl added.

The error I am getting is in #reclaimAll in the line:

newMinPages := 1 .
saveMinPages := self _setGcConfigAt: #reclaimMinPages put: newMinPages .

And this is the exact error:

a SecurityError occurred (error 2116), An attempt was made to modify the object #'reclaimMinPages'->40 in objectSecurityPolicyId 7 with insufficient authorization.

I know I may solve this by logging in in as GsUser, but I want to run #reclaimAll with MY user. 

Thoughts?

Thanks in advance,

--
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass





--

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass