mirror of
https://github.com/altlinux/gpupdate.git
synced 2025-03-22 18:50:15 +03:00
Fix gpupdate run for user
This commit is contained in:
parent
d4cf42a8e5
commit
60d4038586
@ -91,14 +91,13 @@ def runner_factory(args, target):
|
||||
else:
|
||||
# User may only perform gpupdate for machine (None) or
|
||||
# itself (os.getusername()).
|
||||
if args.user:
|
||||
username = pwd.getpwuid(os.getuid()).pw_name
|
||||
if args.user != username:
|
||||
logstring = (
|
||||
'Unable to perform gpupdate for {} with current'
|
||||
' permissions, will update current user settings'
|
||||
)
|
||||
logging.error(logstring.format(args.user))
|
||||
username = pwd.getpwuid(os.getuid()).pw_name
|
||||
if args.user != username:
|
||||
logstring = (
|
||||
'Unable to perform gpupdate for {} with current'
|
||||
' permissions, will update current user settings'
|
||||
)
|
||||
logging.error(logstring.format(args.user))
|
||||
|
||||
if is_oddjobd_gpupdate_accessible():
|
||||
logging.debug('Starting gpupdate via D-Bus')
|
||||
@ -106,8 +105,9 @@ def runner_factory(args, target):
|
||||
user_runner = None
|
||||
if target == 'All' or target == 'Computer':
|
||||
computer_runner = dbus_runner()
|
||||
if target == 'All' or target == 'User':
|
||||
user_runner = dbus_runner(username)
|
||||
if username:
|
||||
if target == 'All' or target == 'User':
|
||||
user_runner = dbus_runner(username)
|
||||
return (computer_runner, user_runner)
|
||||
else:
|
||||
logging.warning('oddjobd is inaccessible')
|
||||
|
@ -19,6 +19,7 @@ import logging
|
||||
import dbus
|
||||
|
||||
from .logging import slogm
|
||||
from .users import is_root
|
||||
|
||||
|
||||
class dbus_runner:
|
||||
@ -40,7 +41,10 @@ class dbus_runner:
|
||||
#print(obj.Introspect()[0])
|
||||
if self.username:
|
||||
logging.info(slogm('Starting GPO applier for user {} via D-Bus'.format(self.username)))
|
||||
result = self.interface.gpupdatefor(dbus.String(self.username))
|
||||
if is_root():
|
||||
result = self.interface.gpupdatefor(dbus.String(self.username))
|
||||
else:
|
||||
result = self.interface.gpupdate()
|
||||
print_dbus_result(result)
|
||||
else:
|
||||
logging.info(slogm('Starting GPO applier for computer via D-Bus'))
|
||||
|
Loading…
x
Reference in New Issue
Block a user