KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21573/root/usr/share/system-config-nfs/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21573/root/usr/share/system-config-nfs/nfsExports.pyo
mò
’lFOc@sUdkZdkZdkZdklZlZdkiZeidƒdefd„ƒYZ	defd„ƒYZ
dfd„ƒYZd	fd
„ƒYZdefd„ƒYZ
d
e
fd„ƒYZdefd„ƒYZde
fd„ƒYZdefd„ƒYZedddƒeddddeƒeddddeƒedddƒedddƒed d!d ƒed"d#gd$d%gd"ƒed&d'gƒed(ƒed)d*d+d,d-d*ƒed.ƒed/ƒgZd0„Zd1fd2„ƒYZd3fd4„ƒYZd5fd6„ƒYZd7efd8„ƒYZd9efd:„ƒYZd;fd<„ƒYZdS(=N(t_sN_ssystem-config-nfstInstantiateErrorcBstZRS(N(t__name__t
__module__(((t*/usr/share/system-config-nfs/nfsExports.pyRst
ParseErrorcBstZdZRS(s
a parse error(RRt__doc__(((RRstopaqueChunkcBs tZdZd„Zd„ZRS(syany chunk of text that isn't a known object, in most cases a syntax error,
    but can also be e.g. an unknown NFS optioncCs|g|_||_dS(N(tchunktselftnames(R	R((Rt__init__'scCs|iS(N(R	R(R	((Rt__str__+s(RRRRR(((RR$s	t
nfsOptionTypecBsMtZdZeed„Zd„Zd„Zed„Zd„Z	d„Z
RS(sgeneric NFS option typecCs||_||_dS(N(tdefaultR	tprintdefault(R	RR((RR0s	cCs|p|iSn|SdS(N(t
optionspecR	R(R	R((Rt	getOption4scCs
|i|ƒS(N(R	RR(R	R((RtgetOptionNormalized:scCs
|i|ƒS(N(R	RR(R	Rtdummy((RtgetValue=scCs
||ijS(N(RR	R(R	R((Rt	isDefault@scCstS(N(tFalse(R	R((RtisValidOptionSpecCs(RRRtNoneRRRRRRR(((RR
.s			tnfsOptionTypeAliasablecBs2tZdZd„Zd„Zd„Zd„ZRS(s(generic NFS option type with alias namescOs‡|idƒo|d}nd}|idƒo|d}nt}||_ti	|d|d|ƒg}t|ƒ}xÆt
t|ƒƒD]²}t||tƒon„t||tƒot||ƒ||<nXt||tƒpt||tƒo||g||<ntdt||ƒƒ‚|i||ƒqW||_||_
|o%|i|ƒotd|ƒ‚ndS(NRRsI don't understand type '%s'sdefault %s not found in names(tkargsthas_keyRRRRtgenericNameR	R
RtallNamestlistt
aliasListstrangetlentit
isinstancettupletstrtunicodet	TypeErrorttypetextendRtKeyError(R	RRRRRRR"((RRHs0	(		cCs=x*|iD]}||jo|dSq
q
Wt|ƒ‚dS(Ni(R	RtaliasesRR*(R	RR+((RRds


cCs
||ijS(N(RR	R(R	R((RRjscCs)||ijotSn|i|ƒSdS(N(t
optionnameR	RtTrueR(R	R,((RtisResponsibleForms(RRRRRRR.(((RRFs
			tnfsOptionTypeNStatecBs)tZdZd„Zd„Zd„ZRS(sn-state NFS option typecCsLx9tt|iƒƒD]"}||i|jo|SqqWt|ƒ‚dS(N(R R!R	RR"RR*(R	RR"((RtgetOptionIndexvs
cCs|i|i|ƒdS(Ni(R	RR0R(R	R((RR|scCs|i|ƒ|i|iƒjS(N(R	RRR(R	R((RRs(RRRR0RR(((RR/ss		tnfsOptionTypeBooleancBs,tZdZed„Zd„Zd„ZRS(sboolean NFS option typec	CsJt|tƒo
|}n|d}ti||||d|d|ƒdS(NiRR(
R#t	trueNamesR%RR/RR	t
falseNamesRR(R	R2R3RRR((RR„s

cCs_ti||ƒ}ti||ƒ}|i|ƒ}|i|ƒ}||jot	Snt
SdS(N(R
RR	Rtaliast	aliasspecR0R"tjR-R(R	RR4R"R6R5((RR‹s
cCsT|tjo|iddSn1|tjo|iddSnti||ƒSdS(Nii(RR-R	RRR/R(R	R((RR•s


(RRRRRRR(((RR1‚s	
tnfsOptionTypeParametercBs\tZdZed„Zd„Zd„Zd„Zd„Zed„Z	d„Z
d„ZRS(	sparametrized NFS option typecCsAt|tƒo
|}n|d}ti|||d|ƒdS(NiR(R#R
R%RRRR	R(R	R
RR((RRŸs

cCs"|iddƒ\}}||fS(Nt=i(Rtsplittnametvalue(R	RR:R;((Rt
_getNameValue¦scCsa|i|ƒo|i|ƒSn=|i|ƒo|idd|ifSntd|ƒ‚dS(Nis&can't handle option specification '%s'(R	RRR<R.RRR*(R	R((RtgetNameValueªs
cCsRt|ƒp'|ddjo&|idƒdjot|ƒ‚n|i|ƒS(Nit!R8iÿÿÿÿ(R!Rtfindt
ValueErrorR	t
_getOption(R	R((RR²s5cCswt|ƒo|ddjo
t}nti||ƒ}|tjo|idd}n|tjo
d}n|S(NiR>t(	R!RRtoptionRRR	R-R(R	RRC((RRA·s



cCs'|o|i|ƒdSn|iSdS(Ni(RR	R=R(R	RR4((RRÂscCsEy!ti||i|ƒdƒSWnttfj
otSnXdS(Ni(RRR	R<RR@R'R(R	R((RRÈs!cCs|i|dƒS(NR8(R	RR,(R	R,((RR.Îs(RRRRRR<R=RRARRR.(((RR7s					tnfsOptionTypeParameterOptionalcBs&tZed„Zd„Zd„ZRS(NcCsti|||ƒdS(N(R7RR	R
R(R	R
R((RRÒscCsËt|tƒo9|o|iddtfSqÇ|iddtfSnt|tƒonyti	||ƒSWqÇt
j
oGt|ƒdjo|ddjo|tfSqÃ|dtfSqÇXndS(NiR>i(R#RtboolR	RR-RR%R7R<R@R!(R	R((RR<Õs$cCs
|i|ƒS(N(R	RAR(R	R((RRäs(RRRRR<R(((RRDÑs	tsecuretinsecuretrwtroRtsynctasynctwdelayt	no_wdelaythidetnohidet
subtree_checktno_subtree_checktsecure_lockstauth_nlmtinsecure_lockstno_auth_nlmtmpt
mountpointtfsidtsquashtroot_squashtno_root_squasht
all_squashRtanonuidtanongidcCs6d}x)tD]!}|i|ƒo|}Pq
q
W|S(N(Rt	foundtypetnfsKnownOptionTypesR(R.R:(R:R(R_((RtnfsOptionTypeLookupös	t	nfsOptioncBs5tZdZd„Zd„Zd„Zed„ZRS(s,an actual NFS option (of a client and share)cCs­t|ƒo|ddjo|d}n|}t|idƒdƒ|_|iptd|ƒ‚ny|i|ƒWn)t	j
ott
dƒ|ƒ‚nXdS(NiR>iR8s!unknown option specification '%s's!illegal option specification '%s'(R!Rt_optionspecRaR9R	R(RtsetR@R(R	RRc((RRs
cCs7|iip|ii|iƒo|iSndSdS(NRB(R	R(RRRC(R	((RR
s$cCs|ii|ƒ|_dS(N(R	R(RRRC(R	R((RRdscCs|ii|i|ƒS(N(R	R(RRCR4(R	R4((Rtgets(RRRRRRdRRe(((RRbþs
	
		t	nfsClientcBsDtZdZeidƒZdd„Zd„Zd„Zd„Z	RS(s1a specific NFS client of a share with its optionss4^(?P<client>[^\(\)]+)(?:\((?P<options>[^\(\)]+)\))?$RBcCsˆ||_g|_tii|ƒ}|pt|ƒ‚n|idƒ|_	y$|idƒ}|p
d}nWntj
o
d}nXg|_
h|_t
|ƒdjoÒxÏ|idƒD]º}y`t|ƒ}t|ƒ}|ii|iƒp||i|i<n|iitdƒ|ƒWnAtj
o5t|tƒo|iitdƒ|ƒqlnX|i
i|ƒqÂWndS(NtclienttoptionsRBit,sduplicate option '%s'sunknown option '%s'(tsepR	twarningsRft
re_clientspectmatcht
clientspecRtgroupRgRht
IndexErrortoptions_by_typeR!R9RRRCRbRR(tappendRR#(R	RnRjRCRRhRm((RRs6				#cCsm|i}|ioOtt|iƒ}xd|jo|idƒq(W|ddi|ƒ7}n||i	S(NRBs(%s)Ri(
R	Rgt_nfsClient__strRhtmapR%toptions_strstremovetjoinRj(R	RsRu((RR:s	

cCsKt|ƒ}|ii|ƒo|i|i|ƒSn|id|ƒSdS(N(	RaR:R(R	RqRReRR(R	R:R(((RReCscCsƒt|ƒ}|ii|iƒo=|i|i}||i|i<||i|ii	|ƒ<n!|ii
|ƒ||i|i<dS(N(RbRRCR	RqRR(t	oldoptionRhtindexRr(R	RRxRC((RRdMs(
RRRtretcompileRlRRReRd(((RRfs			
tnfsShareLinecBsNtZdZeideieiBƒZd„Zd„Z	d„Z
d„ZRS(s8an arbitrary (eventually continued) line in /etc/exportss'\A(?P<line>[^#]*?)(?P<comment>\s*#.*)\ZcCs8g|_|i|iƒƒ\|_|_|iƒdS(N(R	RktparseCommenttlinetstriptcommenttparse(R	R~((RR[s	!cCsKtii|ƒ}|o"|idƒ}|idƒ}nd}||fS(s'parse and strip off comments from linesR~R€N(R|t
re_commentRmR~RoR€R(R	R~R€Rm((RR}`scCsdS(N((R	((RRjscCs4|i}|io||i7}n|iddƒS(Ns
s\
(R	R~t_nfsShareLine__strR€treplace(R	Rƒ((RRms	
(RRRRzR{t	MULTILINEtDOTALLR‚RR}RR(((RR|Ws		
	tnfsShareLineEmptycBstZdZd„ZRS(s/an empty (or comment only) line in /etc/exportscCsCti|ƒt|iiƒƒdjott|ƒƒ‚ndS(Ni(R|RR	R!R~RRR%(R	((RRvs
(RRRR(((RR‡tstnfsSharecBsftZdZeideieiBƒZeidƒZd„Z	d„Z
d„Zd„Zd„Z
RS(s*an NFS share specification in /etc/exportss1\A(?P<path>/\S*)(?P<sep>\s+)(?P<clientspecs>.*)\Zs-^(?P<clientspec>\S+)(?P<sep>\s*)(?P<rest>.*)$cCs
t|iƒS(N(R!R	tclients(R	((Rt__len__€scCsT|i|iditt|iƒƒ}|io||i7}n|i	ddƒS(Nt s
s\
(
R	tpathRjRwRtR%R‰t_nfsShare__strR€R„(R	R((RRƒs)
cCs!tii|iƒ}|ptti|ƒƒ‚n|idƒ|_	|idƒ|_
|idƒ}g|_x©t
|ƒdjo•tii|ƒ}|ptti|ƒƒ‚n|idƒ}|idƒ}t||ƒ}|ii|iƒ|ii|ƒ|idƒ}qtWdS(s&parse the NFS share specification lineRŒRjtclientspecsiRntrestN(Rˆtre_specRmR	R~RR|RRoRŒRjtcspecstrR‰R!tre_cspectmRnRfRgRkR)Rr(R	RnRjR“RgR‘Rm((RRŠs&	cCsWt|tƒo|i|ƒ}n||ijo|ii|ƒn
t|ƒ‚dS(N(R#RgR%R	t	getClientR‰RvR*(R	Rg((RRvžs
cCs0x)|iD]}|i|jo|Sq
q
WdS(N(R	R‰Rgt	clientstrR(R	R•Rg((RR”¦s

(RRRRzR{R…R†RR’RŠRRRvR”(((RRˆ{s				t
nfsExportscBs˜tZdZeZdZd„Zd„Zd„Zd„Z	d„Z
d„Zed„Z
d	„Zeed
„Zd„Zd„Zd
„Zd„ZRS(s0class holding all information about /etc/exportss/etc/exportscCs1tiotdƒ‚ntt_|iƒdS(Ns3this class can't be instantiated more than one time(R–tinstantiatedRR-R	treadFile(R	((RR°s
	cCs
tt_dS(N(RR–R—(R	((Rt__del__¶scCs
t|iƒS(N(R!R	tlineobjs(R	((RRйscCsditd„|iƒƒS(NRBcCst|ƒdS(Ns
(R%tx(R›((Rt<lambda>½s(RwRtR	Rš(R	((RR¼sc	CsÇy)tddƒ}|iƒ}|iƒWntj
o
g}nXg|_g|_d}d}x]|D]U}|d7}|ddjo|d }ny|idƒ||7}Wn(t
j
o||d d7}qjnXd
}y„t|ƒ}yt|ƒ}Wnatj
oUyt|ƒ}Wqhtj
o/}|ii|td	ƒ|iƒgƒqhXnXWntj
onXx'|iD]}|ii||gƒq‰W|ii|ƒd}qjWd
S(sread and parse /etc/exportss/etc/exportstriRBiiÿÿÿÿs
s
string-escapescouldn't parse line '%s'N(topentfdt	readlinestlinestclosetIOErrorR	RšRktlinenrR~t_linetdecodeR@RtlineobjR|RˆRR‡tpRrRtrstriptw(	R	R¥R¤R¡R§R¨RŸRªR~((RR˜¿sN		

4
cCsZytiddƒWntj
onXtddƒ}|it|ƒƒ|iƒdS(Ns/etc/exportss/etc/exports.bakRª(	tostrenametOSErrorRžRŸtwriteR%R	R¢(R	RŸ((Rt	writeFileêscCsWg}xJ|iD]?}t|tƒo)|p||ijo|i|ƒqqW|S(N(tsharesR	RšR§R#RˆRŒRr(R	RŒR°R§((Rt	getSharesôs
(cCs|idtƒ|_dS(Nt	nonshares(R	tconsolidatedSharesR-Rš(R	((RtconsolidateSharesûscCs¬|p
|i}ng}h}x…|D]}}t|tƒp|o|i|ƒq¤q'|i	|i
ƒp|i|ƒ|||i
<q'||i
ii|iƒq'W|S(N(
RšR	tnewlineobjstnewlineobjs_by_pathtoR#RˆR²RrRRŒR‰R)(R	RšR²R·R¶Rµ((RR³þs

cCszt|tƒo
|g}n||ijoIx|D]}|i|ƒq4Wt|ƒdjo|ii|ƒqvndS(Ni(	R#R‰RftshareR	RšRgRvR!(R	R¸R‰Rg((RRvs
cCsL||ijo|ii|ƒn||ijo|ii|ƒndS(N(R¸R	RšRrRgR‰(R	R¸Rg((RtaddscCstidƒtidƒdS(Ns)/sbin/service portmap restart > /dev/nulls#/sbin/service nfs start > /dev/null(R«tsystem(R	((RtstartNfss
cCstidƒdS(Ns/usr/sbin/exportfs -r(R«Rº(R	((RtexportFs#s(RRRRR—tfilenameRR™RŠRR˜R¯RR±R´R³RvR¹R»R¼(((RR–¬s 					+	
					(R«Rztcopytrhpl.translateRtN_t	translatet
textdomaint	ExceptionRRRR
RR/R1R7RDR-R`RaRbRfR|R‡RˆR–(RR
R`R¾R‡R/RzRfRÀRÁRˆRbRRRaR|RR1RRDR7R–R«((Rt?s,			

-4É	>1

Anon7 - 2021