Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/landscape/manager/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyc


Tc@sddlZddlmZddlmZmZmZddlmZddl	m
Z
ddlmZde
fdYZ
d	efd
YZdS(iN(tencode_dict_if_needed(tComponentConnectortComponentPublishertremote(tUserManagement(t
ManagerPlugin(tRemoteUserMonitorConnectortUserManagercBseZdZdddZdZdZedZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZRS(tusermanagers/etc/shadowcCs|pt|_||_i
|jd6|jd6|jd6|jd6|jd6|jd6|j	d6|j
d6|jd	6|jd
6|_
d|_dS(Nsadd-users	edit-users	lock-usersunlock-usersremove-users	add-groups
edit-groupsremove-groupsadd-group-membersremove-group-member(Rt_managementt_shadow_filet	_add_usert
_edit_usert
_lock_usert_unlock_usert_remove_usert
_add_groupt_edit_groupt
_remove_groupt_add_group_membert_remove_group_membert_message_typestNonet
_publisher(tselft
managementtshadow_file((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyt__init__s	








cCs{tt|j|||_t||jj|jj|_|jj	x'|j
D]}|jj||jqWWdS(s
        Schedule reactor events for generic L{Plugin} callbacks, user
        and group management operations, and resynchronization.
        N(
tsuperRtregistert	_registryRtregistrytreactortconfigRtstartRtregister_messaget_message_dispatch(RRtmessage_type((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRs	
cCs&|jr"|jjd|_ndS(s,Stop listening for incoming AMP connections.N(RtstopR(R((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyR&/s	
cCsg}|jryxt|jd}x_|D]W}|jd}t|dkr+|djdr|j|djqq+q+WWqtk
r}tj	d|qXn|S(s7Return a list of usernames with locked system accounts.trt:it!isError reading shadow file. %s(
R
topentsplittlent
startswithtappendtstriptIOErrortloggingterror(Rtlocked_usersRtlinetpartste((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pytget_locked_usernames5s	
%cstjjjjfd}j}|j||jj||jj||jfd|S(sDispatch the given user-change request to the correct handler.

        @param message: The request we got from the server.
        cs|_|jS(N(t
_user_monitortdetect_changes(tuser_monitor(R(sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyR9Ms	cs
jS(N(t
disconnect(tx(tuser_monitor_connector(sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyt<lambda>Us(RRR R!tconnecttaddCallbackt_perform_operationt
_send_changes(RtmessageR9tresult((RR=sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyR$Es
cCs6|d}|j|}t|}|j|||S(Nttype(RRtcall_with_operation_result(RRDRCR%tmessage_method((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRAXs


cCs|jj|dS(Nsoperation-id(R8R9(RRDRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRB_sc
CsE|jj|d|d|d|d|d|d|d|dS(	sRun an C{add-user} operation.tusernametnametpasswordsrequire-password-resetsprimary-group-nametlocationswork-numbershome-number(R	tadd_user(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRbscCsP|jj|dd|dd|dd|dd|dd|dd	|d
S(sRun an C{edit-user} operation.RHRJRIRKtwork_numberswork-numberthome_numbershome-numbertprimary_group_namesprimary-group-name(R	tset_user_details(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRls	

cCs|jj|dS(sRun a C{lock-user} operation.RH(R	t	lock_user(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyR
uscCs|jj|dS(s Run an C{unlock-user} operation.RH(R	tunlock_user(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRyscCs|jj|d|dS(sRun a C{remove-user} operation.RHsdelete-home(R	tremove_user(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyR}scCs|jj|dS(sRun an C{add-group} operation.t	groupname(R	t	add_group(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRscCs|jj|d|dS(sRun an C{edit-group} operation.RTsnew-name(R	tset_group_details(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRscCs|jj|d|dS(s%Run an C{add-group-member} operation.RHRT(R	tadd_group_member(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRscCs|jj|d|dS(s'Run a C{remove-group-member} operation.RHRT(R	tremove_group_member(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRscCs|jj|dS(s!Run an C{remove-group} operation.RT(R	tremove_group(RRC((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRsN(t__name__t
__module__RIRRRR&RR7R$RARBRRR
RRRRRRR(((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyRs$						
									tRemoteUserManagerConnectorcBseZeZRS((RZR[Rt	component(((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyR\s(R1tlandscape.lib.encodingRt
landscape.ampRRRtlandscape.user.managementRtlandscape.manager.pluginRtlandscape.monitor.usermonitorRRR\(((sA/usr/lib/python2.7/dist-packages/landscape/manager/usermanager.pyt<module>s