MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /usr/share/system-config-nfs/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/system-config-nfs/nfsExports.pyc
mò
]Dc@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	nfsClientcBsAtZdZeidƒZd„Zd„Zd„Zd„Z	RS(s1a specific NFS client of a share with its optionss4^(?P<client>[^\(\)]+)(?:\((?P<options>[^\(\)]+)\))?$cCshg|_tii|ƒ}|pt|ƒ‚n|idƒ|_y$|idƒ}|p
d}nWnt
j
o
d}nXg|_	h|_xË|idƒD]º}y`t|ƒ}t|ƒ}|ii|iƒp||i|i<n|iitdƒ|ƒWnAtj
o5t|tƒo|iitdƒ|ƒqPnX|i	i|ƒq¦WdS(NtclienttoptionsRBt,sduplicate option '%s'sunknown option '%s'(R	twarningsRft
re_clientspectmatcht
clientspecRtgroupRgRht
IndexErrortoptions_by_typeR9RRRCRbRR(tappendRR#(R	RmRCRRhRl((RRs2			#cCsf|i}|ioOtt|iƒ}xd|jo|idƒq(W|ddi|ƒ7}n|S(NRBs(%s)Ri(	R	Rgt_nfsClient__strRhtmapR%toptions_strstremovetjoin(R	RrRt((RR8s	

cCsKt|ƒ}|ii|ƒo|i|i|ƒSn|id|ƒSdS(N(	RaR:R(R	RpRReRR(R	R:R(((RReAscCsƒt|ƒ}|ii|iƒo=|i|i}||i|i<||i|ii	|ƒ<n!|ii
|ƒ||i|i<dS(N(RbRRCR	RpRR(t	oldoptionRhtindexRq(R	RRwRC((RRdKs(
RRRtretcompileRkRRReRd(((RRfs				
tnfsShareLinecBsAtZdZeidƒZd„Zd„Zd„Zd„Z	RS(s!an arbitrary line in /etc/exportss%^(?P<line>[^#]*?)(?P<comment>\s*#.*)$cCs8g|_|i|iƒƒ\|_|_|iƒdS(N(R	RjtparseCommenttlinetstriptcommenttparse(R	R}((RRYs	!cCsKtii|ƒ}|o"|idƒ}|idƒ}nd}||fS(s'parse and strip off comments from linesR}RN(R{t
re_commentRlR}RnRR(R	R}RRl((RR|^scCsdS(N((R	((RR€hscCs(|i}|io||i7}n|S(N(R	R}t_nfsShareLine__strR(R	R‚((RRks	
(
RRRRyRzRRR|R€R(((RR{Us		
	tnfsShareLineEmptycBstZdZd„ZRS(s/an empty (or comment only) line in /etc/exportscCsCti|ƒt|iiƒƒdjott|ƒƒ‚ndS(Ni(R{R€R	R!R}R~RR%(R	((RR€ss
(RRRR€(((RRƒqstnfsSharecBsJtZdZeidƒZd„Zd„Zd„Zd„Z	d„Z
RS(s*an NFS share specification in /etc/exportss1^(?P<path>/\S*)(?P<sep>\s+)(?P<clientspecs>\S.*)$cCs
t|iƒS(N(R!R	tclients(R	((Rt__len__|scCsH|i|iditt|iƒƒ}|io||i7}n|S(Nt (	R	tpathtsepRvRsR%R…t_nfsShare__strR(R	RŠ((RRs)
cCs»tii|iƒ}|ptti|ƒƒ‚n|idƒ|_	|idƒ|_
|idƒiƒ}g|_
x=|D]5}t|ƒ}|ii|iƒ|i
i|ƒq~WdS(s&parse the NFS share specification lineRˆR‰tclientspecsN(R„tre_specRlR	R}RR{RRnRˆR‰R9R‹R…RmRfRgRjR)Rq(R	R‹RmRgRl((RR€…s	cCsWt|tƒo|i|ƒ}n||ijo|ii|ƒn
t|ƒ‚dS(N(R#RgR%R	t	getClientR…RuR*(R	Rg((RRu“s
cCs0x)|iD]}|i|jo|Sq
q
WdS(N(R	R…Rgt	clientstrR(R	RŽRg((RR›s

(RRRRyRzRŒR†RR€RuR(((RR„xs				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(RtinstantiatedRR-R	treadFile(R	((RR¥s
	cCs
tt_dS(N(RRR(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(RvRsR	R“(R	((RR±scCsVy)tddƒ}|iƒ}|iƒWntj
o
g}nXg|_g|_d}xò|D]ê}|d7}d}y„t
|ƒ}yt|ƒ}Wnatj
oUyt|ƒ}Wqýtj
o/}|ii|tdƒ|iƒgƒqýXnXWntj
onXx'|iD]}|ii||gƒqW|ii|ƒqdWdS(sread and parse /etc/exportss/etc/exportstriiscouldn't parse line '%s'N(topentfdt	readlinestlinestclosetIOErrorR	R“RjtlinenrR}RtlineobjR{R„RRƒtpRqRtrstriptw(R	RRšRŸR˜R¡R}Rž((RR‘´s:		
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ˆRq(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©RqRRˆ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“RgRuR!(R	R¯R…Rg((RRuøs
cCsL||ijo|ii|ƒn||ijo|ii|ƒndS(N(R¯R	R“RqRgR…(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	((RtexportFss(RRRRRtfilenameRR’R†RR‘R¦RR¨R«RªRuR°R²R³(((RR¡s 						
					(R¢Rytcopytrhpl.translateRtN_t	translatet
textdomaint	ExceptionRRRR
RR/R1R7RDR-R`RaRbRfR{RƒR„R(RR
R`RµRƒR/RyRfR·R¸R„RbRRRaR{RR1RRDR7RR¢((Rt?s,			

-4É	<)

Anon7 - 2021