PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` % `b ab8nbbXbCc!`c/cbc$e7:eMreei$Jj4ojDj&jkAlQl!cmmmKxnpnx5oo'4p2\pWp_p,Gq-tq)q2qNqVNr-rGr:s=Vsgs]sHZtDtLts5uunvX w0bw\wrwmcx`xU2yWyPy1zvz^M{{{(|L|Z}k} ~~>7qQÂgyOm1vK†sIk{VhTBҌ`w>aʎ?,l3"KԐ: 2[K^ڑz9[|ATPHeo|o_[L7N@/>pOnvn<g"q9K6PӜa5=Uskɞ~5vUN5MڣZߤPLw7cQ{!:9t'hpv٬XPQTP/Eu^9]`Z7ZQ8C9|n%f+fXZ% 1} ``maQ06W1z+U CX 6 n)x?Q#x%^D#6\ t H oB8\{+(>}C>$\€ HtCY.Ẻ ,ד @ ߝG H hl1Igwu c!v33:BCCC DDuEF7FDH$WH|HlJJHLMQ9UK\ 3`>T`o`tg'xmmmmmmn%/nUn2}! 1<ِF [  >CKҺ*ؽl'\H#lk^\]' TGl[ K_ae-gv#,Pg}۳ ~v 4 x2]qotVx7CBS7#e%8O&4Me  "R.#*C\w! %@_}%!%1pW,2*h:H8J@>4<><:{8LF<J>8 FF@J@<Z:0.826k:084G0|./4 <AT~X4,Ea0.02L<.A- @Nk{E^8D}#!8-@3t 2L-z   3Sey!;W Zd   !.10`'67%? e rX"t* - A  2G Fh)& 9 Z'{%.()!.Kz/}T.PTP]3    -9="F it^$w9   x `k q   (!1Sj%0-2%X0q   15157g#6%\y 7.%5Uk2Gf %:J"](80&99`\ /  C  Q ^ ;} %   = !9!/[!$!'!.!0""8"["s""""""%#E8#~#!#$#%#.$)7$=a$7$8$3%.D% s%%% %%% &'&1E&,w&0&<&.')A'(k''+','!(%$(1J(%|( ((2((3)#I)m))$)))* *?*%[*"**$**"+!'+(I+r+$++.+&,0-,3^,+,&,!,-$-<-S-o- -%-*-6-%3.1Y....../)-/+W//#/!///0!.0P0g0000 00.0*0@)1j18p1:11$1:2S2\j2222 3D#3Ph3353J3MI4L4O445C5Z5s535555 5/6026 c6+66F?7*777 7 77 7 78 88859";92^9)999(9:$#:YH:,:1:?;*A;1l;+;2;*;1(<1Z<1<B<+=0-=)^=.=@=/=/(>2X>>>7>>->*(? S?5^? ? ??Q? @@9@|@0CA/tAAA*A*A5&B+\BBBBBBBC$#C HCUC!jCC C~C 9DDD,TD*D D DDDDE E$E3EGE]EvEE EEE EEEF F;FCFaF1iFF F"F#F G"AGdG{GG-GG!GGG HH H 'H>3HrHHHH*HHH I I +I7I,OI[|I#I IJJ JV-JJJJ5J*JDK_SK+KKnL MMN'N(N&N&ODO?O3P!;P)]P P PPPPPPQ"Q1;Q!mQ-Q&Q"Q2R:RTRhRRRRRRSS#S(5S#^S#SS4S&ST 1TIRT(TT T"TUU9UIU_U xUU U&U2UV8*V9cVVVVVOVW2/W1bW@WW WWW X%X"AXHdXGXKXJAYLYKYM%ZLsZ%Z&Z( [)6['`[([)[)['\)-\*W\&\'\,\'\&&]'M]&u])]&](])^.@^'o^&^)^'^'_'8_)`_&_(_(_'`&+`R`$c` ``` `"`$` aa-a}Ba/aab.b Ab Nb#[bbb bRbc&%cHLcIcc$cCdZdbd'wd dd/dd e(e Deeee"e%e'eff6fHfXf!ufffff)fg6gMg ^g'jgiggh+hAh ^h kh*yh h h hh h h)h<i4Xi3ii#i i jjj+j=j;Vjjj jj jjj j7k ?kIkcktk kk!l-7l-el4lAl- m8mLmemRzm m~mWn!n oooV3o&o o o3o}o {p pp p p9p\pMqRqcqkq,qqq?q-r+Frrrr r!rr(r%s5s2Qss$s ss'st+#t.Ot!~ttt1tuuuu vv #v/v6v Sv_vxvvvvv vww4wFw Ww+dwwwwwwx0x?xSxfx{xxx!xxxy y9yYyhyyy yyyy zz6zJzbzyzz[z{!{:{X{ q{ { { {!{{{|&|5A|$w|||%|| }&=}d}}} }}}'~$C~ h~&~~$~#~!&9!`.Lh؀&-I#hفCf5UV@I!ǃ *& Q$]#0ׄdބACCɅ!߅  "(C)l Ɇ܆@19Se w,LJ߇!:1El 765%l%ω+ 9S!p!;=M.P|O͋Rpˌ'ތ ?&Y,>ˍ- 280k"+.$'?'g!&(؏:<<%y'&ǐ"!43'h"!,Ց"/%0U*%)ג*),'V.~-*ۓC JWW+"۔#"0B2s'2Ε2&KFr7.+ PL) Ǘ՗@ 1 =JYjEĘ   )J<e ,ՙ$"G+P|ÚȚך  -IPiz +ě؛ %#; _lt5$ܜ$<ax  ϝ !+M!dWVOio,Ο*)Jt-Iܠf&.    * 5&@ gr;{4֢ :6T ,  #!Ce } ɤ  #TD%Rڥ8-?f31ڦ F(o ާBBXo#֨$?[<l0ũ,#07hF%  +9IM:% &0(W&)"Ѭ%$!?"a!)í;; Bc!h &Ϯ   ;:(v$%į $ F&=mJ &5*`.u3رh a n |X, 1<P6 HRl (ô.Ӵ 8P1p 8ȵ!7RsdTض-<Qms ·з ߷  (;Rf| "Ƹ! 7( ` kx   .޹  %>Qp ˺ :Y y%/ ڻ  = AN]qA( !, @$L&q    Oɽ !:\l*}$׾ 3#Wj" a &>D c;>$'$Lf",  0Mk Aa G;R+-CRr   lu % 7UC,  ! ,*:#e#).//-_  @@.0o31G` {3&"/%Uds(1#  0; OY*i"&@]z0#D"h# .,,QYPJ&e&7#M0/~'$'L3e+2 7 A KU%d #  \4{       ' 4 BDL &)(I?'4# "L5%0*+2^%g  % X2 L8Y '=Rhq $ + :%D'j"-.L2bX/A,`       } * 1 > LV fs )& *=;y N+ 4@%Fl t     DH6( "355:k?3#>^t  . C O] p} ';Mcs ;!  $(.VW4 )#D$h2%,Bo(8Qi6(!$'Fn!(%!<'^)#($<"a"9Yx $ C2v 2)6`y! ;Pb+s ?Ocv! 0Mb+K i" )' 6PV "  ='ex    2 9 E}O/  ! -:JL>$7P4iA95   & 7D Tax' &+'<>d/en9 &&<c|--3& 7Cc {#)>B ^hLD  (3G^wC5(:MRm8* -$+R~3Nuk'    " ,  ? J d  l  v  3 2 4 3/ c v  ,     0 +J Pv i 81 j {    J d bl V &B.4q2>;GT==  (5I [h{.&6`L>Y u     # ) 6A FS c n=y '2(Ir&"! :[r+)<w`u 8. /@Pdt> 53:%U{7!/.Ds5 C Pp8 <u6E;8>wB+ - 6 :G 8 $    !'! 6!A! I!GT!(!!#!!/"@"T"]"Lu"" "" " # #5##P# t#R###d# ]$&i$$$ $$$$%1%K%`%v%% %7% %>%;& K& Y&f&y&&&&& &&' ' ' ''2' A'O'^'o''''''''' ((/(?(N(^(m((((((((())$)3)D)U)f)v)>)*)@) 3*0A* r* ******`*J+b+0{+&+&+=+ 8,D, \, h,t, ,,, ,,,5,-#%-I-_-r-3=.9q.(...//4'/8\/4/G/:0M0g040090 1101:B11}1(1"1;1372#k2 2"2#2>2*63:a333$3 323'(4*P4>{43454.$5'S5{5 55!55676*T6B6<6;66;71r7%77$7( 8%48/Z8*88848(95G93}91959A:.[:/:&:*:6 ;(C;%l;*;%;4;2<*K<4v<7</<*=%>=;d=8=5=%>>5>t>>>#>%>#>?)?%E?"k??????@3@J@,e@ @~@A;A6UA<A8A'BQ*B1|B BBBBCC5 CVCeCC3C CCCCDD(6DC_D#DDDDD1E83E<lEAE8E=$FEbF<F;F@!GDbG>G8G>H;^H9H:H?I;OI=IGICJUJ]J!{JJJ+JK%4K#ZK*~KKK1K/LM1L\LLaLVM]MoMvM/MMMM&M N$N AN&LNsN@zNN N N NNNAO FO PO \OfOBxO2OO5O *P7P @P(NP+wPPPP(P QQ'+Q SQ5_Q4Q3QQ RR,RBRYR<kR/R/R0S9SPSaStSxSSS%S7SsT9TT T T TT UU/UGUYU jU uU U U)UUUUUV)VBV ZV fV pV{V VV V V V VVVVWW(W:W QW4^WW WW:WWWWXK2XN~X2XYY.$Y SYtYYY#YYYZ23ZfZ~ZZ ZZZ [&[<[%S[ y[![[[[\!+\M\j\,\/\\\])] A]!b]]#]+]2].%^1T^-^2^*^._5A_1w_4_0_5`-E`s``5`/`7a8rLr>`rr3r2r s s %s2s3Rss s)s#s#stt-t(Atjt]rt4tuu(u8uIuXu#iu$uuuuuv +v!8vZvlvCvSvw:wRwhwJwwCwDxKx Tx.bxxxxxx xxx7y7yyz z zz ;zHzMz ^z kzxzz zz zz{<${#a{{*{4{| |/,| \|f|{| ||*|u|R} W}Lb}4}}@}4~G~W~g~~~ ~ ~~(~ 3D_r,   (4T]s.Bˀ( 7B J%U{с  ( 4@%V|%Ă *2:?Y mz ȃ ۃ     -; iszτ J T!`  ƅ+,)+V   $̆ ӆ݆"8 K Xd6~ԇ/,I v!8p ;3&o)"8b>1֌)2)P*zW04J+2:ގ-GGMHݏ&jLY<ƑSW1r)5ΒuvzZ!Ln(Д *(1SE(5,Hu& 0֖ %8C|i,&5\ q&!ۘ&6FW`qDș6((:cy%~'̚Қ   -CR=-<8jʜ *' R` er>{IH._& ƞʞΞӞ*ܞ7?*\*ԟC'C.kc"u!- &2+#^9W<Ql'9̣("&Kr)*,"2UZc"Υ  #* G Q]"v  Ϧ ܦ*.AY  7Χ ) 4 AM\v O !' 6Aaq!"0ǩ   + AOh{-9K@Idj  īϫ+)#M,c*Ϭج $ 5@%Tz  ɭ ԭ    $>F Yej'{& Ү%&L@c%f90Ѱհ&ݰ1#6Zr^2n8pڲ#K&o*Y (,< PZ"k&/˴('$+Lx8Rе#%A=gSH%Bh4=ַ3MH Ƹ ڸ&+% Q!_"'̹LQ$a&$!ҺPQE"!׻D,>2k5HԼ$#Bf?~ԽA2&5Y,/%8(K*t-$Ϳ'S(n+#K"3)V,$'25-,c/$7'EhM%4+/Fv)#   $()RYr@04/ ?LT7Z')S,8e**#;"A"d'1 $ 1D K YzB   /Z9 0cX=.(  (>MmF)<Sj( "+#?c |* ) Gh(3-.6&e ' 2P fp   " 1Rf $: 3D_u%$)>h' =%^!   Y) % 1#K"o$. %W*%\ %fCA1GbAzP,I RT^  ##&*QZl%| % +(0Yj'~D "$> cnH4D,q1& RJ \h:yF-")%LJr40#( .; K X coO!s;  !H)r!$4(]m 9  =+9i'  8F[ s }Q-K'#s*6T No   5D<<1 (?CHBd"C.,C p}(9RN0L \YP8b}mHN4^wLZ{&:<'w a   D ]5 I | Z V 96;pCyh gsJW&~ock\TUx=Nsijbc1V x~W $!$i&P&M)i *u*++,- '. 3/?001;255 67]8y8f[99A::;M&<@t<X<==@>>h?{@zABBICCD!EPE FTFRF]EGG0HfH[IIIpJnJ$)KNMMoO7PPnQO+R{SkFT~T^1WWXZY Z&[[.\\x]o<^^S_``Ya4b9cd'eeu>ff{?ggk nnoypqXqxq]rXsIws(sxz2||~Fكe p`qRw7-1eV_6fDi.Xr  -Ca"!"AA.Qc=1c$<WS7deH.Pw P 2 [4 8 : g j= ! G =Q 2T ` Mm & p &Ė & ;#D *   q! # # /# % '% 4& VI' K( u* Vb+ + */ / 2 S5 f< |D eT >,Z kZ Q Z R If Gq *q <r .Lr ({r ,r $r Dr ;s aS  ϩ Hw  ͱ Ѵ VV       w &   6 A g $K p & /  pT  k `  J* ., / $6 < G @V P*c {q ;} O f U$ <$r; _  k lw x y L{ M} N~ d~   :! \ \Y  9  r   ! m +) 'U } d $u   < Z i ~ & "& I b {       9 W jc D - ,A $n ( ( * ( .9 Eh E X +M )y % 1 % "! D (e $ * 4 W 1k X J  N ?  M a G (   3# W ^ H 4 f dF b     `     c N Bo Z          ^ < O ,]  "  t C X ,! /5! 2e! R! 8! $" -" +" )" *)# T# _# # =$ $ $ $ $ % :*% >e% :% >% & #>& !b& %& & !& & ' 9&' =`' 9' =' ( ( 1'( Y( g( @( ( :( $) =B) H) R) N* 9k* $* L* W+ Eo+ + + ,+ , D, 5- U- . 0 L)1 iv4 7 %; ; Y; '< < 6C= Hz= = = )> '-> ;U> H> V> S1? f? S? @@ `@ @ A (B jFC |C .D ;D D cE |E E 3E E E F F 6F KF *^F 0F F F F (G "G %H K fK |K K 4K *K .L <6L sL zL DL 7L M 8"M G[M 0M 9M LN [N GtN %N N N O :O IYO :O GO &P ECP $P .P MP K+Q RwQ Q Q &R 'R YCR VR SR HHS 6S ]S 1&T (XT HT RT 2U 'PU 'xU 'U 9U gV /jV 1V DV .W .@W 2oW 0W )W W 'X EEX <X RX 1Y MY eY EQZ fZ Z B[ 1[ !\ 7\ V\ @u\ o\ R&] .y] ] ] BQ^ h^ a^ V__ v_ ~-` B` 0` 7 a CXa Ja Ca ;+b <gb @b b 6c Kc w d qd d }~e e f bg utg og VZh Ah =h 21i 9di (i &i 3i ["j V~j ej ;k ck T,l Il +l tl lm @m O1n tn on fo !{o Yo !o tp ap .p ,q 5Lq Jq Vq J$r 4or )r ;r F s .Qs 7s .s ks OSt rt Su Uju Uu pv Nv Rv k)w ew Zw *Vx 5x %x %x 2y A6y Cxy Uy lz oz az RQ{ 4{ +{ #| ))| ?S| '| K| E} <M} E} :} 1 ~ )=~ &g~ Z~ >~ K( )t &    U mO C bV b 1 DN } 9 K EB `  o {w ) k 6 = @Y C Cމ u" ! -  q X (ڋ k o ~ J 7Q    ؎  3 .C gr gڐ B QY s f 1 ( P 22 ?e @F o f <^ T < R- > V > mU jØ >. mm >ۙ  [H e e .p  FC X \ @ LY   *Ϟ  ?  a qT ,Ƣ 2 W& Z~ g٣ [A  /ä - /! &Q 5x B  4 ?9 Oy 'ɦ = #/ 4S p t +n % ' ' < )M 'w : Fڪ I! *k F $ݫ  & < *G Pr Sì . 7F ~ C ح t 3] = AϮ ? IQ 8 7ԯ  4( v] 1԰ ( / =2 p w ~  EE   ² IŲ  "% $H m  8 \ѳ . S A Z i  E QI  ` O v_ ַ d  ! 9    I W V< g| Y H> ^ #  5 %U #{  6 % < lY Y b d Y nB Q ' Q+ '} A A )) 5S  / ) 4 I6 8 3 T VB ? : x P   + : :V  $ / ) , H X_ d / fM g  ' 0 ;E $4 `Y t / #   X c U{ H  ^  [ U: V X Y@ W X YK Y W YW Z V Wc \ W Vp W V Yv V X' Y ^ W9 V Y WB W W YJ V X XT W E K Zk  *   33 7g  # (  p T N )0 Z (u = , # M- { E eZ Y * Z x > -Q   #( iL % = J We 9 % N Bl < F T t A / . 06 %g . N " ,. [ !| ` .  + 5 !S u A   ! * C ] Rl RC b ( z"    / / -! UO  !    ' 4 T ra / / /A "q <  ^ \P y W' J  & ! y1  ' +Y  Tru ) lh-**9Sd+lfe*@B_DZ4w4 $ =  H- Zv  E f8 I 0 B ] 0   'E%`9A-D/r/"H>.\0%k9.2=#,a?)-+C"o @>1N)'}(P1y 8X%w,AM AZ " bdF+JrLL ;W<3'"[,~%xNJ/+e2[09NXHN8/) -Y ? J 2!;E!2!o!S$"Wx"Y"Y*#9#)#)#6$:I$8$/$-$)%'E%-m%C%+%@ &IL&K&>&6!'5X'-'0''n(s)**J+]+%w+/+W+U%,R{,F,-"-PA-Z--.e.cC/>/;/="0@`0t0`1w1&1 11%12$2kB22A23 3793kq3%3F4%J4Lp4T4L5d_55i5J6D[6%6x6N?7+727J7&88[_8)8+869SH9d9d:f:;;s<""=.E=%t=%= =V=J8>L>L>=?5[?[?{?Oi@C@F@.DAbsAQA>(B>gB;B.B;CCMCkCsCAqD;D4D6$E,[EPEEE0F:PFEF2FjG>oG5GUG]:H2H4H@ItAIXIQJvaJJJGK<L/DL+tLPLcL<UMM#Nt6N@NvNacOHOJPYP<PQ2Q LQbWQQQ=Q$RR"wSS%S6SPTWTuT2TQTJU\]UURUV3X_X8zXmX'!YHIY'YNY. ZE8Z~ZZFZ'Zz[P[-[4\LM\-\*\8\U,]W]n]I^d^y^:^,^@_8A_z_2n`Sa ab% b3Fb=zbdbca,cccpc<cdWdvdoee,f.fcfSgdg%zgg4gghFh [hfh}yh\hTi'iijk!.kPkWnk8kk/l:ElWlWl0m;Pmmm7m&m-n.Inxn nKnoo?^pnpS qfaqKqrr?rr9msOs/sD'tRlttAXuBu<uAvH\vAvPvH8wQw<w=xuNx>xdy[hyyy0`z*z9zzzF{{{2{1|)|h}Dx}K}M ~WW~O~W~BWJLL2MB̀W[h$ā }/ :ǂ+E@] Ѓ@"@<N*yJ݅{%fM4ӈdm21d'-E)s1ϋe 38ls Nȏ,y0e 1FPґG#8kT%!CG:1Ɠ ,! N1YDD1Om˗%-5=T.Dݘ "V-XDݙ"l6ɚ 23rfٛ#5Y4t4ޜ++H*W*QQQ7eS "!5W#0C.t -\ܠ89r*աceQϢ#OˣZ&v$S¤&9=cwCۥe5&B¦QWopbx/ ŪVЪX'SqAaip 4~/1/<EMZЯ\+LNհ1$9Vj~g mNN <(].J9V0lɷ5޷'>Met#ȹٹBTg '3ؼ N [(y`̿>-Bl(&S[S\v 0!c)*.:w?6:F)/p&pV8?DM"b"3#%?&cfR#3W2f@?H92F9I6>>5E45z33G>`)?> 2H4{@&AIo-n? LYeI}!-5O'zXIWFuCc5dlk,s",EG Xey68 ,.*['eg *!6Rr( xew?AJ&cSB`,$$.Ix[AZ%'=1Y[TD]MK 05 r!!2$Wu!. & 1<1M88cf?|M>  I-V;i7*Jb5nRy0c8!   )'.Q  )%+0AH\ |.Ud-bi+_}#\ *`g!1+# ))#S w)%2aPiMOm} E-vs4MGm5'"/+R~($% "=,Y!'!5N)i8&2!DfuwHL6 Pk! .-E0s0EI2e3i OgCB4%@B" 0e   B   #6 vZ D : 0Q . 7 L 66 :m + J H 0h 9 0 cLhVm QzUW"7z''4876p-%+A')iI<m3+47U+tkP ?]:-?EF6?,#0#Txi-'=F;*=)'D+l) ><Z/9V #w*!?I(`rDHJa8;=!Z_,04+Mky2  h ;!1W!-!!'9"%a"""""%""#&#7#[S## ##T$-$*%E%U%f%|% &*&bG&;&"&$ 'C.'Fr'y',3([`(y(6)?*W*j*0*&*(*+#+A+Y+y+A++P+6:,/q,Q,+,0-+P-|-(-?-`-[O..?/00-K0Dy0J0 1+$1/P1E151;1T82f2_2(T3}3C3L3Q,4L~444]4X5 5 6S6pg6o6H7^7r7'7$7&7&78a8~9'9$99G9*$:.O:~:F;6I;h;v;4`<8<C<G=9Z=L=<=4>8S>>N)@ x@@@@#@@/@:AUAdA'uAmA} BhBxB-kC5C#CSC;GD#D0D&DLDmLEEFf\G#G:G+"HNHlHHIIJoKWK`KY;LjLbMscMdM=R6|SDS>S7TFTXTtT'TTHTLU aUlUpUwUUUUUUUV!Vr6VV V_V&4W$[WbWeW*IX5tX*XDX2Y0MY7~YiY& Z'GZoZ*\%\z\OY]6]+] ^_`lbhcpcid8d+d(d"e*4e_e(~e~e&f{@fWf0gCEgbgglgElhDhhi%i*5im`i:i` jjj}j kmk1k1k kkl$l%llsmpn<1oynoo4}p*p0pqLqr-(r]Vr_rDsYs%js%sssss t!t^t#uSCu'uYuv1v5@vvvc wnwwwwwswFYxxRxyT#yxyPzupzz5z#{7{,M{ z{-{K{"|C8|U|||2|~} }}7~N~j~{~~&~#~$~&D!U%w&8Utр/ Op"΁ 'Ddނ9Wuу9-gAHхWEaF{†%ӆC=TU[u`'lvK֊!& :Ga6dƋ +FL(s܌ePxS/4?0)<DM<ϐ\ Ii<ґ\KlM%,,*Y]XW;LiwV38FlDsTlm$/TDl%lטeDZqzwZuDЛ29HEPȜF=`@Bߝ"f?yn Z@?+jkr֡Ivˢ;B,~P(_%gZgHx?F@OvקsNP¨g\{jةtCRV qbiԫ^>,vʬRATIu3@*:0HkmX"9{Kyc{3߱B;V1JIJ?1Oe );-ZudXcP ]9'AaHp BGF2Z+#պ0E*pMI\#o4ȼmRq2mr zqpuygsmUsp7notprm}x^.@$e[=H;nX1$`vH+Jv%'M)bI*>0o@A $h/@&/#kz*>kiV(,4U>y+CLo7DP|Oo+::,+gN%tj 8t,. ;QWf\F_t$!"$5Z ivF&@8*yU,"'J%a    #4C xYpyj /<*lLQ6g5N9  +!,NnW #0@9q*!!)<DT(=G=^WH<WBP LqG$<@a1);T:KLa(JK`!LEFY\HE\E*bWIX\nWV\SzZV)lb%PavJH#KlYaJtKa FmDES?YHE6|e$rYnWfe-S`WHf`ch' 4RKN7>%LdHde_zc@d^ _hra;^>1;/m/'YXOoX Yq S T gt V S3 &  <  .$ (S |  !     ) 1'#Y}@.C5/yS{< <&zc ^mJ1X4QAZU"F FSR!NpMXL00*82 k32\ hJ$(.B ,aH(.#8;!t9q zI!0!!""55":k"""""%"H#4d###3#\#1N$6$|$=4%9r%N%u%9q&5&U& 7' D'e''I'n'[( R)!_))*+**<U+++2+:+$6,[,u,,,c, -+2-^-'x--)-3-X.+u...!.9.!&/MH//,/!//0U0uk060171 R1`1Az1%141+2&C2Tj22*2C3I3#d3)3q32$4EW4-4W4#5G65]~5 5 5515&+6R6f66636(67!757I7]7w787B78+8,G80t8088 99:948:"m:::*:*:S ;S`;Y;<<<<;K<<<,<[<~3==!=*=n>I><>?#?@?f\?Z?@<8@u@L9BBFBCuDEREQE:EV%F|FfG%G_GGHBOHWHTH1?IqIrJUJEJ`&KKYLlL MM)2N\OPZPnQvQ*,ReWRWReS{SqTUx6V#VHV9W)VW+W@WTWlBXXXSTYYcJZ)ZWZ0[<L[\[[[9\MJ\!\\8\]w]'.^9V^.^7^U^FM_T_H_'2`Z`s``!`#``(qana b!)b0Kb+|bbFbIb @cMcmc%cccBcdhnThhiiCjYj'k+k>k BkOkTk~gkkqmllFgm=m<mJ)nktn>nXoxo@np.p3q[rKnrErasLbss/ttKvuZuXv0vvev; wCIwAw8wDxEMxZx[xWJyy y<y#zU7zVz:z{:{K{/k{{D{{-|7B|4z|B|)|!}*>}i}-}}}}.}D ~N~~##+O>lPDP)'%%M<s++܁[f+Z#N20,m]l˄8Å؅19@#zL.8YS0ԈF0bGd$4+DRp%ÊT%>LdEЋ/(X%oČ!'^D Ս(*Jf#'ˎ I, v*̏+ݏS ]JvEfinؑv"Azk 9 CJΕ/IeffhϘ?m^ 2 C'P"x;ʛBfIeJ_af0(SY>2Hqj;OPD9^z~lf%'5'])':פt$D ޥW]W]33G{' =3VqRȨNj7GHLX}SVYbK$9^]߯=Vlpkcܱg@\|`imM`do/sMaHf+j^b\nr.ei{q Q*|aAe/+E:B]xDS +&6%]^o|R  z#<jFRV.Ln_WDTm6l]SU!t GS =$HHm$ 113!Um!9kO Ul`O$$B/g8,K,e@o@`@!60;0l,0M]II,,AK$r7B/z2 6Rdpn[MKA=72u  4/7#C[46"+Bn(,8!3UoG$+%$2J}= B//K){(W1&$X'}QVAN/$/7"MPp!FH*Cs"A 4=<r95YiLm=AM9bj$T!3I9(KbI{yG:eA$Y~L Vh'#C,gRKc3 &$o`9z@|^??\d%2KE@**e#]&*K-")L&+R%qkP5I[pNS""GSBS" +(<&@ %.63e  20*8RPR h&l&Cnm >|   !   Q   ; 6X 6  1 - : N  b o B~  W:pLZSBA82z ) /4EdNH-!ZOH2 &36H>\Ua0pcGM^m!01   m " }`/ 0o0D  .=>/ W~] t   u:< > b:s ^O ks y] 2_ ' A  3 W 6^, s , " 64 v{ c t  %  >  "O8qIn vfO * RT $1k  !   `i / ]> * {8 u s^ $ '  P Zkf` 2/ _ & { w ,0g  QDx~ l  G 2j f z\   !*2\ "*i )  i54 L*  M ~ w A 8 g ",[KZ ~3Q : ~ )l ~h  v 'G #} 1K ~ %P5\FR okuL( R pI +   --o [^ tm  T > :K !i /Rz G   <F(eN{ F  b    ~p@U?LN4?Wz|A z N R lr =H  %~ J Lq ;  JD {Z8% % % # L <:%5  g!Z q3 aa C` W N  8 3   u"  D P dL.  U = a.# g #1 2r V K h [?L (4 S U } P * # GB * ( a db" uo v a 8a =c 7 ,&qKl 8 I E8 `I = r  I2 |  V' 5 h& s[ A $ Sd_-:k  | uD U+ TmL$ @ :5 >Ba)x_64  nRx kX@l | ? U(   E u& w f] !B iQ  P (Uu  77+I Q NC x^Ml Y%}53 ~nj \ \ x  M.ho9 F ^ t_I |T :  =! 4?' z Y l  /FE q   i N -  <  Hr F!$7 U W  = s c ] Y  c OT*EV :j Q  * |R\R  goX{1 +r;  } e  [ % } bUtpI  O` y (e  y_r cqE$:,^ 3j I  k  {l@ )   %3S |AKz? w w B W" +t; 'YE 5W -D T Y   C 9O2 O H < j s` Pj:  08 7_SMM00  o  9   *F  _&9 P  td Y BX W D ) R @ ! B   c #V \ n C  F  G ;/M 7 wY6Rg  > d = gGi.+ . q   H  =   #  tV cf  7 p Aqz )HbC6p r H 7 eZ1  5  Tu? T 09# 5B  x [b #U 78  )%O@  )LBy   r{J+d@T 0Ax  < L *  E f 3p Y m S v% nS H  j# ` 2    K  } zM \ o \A 6 m- uX   q ="  Gj' Hxg- 7 w *\F #' j ?h Y} j V H O ~H 8 I3O  | C  Nm  r v : > i= z:  k/ P < ?  mJ0 4TxU  ? v G^9 ro  -r+n l zSj  C+sA I Y$T & S m  wg = K K4 `GGe x ;]p JB ( 8egtM >V  kA  dLl  Z|t V!c) k^/ `R  M  d l1 lb  '.>vK q  M)  [ zX E K p V d  Z Xq J ] f  X ahZ x!\V  r3 z W n z$ w z   3 c Fi a -mICY .Q [K ( v X] g3 hf O6v e[ , { 9`E  1 T_{ (Qt j  AGLs d  # @  C [& c@( t' EP + 5 O& f  i^   b /  3e l eI N\ g p nV M'a .b* h U  4 +hV 4 <1%  EJ 9 O wcaS#  !co  qN2 Z  pW K ? ;w Qz nS I! a NT-0 ku &oB | r4-NS -~.y  j + E M  ,b   GH', " I vXJ /+HP d ~h/7 B H{ y9 H .Ru ` @ ?_ <:i $l [' ~ 8 ; &_ > b | Iw PDZ3G J v ^  d   J  /Dk[   & F ,,%) 1 - k Q"  |u r C#+ <yq , D R CN n h& N {i 6 L%1( .E 0 :  } ^ ri_1  q V  m /. . < Y  {S  * K s Z Z e6 a rV ) n W  f d'U$C ), M p? gM8 b ,=QR   ]K <$i ,W>6  & h>4 wL U B(oO C}W.y } P V XE: @ Hfl  [ 9C M < c@10Y ~, p F y *sy m){ [v(Pe,/P Y5<T  t N  m "b2v2 $  ` ^y5 f;J ~q2 f  Q;  R% k  A e2   k 5   [n m h =4 /ZE6}|A Jf^s9 ] (Z  J U dn BJ w8k u u ! XDA   O Q _ D 9 9c | - X fK b @ $7 N/\ vO &Wvj ! P "Zx{ 2  &Qyy2 ; 5y  t } 'x 1dP 4 o | o 8 ; s l Y;d } A  Q  C: 1_  F    J te5  a S 3.u X m ] M+W e s  a]) uq   6 $ 7EQN Va \ X  yp)  @8t> Z6 f 7m   @ i e J p'pz T ^j6 B ncC a+HT &`K]   }= 7 3CdL D i*D  X `@}| ?B    3 e(]-   f+;6~    Yg  ! R4q  -  ^ ` r 9 <X|]  "B \  g7 T  Q h F  -_0_  < c  "  M yP6  _% =9 { S gp B L onhg !S0 ; 6?  WO U4sHis c ; X L  A p [v  } I x Nm G$ ! t m b ;A  9e E h Z  x RU> ; \$ ` GG Y1 7 F   W  "   j   > ) F n sU0S ? @J0 \ Vy z1  0  S  2 ^ ]  o?h l <(  Fb1 ][  j n D   xQb & 5 k w2 4 xG . * wo= D #  >    59 " $'#D# {  w EXAMPLES: Examples: Find all IPA servers: ipa server-find GLOBAL DNS CONFIGURATION Override this so we can add completed and failed to the return result. Override this so we can set completed and failed. Add an automember rule. Add conditions to an automember rule. Add new ID range. To add a new ID range you always have to specify --base-id --range-size Additionally --rid-base --secondary-rid-base may be given for a new ID range for the local domain while --rid-base --dom-sid must be given to add a new range for a trusted AD domain. {0} Delete an automember rule. Display information about an automember rule. Display information about the default (fallback) automember groups. Lockout status of a user account An account may become locked if the password is entered incorrectly too many times within a specific time period as controlled by password policy. A locked account is a temporary condition and may be unlocked by an administrator. This connects to each IPA master and displays the lockout status on each one. To determine whether an account is locked on a given server you need to compare the number of failed logins and the time of the last failure. For an account to be locked it must exceed the maxfail failures within the failinterval duration as specified in the password policy associated with the user. The failed login counter is modified only when a user attempts a log in so it is possible that an account may appear locked but the last failed login attempt is older than the lockouttime of the password policy. This means that the user may attempt a login again. Modify a trust (for future use). Currently only the default option to modify the LDAP attributes is available. More specific options will be added in coming releases. Modify an automember rule. Remove conditions from an automember rule. Remove default (fallback) group for all unmatched entries. Search for automember rules. Search for users matching the provided certificate. This command relies on SSSD to retrieve the list of matching users and may return cached data. For more information on purging SSSD cache, please refer to sss_cache documentation. Set default (fallback) group for all unmatched entries. Unlock a user account An account may become locked if the password is entered incorrectly too many times within a specific time period as controlled by password policy. A locked account is a temporary condition and may be unlocked by an administrator. Vault Container object. Vault object. This is the equivalent of: ipa dnszone-mod example.com --dynamic-update=TRUE \ --update-policy="grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;" Add location: ipa location-add location --description 'My location' Add topology segment to 'ca' suffix: ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B Add topology segment to 'domain' suffix: ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B Create new CA, subordinate to the IPA CA. ipa ca-add puppet --desc "Puppet" \ --subject "CN=Puppet CA,O=EXAMPLE.COM" Delete a CA. ipa ca-del puppet Delete location: ipa location-del location Delete topology segment in 'ca' suffix: ipa topologysegment-del ca segment_name Delete topology segment in 'domain' suffix: ipa topologysegment-del domain segment_name Disable a CA. ipa ca-disable puppet Find all locations: ipa location-find Find all servers: ipa server-find Find all suffixes: ipa topologysuffix-find List all topology segments in 'ca' suffix: ipa topologysegment-find ca List all topology segments in 'domain' suffix: ipa topologysegment-find domain Re-enable a CA. ipa ca-enable puppet Show configuration of a specific DNS server: ipa dnsserver-show Show specific location: ipa location-show location Show specific server: ipa server-show ipa.example.com Show status of 'DNS server' role on a server: ipa server-role-show ipa.example.com "DNS server" Show status of all configured roles on a server: ipa server-role-find ipa.example.com Update configuration of a specific DNS server: ipa dnsserver-mod Verify topology of 'ca' suffix: ipa topologysuffix-verify ca Verify topology of 'domain' suffix: ipa topologysuffix-verify domain Add LOC record for example.com: ipa dnsrecord-add example.com @ --loc-rec="49 11 42.4 N 16 36 29.6 E 227.64m" Add a condition to the rule: ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers ipa automember-add-condition --key=manager --type=group --inclusive-regex=^uid=mscott devel Add a host that can manage this host's keytab and certificate: ipa host-add-managedby --hosts=test2 test Add a host to the rule: ipa sudorule-add-host readfiles --hosts server.example.com Add a host: ipa host-add web1.example.com Add a mail server for example.com: ipa dnsrecord-add example.com @ --mx-rec="10 mail1" Add a new host with a one-time password: ipa host-add --os='Fedora 12' --password=Secret123 test.example.com Add a new host with a random one-time password: ipa host-add --os='Fedora 12' --random test.example.com Add a new host: ipa host-add --location="3rd floor lab" --locality=Dallas test.example.com Add a new server: ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812 Add a new token: ipa otptoken-add --type=totp --owner=jdoe --desc="My soft token" Add a new token: ipa otptoken-add-yubikey --owner=jdoe --desc="My YubiKey" Add a permission that grants the ability to manage group membership: ipa permission-add --attrs=member --permissions=write --type=group "Manage Group Members" Add a permission that grants the creation of users: ipa permission-add --type=user --permissions=add "Add Users" Add a special Sudo rule for default Sudo server configuration: ipa sudorule-add defaults Add a standard vault: ipa vault-add [--user |--service |--shared] --type standard Add a symmetric vault: ipa vault-add [--user |--service |--shared] --type symmetric --password-file password.txt Add a user to the rule: ipa sudorule-add-user readfiles --users jsmith Add a user: ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott Add an asymmetric vault: ipa vault-add [--user |--service |--shared] --type asymmetric --public-key-file public.pem Add an exclusive condition to the rule to prevent auto assignment: ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-regex=^web5\.example\.com webservers Add another record using MX record specific options: ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2 Add another record using interactive mode (started when dnsrecord-add, dnsrecord-mod, or dnsrecord-del are executed with no options): ipa dnsrecord-add example.com @ Please choose a type of DNS resource record to be added The most common types for this type of zone are: NS, MX, LOC DNS resource record type: MX MX Preference: 30 MX Exchanger: mail3 Record name: example.com MX record: 10 mail1, 20 mail2, 30 mail3 NS record: nameserver.example.com., nameserver2.example.com. Add new A record for www.example.com. Create a reverse record in appropriate reverse zone as well. In this case a PTR record "2" pointing to www.example.com will be created in zone 2.0.192.in-addr.arpa. ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse Add new PTR record for www.example.com ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com. Add new SRV records for LDAP servers. Three quarters of the requests should go to fast.example.com, one quarter to slow.example.com. If neither is available, switch to backup.example.com. ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 3 389 fast.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 1 389 slow.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="1 1 389 backup.example.com" Add new reverse zone specified by network IP address: ipa dnszone-add --name-from-ip=192.0.2.0/24 Add new zone: ipa dnszone-add example.com --admin-email=admin@example.com Add second nameserver for example.com: ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com Add sudo command object and add it as allowed command in the rule: ipa sudocmd-add /usr/bin/less ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less Add system permission that can be used for per-zone privilege delegation: ipa dnszone-add-permission example.com Add the initial group or hostgroup: ipa hostgroup-add --desc="Web Servers" webservers ipa group-add --desc="Developers" devel Add the initial rule: ipa automember-add --type=hostgroup webservers ipa automember-add --type=group devel Add vault members: ipa vault-add-member [--user |--service |--shared] [--users ] [--groups ] [--services ] Add vault owners: ipa vault-add-owner [--user |--service |--shared] [--users ] [--groups ] [--services ] After this modification, three fifths of the requests should go to fast.example.com and two fifths to slow.example.com. Allow user to create a keytab: ipa host-allow-create-keytab test2 --users=tuser1 Allow user to create a keytab: ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1 An example of the interactive mode for dnsrecord-del command: ipa dnsrecord-del example.com www No option to delete specific record provided. Delete all? Yes/No (default No): (do not delete all records) Current DNS record contents: A record: 192.0.2.2, 192.0.2.3 Delete A record '192.0.2.2'? Yes/No (default No): Delete A record '192.0.2.3'? Yes/No (default No): y Record name: www A record: 192.0.2.2 (A record 192.0.2.3 has been deleted) Archive data into asymmetric vault: ipa vault-archive [--user |--service |--shared] --in Archive data into standard vault: ipa vault-archive [--user |--service |--shared] --in Archive data into symmetric vault: ipa vault-archive [--user |--service |--shared] --in --password-file password.txt Change forward-policy for external.example.com: ipa dnsforwardzone-mod external.example.com --forward-policy=only Change the secret: ipa radiusproxy-mod MyRADIUS --secret Change the vendor: ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor="Red Hat" Check the status of a signing request: ipa cert-status 10 Create a new Certificate Identity Mapping Rule: ipa certmaprule-add rule1 --desc="Link certificate with subject and issuer" Create a new rule: ipa sudorule-add readfiles Delegate zone sub.example to another nameserver: ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1 ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com. Delete a Certificate Identity Mapping Rule: ipa certmaprule-del rule1 Delete a configuration: ipa radiusproxy-del MyRADIUS Delete a host: ipa host-del test.example.com Delete a token: ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a Delete a vault: ipa vault-del [--user |--service |--shared] Delete an automember rule: ipa automember-del --type=hostgroup webservers ipa automember-del --type=group devel Delete forward zone external.example.com: ipa dnsforwardzone-del external.example.com Delete previously added nameserver from example.com: ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com. Delete vault members: ipa vault-remove-member [--user |--service |--shared] [--users ] [--groups ] [--services ] Delete vault owners: ipa vault-remove-owner [--user |--service |--shared] [--users ] [--groups ] [--services ] Delete zone example.com with all resource records: ipa dnszone-del example.com Disable a Certificate Identity Mapping Rule: ipa certmaprule-disable rule1 Disable global forwarding for given sub-tree: ipa dnszone-mod example.com --forward-policy=none Disable the host Kerberos key, SSL certificate and all of its services: ipa host-disable test.example.com Display a automember rule: ipa automember-show --type=hostgroup webservers ipa automember-show --type=group devel Display information about a Certificate Identity Mapping Rule: ipa certmaprule-show rule1 Display the Certificate Identity Mapping global configuration: ipa certmapconfig-show Display vault configuration: ipa vaultconfig-show Enable a Certificate Identity Mapping Rule: ipa certmaprule-enable rule1 Examine a certificate: ipa cert-find --file=cert.pem --all Examine the configuration: ipa radiusproxy-show MyRADIUS Examine the token: ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a Find A records with value 192.0.2.2 in zone example.com ipa dnsrecord-find example.com --a-rec=192.0.2.2 Find all Certificate Identity Mapping Rules with the specified domain: ipa certmaprule-find --domain example.com Find all of the automember rules: ipa automember-find Find all servers whose entries include the string "example.com": ipa radiusproxy-find example.com Find records for resources with "www" in their name in zone example.com: ipa dnsrecord-find example.com www Find user-find parameters: ipa param-find user-find Find zone with "example" in its domain name: ipa dnszone-find example Forward all requests for the zone external.example.com to another forwarder using a "first" policy (it will send the queries to the selected forwarder and if not answered it will use global root servers): ipa dnsforwardzone-add external.example.com --forward-policy=first \ --forwarder=203.0.113.1 Generate and retrieve a keytab for an IPA service: ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab If a global forwarder is configured, all queries for which this server is not authoritative (e.g. sub.example.com) will be routed to the global forwarder. Global forwarding configuration can be overridden per-zone. List all forward zones: ipa dnsforwardzone-find List vaults: ipa vault-find [--user |--service |--shared] Modify Certificate Identity Mapping global configuration: ipa certmapconfig-mod --promptusername=TRUE Modify a Certificate Identity Mapping Rule: ipa certmaprule-mod rule1 --maprule="" Modify asymmetric vault keys: ipa vault-mod [--user |--service |--shared] --private-key-file --public-key-file Modify global DNS configuration and set a list of global forwarders: ipa dnsconfig-mod --forwarder=203.0.113.113 Modify information about a host: ipa host-mod --os='Fedora 12' test.example.com Modify symmetric vault password: ipa vault-mod [--user |--service |--shared] --change-password ipa vault-mod [--user |--service |--shared] --old-password --new-password ipa vault-mod [--user |--service |--shared] --old-password-file --new-password-file Modify the automember rule: ipa automember-mod Modify the zone to allow dynamic updates for hosts own records in realm EXAMPLE.COM: ipa dnszone-mod example.com --dynamic-update=TRUE Modify the zone to allow zone transfers for local network only: ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24 Modify vault description: ipa vault-mod [--user |--service |--shared] --desc Modify vault type: ipa vault-mod [--user |--service |--shared] --type [old password/private key] [new password/public key] Rebuild membership for all hosts: ipa automember-rebuild --type=hostgroup Rebuild membership for all users: ipa automember-rebuild --type=group Rebuild membership for specified hosts: ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example.com Rebuild membership for specified users: ipa automember-rebuild --users=tuser1 --users=tuser2 Remove SSH public keys of a host and update DNS to reflect this change: ipa host-mod --sshpubkey= --updatedns test.example.com Remove a certificate from revocation hold status: ipa cert-remove-hold 1032 Remove a condition from the rule: ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers Remove the default (fallback) target group: ipa automember-default-group-remove --type=hostgroup ipa automember-default-group-remove --type=group Request a new certificate and add the principal: ipa cert-request --add --principal=HTTP/lion.example.com example.csr Resolve a host name to see if it exists (will add default IPA domain if one is not included): ipa dns-resolve www.example.com ipa dns-resolve www Retrieve an existing certificate: ipa cert-show 1032 Retrieve data from asymmetric vault: ipa vault-retrieve [--user |--service |--shared] --out --private-key-file private.pem Retrieve data from standard vault: ipa vault-retrieve [--user |--service |--shared] --out Retrieve data from symmetric vault: ipa vault-retrieve [--user |--service |--shared] --out --password-file password.txt Revoke a certificate (see RFC 5280 for reason details): ipa cert-revoke --revocation-reason=6 1032 Search for certificates based on issuance date ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07 Search for certificates by hostname: ipa cert-find --subject=ipaserver.example.com Search for certificates owned by a specific user: ipa cert-find --user=user Search for revoked certificates by reason: ipa cert-find --revocation-reason=5 Semantics of forwarding in IPA matches BIND semantics and depends on the type of zone: * Master zone: local BIND replies authoritatively to queries for data in the given zone (including authoritative NXDOMAIN answers) and forwarding affects only queries for names below zone cuts (NS records) of locally served zones. * Forward zone: forward zone contains no authoritative data. BIND forwards queries, which cannot be answered from its local cache, to configured forwarders. Semantics of the --forward-policy option: * none - disable forwarding for the given zone. * first - forward all queries to configured forwarders. If they fail, do resolution using DNS root servers. * only - forward all queries to configured forwarders and if they fail, return failure. Set SELinux type and role transitions on a rule: ipa sudorule-add-option sysadmin_sudo --sudooption type=unconfined_t ipa sudorule-add-option sysadmin_sudo --sudooption role=unconfined_r Set a default Sudo option: ipa sudorule-add-option defaults --sudooption '!authenticate' Set the default (fallback) target group: ipa automember-default-group-set --default-group=webservers --type=hostgroup ipa automember-default-group-set --default-group=ipausers --type=group Show a vault: ipa vault-show [--user |--service |--shared] Show forward zone external.example.com: ipa dnsforwardzone-show external.example.com Show global DNS configuration: ipa dnsconfig-show Show records for resource www in zone example.com ipa dnsrecord-show example.com www Show the default (fallback) target group: ipa automember-default-group-show --type=hostgroup ipa automember-default-group-show --type=group Show user-find details: ipa command-show user-find Show zone example.com: ipa dnszone-show example.com The interactive mode can be used for easy modification: ipa dnsrecord-mod example.com _ldap._tcp No option to modify specific record provided. Current DNS record contents: SRV record: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 backup.example.com Modify SRV record '0 3 389 fast.example.com'? Yes/No (default No): Modify SRV record '0 1 389 slow.example.com'? Yes/No (default No): y SRV Priority [0]: (keep the default value) SRV Weight [1]: 2 (modified value) SRV Port [389]: (keep the default value) SRV Target [slow.example.com]: (keep the default value) 1 SRV record skipped. Only one value per DNS record type can be modified at one time. Record name: _ldap._tcp SRV record: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 389 slow.example.com This configuration forwards all queries for names outside the example.com sub-tree to global forwarders. Normal recursive resolution process is used for names inside the example.com sub-tree (i.e. NS records are followed etc.). Verify automembership: ipa hostgroup-show webservers Host-group: webservers Description: Web Servers Member hosts: web1.example.com ipa group-show devel Group name: devel Description: Developers GID: 1004200000 Member users: tuser Verify that a certificate is owned by a specific user: ipa cert-find --file=cert.pem --user=user * A permission grants access to read, write, add, delete, read, search, or compare. * A privilege combines similar permissions (for example all the permissions needed to add a user). * A role grants a set of privileges to users, groups, hosts or hostgroups. * The host must exist * The service must exist (or you use the --add option to automatically add it) A certificate is stored with a service principal and a service principal needs a host. A condition is a regular expression used by 389-ds to match a new incoming entry with an automember rule. If it matches an inclusive rule then the entry is added to the appropriate group or hostgroup. A default group or hostgroup could be specified for entries that do not match any rule. In case of user entries this group will be a fallback group because all users are by default members of group specified in IPA config. A permission enables fine-grained delegation of rights. A permission is a human-readable wrapper around a 389-ds Access Control Rule, or instruction (ACI). A permission grants the right to perform a specific task such as adding a user, modifying a group, etc. A permission is made up of a number of different parts: 1. The name of the permission. 2. The target of the permission. 3. The rights granted by the permission. A permission may not contain other permissions. A rule is directly associated with a group by name, so you cannot create a rule without an accompanying group or hostgroup. API Schema Add new ID range. To add a new ID range you always have to specify --base-id --range-size Additionally --rid-base --secondary-rid-base may be given for a new ID range for the local domain while --rid-bas --dom-sid must be given to add a new range for a trusted AD domain. WARNING: DNA plugin in 389-ds will allocate IDs based on the ranges configured for the local domain. Currently the DNA plugin *cannot* be reconfigured itself based on the local ranges set via this family of commands. Manual configuration change has to be done in the DNA plugin configuration for the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to be modified to match the new range. Add new ID range. To add a new ID range you always have to specify --base-id --range-size Additionally --rid-base --secondary-rid-base may be given for a new ID range for the local domain while --rid-base --dom-sid must be given to add a new range for a trusted AD domain. WARNING: DNA plugin in 389-ds will allocate IDs based on the ranges configured for the local domain. Currently the DNA plugin *cannot* be reconfigured itself based on the local ranges set via this family of commands. Manual configuration change has to be done in the DNA plugin configuration for the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to be modified to match the new range. Add new ID range. To add a new ID range you always have to specify --base-id --range-size Additionally --rid-base --secondary-rid-base may be given for a new ID range for the local domain while --rid-base --dom-sid must be given to add a new range for a trusted AD domain. ======= WARNING: DNA plugin in 389-ds will allocate IDs based on the ranges configured for the local domain. Currently the DNA plugin *cannot* be reconfigured itself based on the local ranges set via this family of commands. Manual configuration change has to be done in the DNA plugin configuration for the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to be modified to match the new range. ======= Add new trust to use. This command establishes trust relationship to another domain which becomes 'trusted'. As result, users of the trusted domain may access resources of this domain. Only trusts to Active Directory domains are supported right now. The command can be safely run multiple times against the same domain, this will cause change to trust relationship credentials on both sides. Note that if the command was previously run with a specific range type, or with automatic detection of the range type, and you want to configure a different range type, you may need to delete first the ID range using ipa idrange-del before retrying the command with the desired range type. Add new trust to use. This command establishes trust relationship to another domain which becomes 'trusted'. As result, users of the trusted domain may access resources of this domain. Only trusts to Active Directory domains are supported right now. The command can be safely run multiple times against the same domain, this will cause change to trust relationship credentials on both sides. Additionally, there are the following convenience options. Setting one of these options will set the corresponding attribute(s). 1. type: a type of object (user, group, etc); sets subtree and target filter. 2. memberof: apply to members of a group; sets target filter 3. targetgroup: grant access to modify a specific group (such as granting the rights to manage group membership); sets target. Agreements are represented by topology segments. By default topology segment represents 2 replication agreements - one for each direction, e.g., A to B and B to A. Creation of unidirectional segments is not allowed. All CAs except the 'IPA' CA can be disabled or re-enabled. Disabling a CA prevents it from issuing certificates but does not affect the validity of its certificate. An order can be added to a sudorule to control the order in which they are evaluated (if the client supports it). This order is an integer and must be unique. Asymmetric vault is similar to the standard vault, but it pre-encrypts the secret using a public key before transport. The secret can only be retrieved using the private key. Auto Membership Rule. Auto Membership Rule. Bring clarity to the membership of hosts and users by configuring inclusive or exclusive regex patterns, you can automatically assign a new entries into a group or hostgroup based upon attribute information. A rule is directly associated with a group by name, so you cannot create a rule without an accompanying group or hostgroup. A condition is a regular expression used by 389-ds to match a new incoming entry with an automember rule. If it matches an inclusive rule then the entry is added to the appropriate group or hostgroup. A default group or hostgroup could be specified for entries that do not match any rule. In case of user entries this group will be a fallback group because all users are by default members of group specified in IPA config. EXAMPLES: Add the initial group or hostgroup: ipa hostgroup-add --desc="Web Servers" webservers ipa group-add --desc="Developers" devel Add the initial rule: ipa automember-add --type=hostgroup webservers ipa automember-add --type=group devel Add a condition to the rule: ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers ipa automember-add-condition --key=manager --type=group --inclusive-regex=^uid=mscott devel Add an exclusive condition to the rule to prevent auto assignment: ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-regex=^web5\.example\.com webservers Add a host: ipa host-add web1.example.com Add a user: ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott Verify automembership: ipa hostgroup-show webservers Host-group: webservers Description: Web Servers Member hosts: web1.example.com ipa group-show devel Group name: devel Description: Developers GID: 1004200000 Member users: tuser Remove a condition from the rule: ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers Modify the automember rule: ipa automember-mod Set the default (fallback) target group: ipa automember-default-group-set --default-group=webservers --type=hostgroup ipa automember-default-group-set --default-group=ipausers --type=group Remove the default (fallback) target group: ipa automember-default-group-remove --type=hostgroup ipa automember-default-group-remove --type=group Show the default (fallback) target group: ipa automember-default-group-show --type=hostgroup ipa automember-default-group-show --type=group Find all of the automember rules: ipa automember-find Display a automember rule: ipa automember-show --type=hostgroup webservers ipa automember-show --type=group devel Delete an automember rule: ipa automember-del --type=hostgroup webservers ipa automember-del --type=group devel Auto Membership Rule. Bring clarity to the membership of hosts and users by configuring inclusive or exclusive regex patterns, you can automatically assign a new entries into a group or hostgroup based upon attribute information. A rule is directly associated with a group by name, so you cannot create a rule without an accompanying group or hostgroup. A condition is a regular expression used by 389-ds to match a new incoming entry with an automember rule. If it matches an inclusive rule then the entry is added to the appropriate group or hostgroup. A default group or hostgroup could be specified for entries that do not match any rule. In case of user entries this group will be a fallback group because all users are by default members of group specified in IPA config. The automember-rebuild command can be used to retroactively run automember rules against existing entries, thus rebuilding their membership. EXAMPLES: Add the initial group or hostgroup: ipa hostgroup-add --desc="Web Servers" webservers ipa group-add --desc="Developers" devel Add the initial rule: ipa automember-add --type=hostgroup webservers ipa automember-add --type=group devel Add a condition to the rule: ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers ipa automember-add-condition --key=manager --type=group --inclusive-regex=^uid=mscott devel Add an exclusive condition to the rule to prevent auto assignment: ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-regex=^web5\.example\.com webservers Add a host: ipa host-add web1.example.com Add a user: ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott Verify automembership: ipa hostgroup-show webservers Host-group: webservers Description: Web Servers Member hosts: web1.example.com ipa group-show devel Group name: devel Description: Developers GID: 1004200000 Member users: tuser Remove a condition from the rule: ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers Modify the automember rule: ipa automember-mod Set the default (fallback) target group: ipa automember-default-group-set --default-group=webservers --type=hostgroup ipa automember-default-group-set --default-group=ipausers --type=group Remove the default (fallback) target group: ipa automember-default-group-remove --type=hostgroup ipa automember-default-group-remove --type=group Show the default (fallback) target group: ipa automember-default-group-show --type=hostgroup ipa automember-default-group-show --type=group Find all of the automember rules: ipa automember-find Display a automember rule: ipa automember-show --type=hostgroup webservers ipa automember-show --type=group devel Delete an automember rule: ipa automember-del --type=hostgroup webservers ipa automember-del --type=group devel Rebuild membership for all users: ipa automember-rebuild --type=group Rebuild membership for all hosts: ipa automember-rebuild --type=hostgroup Rebuild membership for specified users: ipa automember-rebuild --users=tuser1 --users=tuser2 Rebuild membership for specified hosts: ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example.com Automount Stores automount(8) configuration for autofs(8) in IPA. The base of an automount configuration is the configuration file auto.master. This is also the base location in IPA. Multiple auto.master configurations can be stored in separate locations. A location is implementation-specific with the default being a location named 'default'. For example, you can have locations by geographic region, by floor, by type, etc. Automount has three basic object types: locations, maps and keys. A location defines a set of maps anchored in auto.master. This allows you to store multiple automount configurations. A location in itself isn't very interesting, it is just a point to start a new automount map. A map is roughly equivalent to a discrete automount file and provides storage for keys. A key is a mount point associated with a map. When a new location is created, two maps are automatically created for it: auto.master and auto.direct. auto.master is the root map for all automount maps for the location. auto.direct is the default map for direct mounts and is mounted on /-. An automount map may contain a submount key. This key defines a mount location within the map that references another map. This can be done either using automountmap-add-indirect --parentmap or manually with automountkey-add and setting info to "-type=autofs :". EXAMPLES: Locations: Create a named location, "Baltimore": ipa automountlocation-add baltimore Display the new location: ipa automountlocation-show baltimore Find available locations: ipa automountlocation-find Remove a named automount location: ipa automountlocation-del baltimore Show what the automount maps would look like if they were in the filesystem: ipa automountlocation-tofiles baltimore Import an existing configuration into a location: ipa automountlocation-import baltimore /etc/auto.master The import will fail if any duplicate entries are found. For continuous operation where errors are ignored, use the --continue option. Maps: Create a new map, "auto.share": ipa automountmap-add baltimore auto.share Display the new map: ipa automountmap-show baltimore auto.share Find maps in the location baltimore: ipa automountmap-find baltimore Create an indirect map with auto.share as a submount: ipa automountmap-add-indirect baltimore --parentmap=auto.share --mount=sub auto.man This is equivalent to: ipa automountmap-add-indirect baltimore --mount=/man auto.man ipa automountkey-add baltimore auto.man --key=sub --info="-fstype=autofs ldap:auto.share" Remove the auto.share map: ipa automountmap-del baltimore auto.share Keys: Create a new key for the auto.share map in location baltimore. This ties the map we previously created to auto.master: ipa automountkey-add baltimore auto.master --key=/share --info=auto.share Create a new key for our auto.share map, an NFS mount for man pages: ipa automountkey-add baltimore auto.share --key=man --info="-ro,soft,rsize=8192,wsize=8192 ipa.example.com:/shared/man" Find all keys for the auto.share map: ipa automountkey-find baltimore auto.share Find all direct automount keys: ipa automountkey-find baltimore --key=/- Remove the man key from the auto.share map: ipa automountkey-del baltimore auto.share --key=man Based on the ownership there are three vault categories: * user/private vault * service vault * shared vault Based on the security mechanism there are three types of vaults: * standard vault * symmetric vault * asymmetric vault Baseuser This contains common definitions for user/stageuser Bring clarity to the membership of hosts and users by configuring inclusive or exclusive regex patterns, you can automatically assign a new entries into a group or hostgroup based upon attribute information. CAs (all except the 'IPA' CA) can be deleted. Deleting a CA causes its signing certificate to be revoked and its private key deleted. CAs are enabled on creation, but their use is subject to CA ACLs unless the operator has permission to bypass CA ACLs. Certificate Identity Mapping Certificate requests exist in the form of a Certificate Signing Request (CSR) in PEM format. Certificates may be searched on by certificate subject, serial number, revocation reason, validity dates and the issued date. Classes to manage trust joins using DCE-RPC calls The code in this module relies heavily on samba4-python package and Samba4 python bindings. Commands to build certificate requests automatically Cross-realm trusts Manage trust relationship between IPA and Active Directory domains. In order to allow users from a remote domain to access resources in IPA domain, trust relationship needs to be established. Currently IPA supports only trusts between IPA and Active Directory domains under control of Windows Server 2008 or later, with functional level 2008 or later. Please note that DNS on both IPA and Active Directory domain sides should be configured properly to discover each other. Trust relationship relies on ability to discover special resources in the other domain via DNS records. Examples: 1. Establish cross-realm trust with Active Directory using AD administrator credentials: ipa trust-add --type=ad --admin --password 2. List all existing trust relationships: ipa trust-find 3. Show details of the specific trust relationship: ipa trust-show 4. Delete existing trust relationship: ipa trust-del Once trust relationship is established, remote users will need to be mapped to local POSIX groups in order to actually use IPA resources. The mapping should be done via use of external membership of non-POSIX group and then this group should be included into one of local POSIX groups. Example: 1. Create group for the trusted domain admins' mapping and their local POSIX group: ipa group-add --desc=' admins external map' ad_admins_external --external ipa group-add --desc=' admins' ad_admins 2. Add security identifier of Domain Admins of the to the ad_admins_external group: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Allow members of ad_admins_external group to be associated with ad_admins POSIX group: ipa group-add-member ad_admins --groups ad_admins_external 4. List members of external members of ad_admins_external group to see their SIDs: ipa group-show ad_admins_external GLOBAL TRUST CONFIGURATION When IPA AD trust subpackage is installed and ipa-adtrust-install is run, a local domain configuration (SID, GUID, NetBIOS name) is generated. These identifiers are then used when communicating with a trusted domain of the particular type. 1. Show global trust configuration for Active Directory type of trusts: ipa trustconfig-show --type ad 2. Modify global configuration for all trusts of Active Directory type and set a different fallback primary group (fallback primary group GID is used as a primary user GID if user authenticating to IPA domain does not have any other primary GID already set): ipa trustconfig-mod --type ad --fallback-primary-group "alternative AD group" 3. Change primary fallback group back to default hidden group (any group with posixGroup object class is allowed): ipa trustconfig-mod --type ad --fallback-primary-group "Default SMB Group" Cross-realm trusts Manage trust relationship between IPA and Active Directory domains. In order to allow users from a remote domain to access resources in IPA domain, trust relationship needs to be established. Currently IPA supports only trusts between IPA and Active Directory domains under control of Windows Server 2008 or later, with functional level 2008 or later. Please note that DNS on both IPA and Active Directory domain sides should be configured properly to discover each other. Trust relationship relies on ability to discover special resources in the other domain via DNS records. Examples: 1. Establish cross-realm trust with Active Directory using AD administrator credentials: ipa trust-add --type=ad --admin --password 2. List all existing trust relationships: ipa trust-find 3. Show details of the specific trust relationship: ipa trust-show 4. Delete existing trust relationship: ipa trust-del Once trust relationship is established, remote users will need to be mapped to local POSIX groups in order to actually use IPA resources. The mapping should be done via use of external membership of non-POSIX group and then this group should be included into one of local POSIX groups. Example: 1. Create group for the trusted domain admins' mapping and their local POSIX group: ipa group-add --desc=' admins external map' ad_admins_external --external ipa group-add --desc=' admins' ad_admins 2. Add security identifier of Domain Admins of the to the ad_admins_external group: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Allow members of ad_admins_external group to be associated with ad_admins POSIX group: ipa group-add-member ad_admins --groups ad_admins_external 4. List members of external members of ad_admins_external group to see their SIDs: ipa group-show ad_admins_external GLOBAL TRUST CONFIGURATION When IPA AD trust subpackage is installed and ipa-adtrust-install is run, a local domain configuration (SID, GUID, NetBIOS name) is generated. These identifiers are then used when communicating with a trusted domain of the particular type. 1. Show global trust configuration for Active Directory type of trusts: ipa trustconfig-show --type ad 2. Modify global configuration for all trusts of Active Directory type and set a different fallback primary group (fallback primary group GID is used as a primary user GID if user authenticating to IPA domain does not have any other primary GID already set): ipa trustconfig-mod --type ad --fallback-primary-group "another AD group" 3. Change primary fallback group back to default hidden group (any group with posixGroup object class is allowed): ipa trustconfig-mod --type ad --fallback-primary-group "Default SMB Group" DNS configuration passed to command line install script is stored in a local configuration file on each IPA server where DNS service is configured. These local settings can be overridden with a common configuration stored in LDAP server: DNS server configuration Data stored on IPA servers is replicated to other IPA servers. The way it is replicated is defined by replication agreements. Replication agreements needs to be set for both suffixes separately. On domain level 0 they are managed using ipa-replica-manage and ipa-csreplica-manage tools. With domain level 1 they are managed centrally using `ipa topology*` commands. Dates are treated as GMT to match the dates in the certificates. Deleting or renaming a managed permission, as well as changing its target, is not allowed. Directory Server Access Control Instructions (ACIs) ACIs are used to allow or deny access to information. This module is currently designed to allow, not deny, access. The aci commands are designed to grant permissions that allow updating existing entries or adding or deleting new ones. The goal of the ACIs that ship with IPA is to provide a set of low-level permissions that grant access to special groups called taskgroups. These low-level permissions can be combined into roles that grant broader access. These roles are another type of group, roles. For example, if you have taskgroups that allow adding and modifying users you could create a role, useradmin. You would assign users to the useradmin role to allow them to do the operations defined by the taskgroups. You can create ACIs that delegate permission so users in group A can write attributes on group B. The type option is a map that applies to all entries in the users, groups or host location. It is primarily designed to be used when granting add permissions (to write new entries). An ACI consists of three parts: 1. target 2. permissions 3. bind rules The target is a set of rules that define which LDAP objects are being targeted. This can include a list of attributes, an area of that LDAP tree or an LDAP filter. The targets include: - attrs: list of attributes affected - type: an object type (user, group, host, service, etc) - memberof: members of a group - targetgroup: grant access to modify a specific group. This is primarily designed to enable users to add or remove members of a specific group. - filter: A legal LDAP filter used to narrow the scope of the target. - subtree: Used to apply a rule across an entire set of objects. For example, to allow adding users you need to grant "add" permission to the subtree ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. The subtree option is a fail-safe for objects that may not be covered by the type option. The permissions define what the ACI is allowed to do, and are one or more of: 1. write - write one or more attributes 2. read - read one or more attributes 3. add - add a new entry to the tree 4. delete - delete an existing entry 5. all - all permissions are granted Note the distinction between attributes and entries. The permissions are independent, so being able to add a user does not mean that the user will be editable. The bind rule defines who this ACI grants permissions to. The LDAP server allows this to be any valid LDAP entry but we encourage the use of taskgroups so that the rights can be easily shared through roles. For a more thorough description of access controls see http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html EXAMPLES: NOTE: ACIs are now added via the permission plugin. These examples are to demonstrate how the various options work but this is done via the permission command-line now (see last example). Add an ACI so that the group "secretaries" can update the address on any user: ipa group-add --desc="Office secretaries" secretaries ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none "Secretaries write addresses" Show the new ACI: ipa aci-show --prefix=none "Secretaries write addresses" Add an ACI that allows members of the "addusers" permission to add new users: ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none "Add new users" Add an ACI that allows members of the editors manage members of the admins group: ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none "Editors manage admins" Add an ACI that allows members of the admins group to manage the street and zip code of those in the editors group: ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street --attrs=postalcode --prefix=none "admins edit the address of editors" Add an ACI that allows the admins group manage the street and zipcode of those who work for the boss: ipa aci-add --permissions=write --group=admins --attrs=street --attrs=postalcode --filter="(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)" --prefix=none "Edit the address of those who work for the boss" Add an entirely new kind of record to IPA that isn't covered by any of the --type options, creating a permission: ipa permission-add --permissions=add --subtree="cn=*,cn=orange,cn=accounts,dc=example,dc=com" --desc="Add Orange Entries" add_orange The show command shows the raw 389-ds ACI. IMPORTANT: When modifying the target attributes of an existing ACI you must include all existing attributes as well. When doing an aci-mod the targetattr REPLACES the current attributes, it does not add to them. Directory Server Access Control Instructions (ACIs) ACIs are used to allow or deny access to information. This module is currently designed to allow, not deny, access. The aci commands are designed to grant permissions that allow updating existing entries or adding or deleting new ones. The goal of the ACIs that ship with IPA is to provide a set of low-level permissions that grant access to special groups called taskgroups. These low-level permissions can be combined into roles that grant broader access. These roles are another type of group, roles. For example, if you have taskgroups that allow adding and modifying users you could create a role, useradmin. You would assign users to the useradmin role to allow them to do the operations defined by the taskgroups. You can create ACIs that delegate permission so users in group A can write attributes on group B. The type option is a map that applies to all entries in the users, groups or host location. It is primarily designed to be used when granting add permissions (to write new entries). An ACI consists of three parts: 1. target 2. permissions 3. bind rules The target is a set of rules that define which LDAP objects are being targeted. This can include a list of attributes, an area of that LDAP tree or an LDAP filter. The targets include: - attrs: list of attributes affected - type: an object type (user, group, host, service, etc) - memberof: members of a group - targetgroup: grant access to modify a specific group. This is primarily designed to enable users to add or remove members of a specific group. - filter: A legal LDAP filter used to narrow the scope of the target. - subtree: Used to apply a rule across an entire set of objects. For example, to allow adding users you need to grant "add" permission to the subtree ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. The subtree option is a fail-safe for objects that may not be covered by the type option. The permissions define what the ACI is allowed to do, and are one or more of: 1. write - write one or more attributes 2. read - read one or more attributes 3. add - add a new entry to the tree 4. delete - delete an existing entry 5. all - all permissions are granted Note the distinction between attributes and entries. The permissions are independent, so being able to add a user does not mean that the user will be editable. The bind rule defines who this ACI grants permissions to. The LDAP server allows this to be any valid LDAP entry but we encourage the use of taskgroups so that the rights can be easily shared through roles. For a more thorough description of access controls see http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html EXAMPLES: NOTE: ACIs are now added via the permission plugin. These examples are to demonstrate how the various options work but this is done via the permission command-line now (see last example). Add an ACI so that the group "secretaries" can update the address on any user: ipa group-add --desc="Office secretaries" secretaries ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none "Secretaries write addresses" Show the new ACI: ipa aci-show --prefix=none "Secretaries write addresses" Add an ACI that allows members of the "addusers" permission to add new users: ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none "Add new users" Add an ACI that allows members of the editors manage members of the admins group: ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none "Editors manage admins" Add an ACI that allows members of the admins group to manage the street and zip code of those in the editors group: ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street,postalcode --prefix=none "admins edit the address of editors" Add an ACI that allows the admins group manage the street and zipcode of those who work for the boss: ipa aci-add --permissions=write --group=admins --attrs=street,postalcode --filter="(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)" --prefix=none "Edit the address of those who work for the boss" Add an entirely new kind of record to IPA that isn't covered by any of the --type options, creating a permission: ipa permission-add --permissions=add --subtree="cn=*,cn=orange,cn=accounts,dc=example,dc=com" --desc="Add Orange Entries" add_orange The show command shows the raw 389-ds ACI. IMPORTANT: When modifying the target attributes of an existing ACI you must include all existing attributes as well. When doing an aci-mod the targetattr REPLACES the current attributes, it does not add to them. Domain Name System (DNS) Domain Name System (DNS) Manage DNS zone and resource records. USING STRUCTURED PER-TYPE OPTIONS There are many structured DNS RR types where DNS data stored in LDAP server is not just a scalar value, for example an IP address or a domain name, but a data structure which may be often complex. A good example is a LOC record [RFC1876] which consists of many mandatory and optional parts (degrees, minutes, seconds of latitude and longitude, altitude or precision). It may be difficult to manipulate such DNS records without making a mistake and entering an invalid value. DNS module provides an abstraction over these raw records and allows to manipulate each RR type with specific options. For each supported RR type, DNS module provides a standard option to manipulate a raw records with format ---rec, e.g. --mx-rec, and special options for every part of the RR structure with format ---, e.g. --mx-preference and --mx-exchanger. When adding a record, either RR specific options or standard option for a raw value can be used, they just should not be combined in one add operation. When modifying an existing entry, new RR specific options can be used to change one part of a DNS record, where the standard option for raw value is used to specify the modified value. The following example demonstrates a modification of MX record preference from 0 to 1 in a record without modifying the exchanger: ipa dnsrecord-mod --mx-rec="0 mx.example.com." --mx-preference=1 EXAMPLES: Add new zone: ipa dnszone-add example.com --name-server=ns --admin-email=admin@example.com --ip-address=10.0.0.1 Add system permission that can be used for per-zone privilege delegation: ipa dnszone-add-permission example.com Modify the zone to allow dynamic updates for hosts own records in realm EXAMPLE.COM: ipa dnszone-mod example.com --dynamic-update=TRUE This is the equivalent of: ipa dnszone-mod example.com --dynamic-update=TRUE --update-policy="grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;" Modify the zone to allow zone transfers for local network only: ipa dnszone-mod example.com --allow-transfer=10.0.0.0/8 Add new reverse zone specified by network IP address: ipa dnszone-add --name-from-ip=80.142.15.0/24 --name-server=ns.example.com. Add second nameserver for example.com: ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com Add a mail server for example.com: ipa dnsrecord-add example.com @ --mx-rec="10 mail1" Add another record using MX record specific options: ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2 Add another record using interactive mode (started when dnsrecord-add, dnsrecord-mod, or dnsrecord-del are executed with no options): ipa dnsrecord-add example.com @ Please choose a type of DNS resource record to be added The most common types for this type of zone are: NS, MX, LOC DNS resource record type: MX MX Preference: 30 MX Exchanger: mail3 Record name: example.com MX record: 10 mail1, 20 mail2, 30 mail3 NS record: nameserver.example.com., nameserver2.example.com. Delete previously added nameserver from example.com: ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com. Add LOC record for example.com: ipa dnsrecord-add example.com @ --loc-rec="49 11 42.4 N 16 36 29.6 E 227.64m" Add new A record for www.example.com. Create a reverse record in appropriate reverse zone as well. In this case a PTR record "2" pointing to www.example.com will be created in zone 15.142.80.in-addr.arpa. ipa dnsrecord-add example.com www --a-rec=80.142.15.2 --a-create-reverse Add new PTR record for www.example.com ipa dnsrecord-add 15.142.80.in-addr.arpa. 2 --ptr-rec=www.example.com. Add new SRV records for LDAP servers. Three quarters of the requests should go to fast.example.com, one quarter to slow.example.com. If neither is available, switch to backup.example.com. ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 3 389 fast.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 1 389 slow.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="1 1 389 backup.example.com" The interactive mode can be used for easy modification: ipa dnsrecord-mod example.com _ldap._tcp No option to modify specific record provided. Current DNS record contents: SRV record: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 backup.example.com Modify SRV record '0 3 389 fast.example.com'? Yes/No (default No): Modify SRV record '0 1 389 slow.example.com'? Yes/No (default No): y SRV Priority [0]: (keep the default value) SRV Weight [1]: 2 (modified value) SRV Port [389]: (keep the default value) SRV Target [slow.example.com]: (keep the default value) 1 SRV record skipped. Only one value per DNS record type can be modified at one time. Record name: _ldap._tcp SRV record: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 389 slow.example.com After this modification, three fifths of the requests should go to fast.example.com and two fifths to slow.example.com. An example of the interactive mode for dnsrecord-del command: ipa dnsrecord-del example.com www No option to delete specific record provided. Delete all? Yes/No (default No): (do not delete all records) Current DNS record contents: A record: 1.2.3.4, 11.22.33.44 Delete A record '1.2.3.4'? Yes/No (default No): Delete A record '11.22.33.44'? Yes/No (default No): y Record name: www A record: 1.2.3.4 (A record 11.22.33.44 has been deleted) Show zone example.com: ipa dnszone-show example.com Find zone with "example" in its domain name: ipa dnszone-find example Find records for resources with "www" in their name in zone example.com: ipa dnsrecord-find example.com www Find A records with value 10.10.0.1 in zone example.com ipa dnsrecord-find example.com --a-rec=10.10.0.1 Show records for resource www in zone example.com ipa dnsrecord-show example.com www Delegate zone sub.example to another nameserver: ipa dnsrecord-add example.com ns.sub --a-rec=10.0.100.5 ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com. If global forwarder is configured, all requests to sub.example.com will be routed through the global forwarder. To change the behavior for example.com zone only and forward the request directly to ns.sub.example.com., global forwarding may be disabled per-zone: ipa dnszone-mod example.com --forward-policy=none Forward all requests for the zone external.com to another nameserver using a "first" policy (it will send the queries to the selected forwarder and if not answered it will use global resolvers): ipa dnszone-add external.com ipa dnszone-mod external.com --forwarder=10.20.0.1 --forward-policy=first Delete zone example.com with all resource records: ipa dnszone-del example.com Resolve a host name to see if it exists (will add default IPA domain if one is not included): ipa dns-resolve www.example.com ipa dns-resolve www GLOBAL DNS CONFIGURATION DNS configuration passed to command line install script is stored in a local configuration file on each IPA server where DNS service is configured. These local settings can be overridden with a common configuration stored in LDAP server: Show global DNS configuration: ipa dnsconfig-show Modify global DNS configuration and set a list of global forwarders: ipa dnsconfig-mod --forwarder=10.0.0.1 Domain Name System (DNS) Manage DNS zone and resource records. SUPPORTED ZONE TYPES * Master zone (dnszone-*), contains authoritative data. * Forward zone (dnsforwardzone-*), forwards queries to configured forwarders (a set of DNS servers). USING STRUCTURED PER-TYPE OPTIONS There are many structured DNS RR types where DNS data stored in LDAP server is not just a scalar value, for example an IP address or a domain name, but a data structure which may be often complex. A good example is a LOC record [RFC1876] which consists of many mandatory and optional parts (degrees, minutes, seconds of latitude and longitude, altitude or precision). It may be difficult to manipulate such DNS records without making a mistake and entering an invalid value. DNS module provides an abstraction over these raw records and allows to manipulate each RR type with specific options. For each supported RR type, DNS module provides a standard option to manipulate a raw records with format ---rec, e.g. --mx-rec, and special options for every part of the RR structure with format ---, e.g. --mx-preference and --mx-exchanger. When adding a record, either RR specific options or standard option for a raw value can be used, they just should not be combined in one add operation. When modifying an existing entry, new RR specific options can be used to change one part of a DNS record, where the standard option for raw value is used to specify the modified value. The following example demonstrates a modification of MX record preference from 0 to 1 in a record without modifying the exchanger: ipa dnsrecord-mod --mx-rec="0 mx.example.com." --mx-preference=1 EXAMPLES: Add new zone: ipa dnszone-add example.com --admin-email=admin@example.com Add system permission that can be used for per-zone privilege delegation: ipa dnszone-add-permission example.com Modify the zone to allow dynamic updates for hosts own records in realm EXAMPLE.COM: ipa dnszone-mod example.com --dynamic-update=TRUE This is the equivalent of: ipa dnszone-mod example.com --dynamic-update=TRUE --update-policy="grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;" Modify the zone to allow zone transfers for local network only: ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24 Add new reverse zone specified by network IP address: ipa dnszone-add --name-from-ip=192.0.2.0/24 Add second nameserver for example.com: ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com Add a mail server for example.com: ipa dnsrecord-add example.com @ --mx-rec="10 mail1" Add another record using MX record specific options: ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2 Add another record using interactive mode (started when dnsrecord-add, dnsrecord-mod, or dnsrecord-del are executed with no options): ipa dnsrecord-add example.com @ Please choose a type of DNS resource record to be added The most common types for this type of zone are: NS, MX, LOC DNS resource record type: MX MX Preference: 30 MX Exchanger: mail3 Record name: example.com MX record: 10 mail1, 20 mail2, 30 mail3 NS record: nameserver.example.com., nameserver2.example.com. Delete previously added nameserver from example.com: ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com. Add LOC record for example.com: ipa dnsrecord-add example.com @ --loc-rec="49 11 42.4 N 16 36 29.6 E 227.64m" Add new A record for www.example.com. Create a reverse record in appropriate reverse zone as well. In this case a PTR record "2" pointing to www.example.com will be created in zone 2.0.192.in-addr.arpa. ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse Add new PTR record for www.example.com ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com. Add new SRV records for LDAP servers. Three quarters of the requests should go to fast.example.com, one quarter to slow.example.com. If neither is available, switch to backup.example.com. ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 3 389 fast.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 1 389 slow.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="1 1 389 backup.example.com" The interactive mode can be used for easy modification: ipa dnsrecord-mod example.com _ldap._tcp No option to modify specific record provided. Current DNS record contents: SRV record: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 backup.example.com Modify SRV record '0 3 389 fast.example.com'? Yes/No (default No): Modify SRV record '0 1 389 slow.example.com'? Yes/No (default No): y SRV Priority [0]: (keep the default value) SRV Weight [1]: 2 (modified value) SRV Port [389]: (keep the default value) SRV Target [slow.example.com]: (keep the default value) 1 SRV record skipped. Only one value per DNS record type can be modified at one time. Record name: _ldap._tcp SRV record: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 389 slow.example.com After this modification, three fifths of the requests should go to fast.example.com and two fifths to slow.example.com. An example of the interactive mode for dnsrecord-del command: ipa dnsrecord-del example.com www No option to delete specific record provided. Delete all? Yes/No (default No): (do not delete all records) Current DNS record contents: A record: 192.0.2.2, 192.0.2.3 Delete A record '192.0.2.2'? Yes/No (default No): Delete A record '192.0.2.3'? Yes/No (default No): y Record name: www A record: 192.0.2.2 (A record 192.0.2.3 has been deleted) Show zone example.com: ipa dnszone-show example.com Find zone with "example" in its domain name: ipa dnszone-find example Find records for resources with "www" in their name in zone example.com: ipa dnsrecord-find example.com www Find A records with value 192.0.2.2 in zone example.com ipa dnsrecord-find example.com --a-rec=192.0.2.2 Show records for resource www in zone example.com ipa dnsrecord-show example.com www Delegate zone sub.example to another nameserver: ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1 ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com. Delete zone example.com with all resource records: ipa dnszone-del example.com If a global forwarder is configured, all queries for which this server is not authoritative (e.g. sub.example.com) will be routed to the global forwarder. Global forwarding configuration can be overridden per-zone. Semantics of forwarding in IPA matches BIND semantics and depends on the type of zone: * Master zone: local BIND replies authoritatively to queries for data in the given zone (including authoritative NXDOMAIN answers) and forwarding affects only queries for names below zone cuts (NS records) of locally served zones. * Forward zone: forward zone contains no authoritative data. BIND forwards queries, which cannot be answered from its local cache, to configured forwarders. Semantics of the --forward-policy option: * none - disable forwarding for the given zone. * first - forward all queries to configured forwarders. If they fail, do resolution using DNS root servers. * only - forward all queries to configured forwarders and if they fail, return failure. Disable global forwarding for given sub-tree: ipa dnszone-mod example.com --forward-policy=none This configuration forwards all queries for names outside the example.com sub-tree to global forwarders. Normal recursive resolution process is used for names inside the example.com sub-tree (i.e. NS records are followed etc.). Forward all requests for the zone external.example.com to another forwarder using a "first" policy (it will send the queries to the selected forwarder and if not answered it will use global root servers): ipa dnsforwardzone-add external.example.com --forward-policy=first --forwarder=203.0.113.1 Change forward-policy for external.example.com: ipa dnsforwardzone-mod external.example.com --forward-policy=only Show forward zone external.example.com: ipa dnsforwardzone-show external.example.com List all forward zones: ipa dnsforwardzone-find Delete forward zone external.example.com: ipa dnsforwardzone-del external.example.com Resolve a host name to see if it exists (will add default IPA domain if one is not included): ipa dns-resolve www.example.com ipa dns-resolve www GLOBAL DNS CONFIGURATION DNS configuration passed to command line install script is stored in a local configuration file on each IPA server where DNS service is configured. These local settings can be overridden with a common configuration stored in LDAP server: Show global DNS configuration: ipa dnsconfig-show Modify global DNS configuration and set a list of global forwarders: ipa dnsconfig-mod --forwarder=203.0.113.113 ENROLLMENT: There are three enrollment scenarios when enrolling a new client: 1. You are enrolling as a full administrator. The host entry may exist or not. A full administrator is a member of the hostadmin role or the admins group. 2. You are enrolling as a limited administrator. The host must already exist. A limited administrator is a member a role with the Host Enrollment privilege. 3. The host has been created with a one-time password. EXAMPLES: Entitlements Manage entitlements for client machines Entitlements can be managed either by registering with an entitlement server with a username and password or by manually importing entitlement certificates. An entitlement certificate contains embedded information such as the product being entitled, the quantity and the validity dates. An entitlement server manages the number of client entitlements available. To mark these entitlements as used by the IPA server you provide a quantity and they are marked as consumed on the entitlement server. Register with an entitlement server: ipa entitle-register consumer Import an entitlement certificate: ipa entitle-import /home/user/ipaclient.pem Display current entitlements: ipa entitle-status Retrieve details on entitlement certificates: ipa entitle-get Consume some entitlements from the entitlement server: ipa entitle-consume 50 The registration ID is a Unique Identifier (UUID). This ID will be IMPORTED if you have used entitle-import. Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service. FreeIPA provides a designated binddn to use with Sudo located at: uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com FreeIPA provides a means to configure the various aspects of Sudo: Users: The user(s)/group(s) allowed to invoke Sudo. Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo. Allow Command: The specific command(s) permitted to be run via Sudo. Deny Command: The specific command(s) prohibited to be run via Sudo. RunAsUser: The user(s) or group(s) of users whose rights Sudo will be invoked with. RunAsGroup: The group(s) whose gid rights Sudo will be invoked with. Options: The various Sudoers Options that can modify Sudo's behavior. Get information about installed IPA servers. Get status of roles (DNS server, CA, etc.) provided by IPA masters. Group to Group Delegation A permission enables fine-grained delegation of permissions. Access Control Rules, or instructions (ACIs), grant permission to permissions to perform given tasks such as adding a user, modifying a group, etc. Group to Group Delegations grants the members of one group to update a set of attributes of members of another group. EXAMPLES: Add a delegation rule to allow managers to edit employee's addresses: ipa delegation-add --attrs=street --group=managers --membergroup=employees "managers edit employees' street" When managing the list of attributes you need to include all attributes in the list, including existing ones. Add postalCode to the list: ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --membergroup=employees "managers edit employees' street" Display our updated rule: ipa delegation-show "managers edit employees' street" Delete a rule: ipa delegation-del "managers edit employees' street" Group to Group Delegation A permission enables fine-grained delegation of permissions. Access Control Rules, or instructions (ACIs), grant permission to permissions to perform given tasks such as adding a user, modifying a group, etc. Group to Group Delegations grants the members of one group to update a set of attributes of members of another group. EXAMPLES: Add a delegation rule to allow managers to edit employee's addresses: ipa delegation-add --attrs=street --group=managers --membergroup=employees "managers edit employees' street" When managing the list of attributes you need to include all attributes in the list, including existing ones. Add postalCode to the list: ipa delegation-mod --attrs=street,postalCode --group=managers --membergroup=employees "managers edit employees' street" Display our updated rule: ipa delegation-show "managers edit employees' street" Delete a rule: ipa delegation-del "managers edit employees' street" Groups of Sudo Commands Manage groups of Sudo Commands. EXAMPLES: Add a new Sudo Command Group: ipa sudocmdgroup-add --desc='administrators commands' admincmds Remove a Sudo Command Group: ipa sudocmdgroup-del admincmds Manage Sudo Command Group membership, commands: ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/vim admincmds Manage Sudo Command Group membership, commands: ipa group-remove-member --sudocmds=/usr/bin/less admincmds Show a Sudo Command Group: ipa group-show localadmins Groups of Sudo Commands Manage groups of Sudo Commands. EXAMPLES: Add a new Sudo Command Group: ipa sudocmdgroup-add --desc='administrators commands' admincmds Remove a Sudo Command Group: ipa sudocmdgroup-del admincmds Manage Sudo Command Group membership, commands: ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/vim admincmds Manage Sudo Command Group membership, commands: ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds Show a Sudo Command Group: ipa sudocmdgroup-show admincmds Groups of Sudo Commands Manage groups of Sudo Commands. EXAMPLES: Add a new Sudo Command Group: ipa sudocmdgroup-add --desc='administrators commands' admincmds Remove a Sudo Command Group: ipa sudocmdgroup-del admincmds Manage Sudo Command Group membership, commands: ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less,/usr/bin/vim admincmds Manage Sudo Command Group membership, commands: ipa group-remove-member --sudocmds=/usr/bin/less admincmds Show a Sudo Command Group: ipa group-show localadmins Groups of hosts. Manage groups of hosts. This is useful for applying access control to a number of hosts by using Host-based Access Control. EXAMPLES: Add a new host group: ipa hostgroup-add --desc="Baltimore hosts" baltimore Add another new host group: ipa hostgroup-add --desc="Maryland hosts" maryland Add members to the hostgroup (using Bash brace expansion): ipa hostgroup-add-member --hosts={box1,box2,box3} baltimore Add a hostgroup as a member of another hostgroup: ipa hostgroup-add-member --hostgroups=baltimore maryland Remove a host from the hostgroup: ipa hostgroup-remove-member --hosts=box2 baltimore Display a host group: ipa hostgroup-show baltimore Delete a hostgroup: ipa hostgroup-del baltimore Groups of hosts. Manage groups of hosts. This is useful for applying access control to a number of hosts by using Host-based Access Control. EXAMPLES: Add a new host group: ipa hostgroup-add --desc="Baltimore hosts" baltimore Add another new host group: ipa hostgroup-add --desc="Maryland hosts" maryland Add members to the hostgroup: ipa hostgroup-add-member --hosts=box1,box2,box3 baltimore Add a hostgroup as a member of another hostgroup: ipa hostgroup-add-member --hostgroups=baltimore maryland Remove a host from the hostgroup: ipa hostgroup-remove-member --hosts=box2 baltimore Display a host group: ipa hostgroup-show baltimore Delete a hostgroup: ipa hostgroup-del baltimore Groups of users Manage groups of users. By default, new groups are POSIX groups. You can add the --nonposix option to the group-add command to mark a new group as non-POSIX. You can use the --posix argument with the group-mod command to convert a non-POSIX group into a POSIX group. POSIX groups cannot be converted to non-POSIX groups. Every group must have a description. POSIX groups must have a Group ID (GID) number. Changing a GID is supported but can have an impact on your file permissions. It is not necessary to supply a GID when creating a group. IPA will generate one automatically if it is not provided. EXAMPLES: Add a new group: ipa group-add --desc='local administrators' localadmins Add a new non-POSIX group: ipa group-add --nonposix --desc='remote administrators' remoteadmins Convert a non-POSIX group to posix: ipa group-mod --posix remoteadmins Add a new POSIX group with a specific Group ID number: ipa group-add --gid=500 --desc='unix admins' unixadmins Add a new POSIX group and let IPA assign a Group ID number: ipa group-add --desc='printer admins' printeradmins Remove a group: ipa group-del unixadmins To add the "remoteadmins" group to the "localadmins" group: ipa group-add-member --groups=remoteadmins localadmins Add a list of users to the "localadmins" group: ipa group-add-member --users=test1,test2 localadmins Remove a user from the "localadmins" group: ipa group-remove-member --users=test2 localadmins Display information about a named group. ipa group-show localadmins External group membership is designed to allow users from trusted domains to be mapped to local POSIX groups in order to actually use IPA resources. External members should be added to groups that specifically created as external and non-POSIX. Such group later should be included into one of POSIX groups. An external group member is currently a Security Identifier (SID) as defined by the trusted domain. When adding external group members, it is possible to specify them in either SID, or DOM ame, or name@domain format. IPA will attempt to resolve passed name to SID with the use of Global Catalog of the trusted domain. Example: 1. Create group for the trusted domain admins' mapping and their local POSIX group: ipa group-add --desc=' admins external map' ad_admins_external --external ipa group-add --desc=' admins' ad_admins 2. Add security identifier of Domain Admins of the to the ad_admins_external group: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Allow members of ad_admins_external group to be associated with ad_admins POSIX group: ipa group-add-member ad_admins --groups ad_admins_external 4. List members of external members of ad_admins_external group to see their SIDs: ipa group-show ad_admins_external Groups of users Manage groups of users. By default, new groups are POSIX groups. You can add the --nonposix option to the group-add command to mark a new group as non-POSIX. You can use the --posix argument with the group-mod command to convert a non-POSIX group into a POSIX group. POSIX groups cannot be converted to non-POSIX groups. Every group must have a description. POSIX groups must have a Group ID (GID) number. Changing a GID is supported but can have an impact on your file permissions. It is not necessary to supply a GID when creating a group. IPA will generate one automatically if it is not provided. EXAMPLES: Add a new group: ipa group-add --desc='local administrators' localadmins Add a new non-POSIX group: ipa group-add --nonposix --desc='remote administrators' remoteadmins Convert a non-POSIX group to posix: ipa group-mod --posix remoteadmins Add a new POSIX group with a specific Group ID number: ipa group-add --gid=500 --desc='unix admins' unixadmins Add a new POSIX group and let IPA assign a Group ID number: ipa group-add --desc='printer admins' printeradmins Remove a group: ipa group-del unixadmins To add the "remoteadmins" group to the "localadmins" group: ipa group-add-member --groups=remoteadmins localadmins Add multiple users to the "localadmins" group: ipa group-add-member --users=test1 --users=test2 localadmins Remove a user from the "localadmins" group: ipa group-remove-member --users=test2 localadmins Display information about a named group. ipa group-show localadmins External group membership is designed to allow users from trusted domains to be mapped to local POSIX groups in order to actually use IPA resources. External members should be added to groups that specifically created as external and non-POSIX. Such group later should be included into one of POSIX groups. An external group member is currently a Security Identifier (SID) as defined by the trusted domain. When adding external group members, it is possible to specify them in either SID, or DOM ame, or name@domain format. IPA will attempt to resolve passed name to SID with the use of Global Catalog of the trusted domain. Example: 1. Create group for the trusted domain admins' mapping and their local POSIX group: ipa group-add --desc=' admins external map' ad_admins_external --external ipa group-add --desc=' admins' ad_admins 2. Add security identifier of Domain Admins of the to the ad_admins_external group: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Allow members of ad_admins_external group to be associated with ad_admins POSIX group: ipa group-add-member ad_admins --groups ad_admins_external 4. List members of external members of ad_admins_external group to see their SIDs: ipa group-show ad_admins_external Groups of users Manage groups of users. By default, new groups are POSIX groups. You can add the --nonposix option to the group-add command to mark a new group as non-POSIX. You can use the --posix argument with the group-mod command to convert a non-POSIX group into a POSIX group. POSIX groups cannot be converted to non-POSIX groups. Every group must have a description. POSIX groups must have a Group ID (GID) number. Changing a GID is supported but can have an impact on your file permissions. It is not necessary to supply a GID when creating a group. IPA will generate one automatically if it is not provided. EXAMPLES: Add a new group: ipa group-add --desc='local administrators' localadmins Add a new non-POSIX group: ipa group-add --nonposix --desc='remote administrators' remoteadmins Convert a non-POSIX group to posix: ipa group-mod --posix remoteadmins Add a new POSIX group with a specific Group ID number: ipa group-add --gid=500 --desc='unix admins' unixadmins Add a new POSIX group and let IPA assign a Group ID number: ipa group-add --desc='printer admins' printeradmins Remove a group: ipa group-del unixadmins To add the "remoteadmins" group to the "localadmins" group: ipa group-add-member --groups=remoteadmins localadmins Add multiple users to the "localadmins" group: ipa group-add-member --users=test1 --users=test2 localadmins Remove a user from the "localadmins" group: ipa group-remove-member --users=test2 localadmins Display information about a named group. ipa group-show localadmins External group membership is designed to allow users from trusted domains to be mapped to local POSIX groups in order to actually use IPA resources. External members should be added to groups that specifically created as external and non-POSIX. Such group later should be included into one of POSIX groups. An external group member is currently a Security Identifier (SID) as defined by the trusted domain. When adding external group members, it is possible to specify them in either SID, or DOM\name, or name@domain format. IPA will attempt to resolve passed name to SID with the use of Global Catalog of the trusted domain. Example: 1. Create group for the trusted domain admins' mapping and their local POSIX group: ipa group-add --desc=' admins external map' ad_admins_external --external ipa group-add --desc=' admins' ad_admins 2. Add security identifier of Domain Admins of the to the ad_admins_external group: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Allow members of ad_admins_external group to be associated with ad_admins POSIX group: ipa group-add-member ad_admins --groups ad_admins_external 4. List members of external members of ad_admins_external group to see their SIDs: ipa group-show ad_admins_external HBAC Service Groups HBAC service groups can contain any number of individual services, or "members". Every group must have a description. EXAMPLES: Add a new HBAC service group: ipa hbacsvcgroup-add --desc="login services" login Add members to an HBAC service group: ipa hbacsvcgroup-add-member --hbacsvcs=sshd --hbacsvcs=login login Display information about a named group: ipa hbacsvcgroup-show login Delete an HBAC service group: ipa hbacsvcgroup-del login HBAC Service Groups HBAC service groups can contain any number of individual services, or "members". Every group must have a description. EXAMPLES: Add a new HBAC service group: ipa hbacsvcgroup-add --desc="login services" login Add members to an HBAC service group: ipa hbacsvcgroup-add-member --hbacsvcs=sshd,login login Display information about a named group: ipa hbacsvcgroup-show login Add a new group to the "login" group: ipa hbacsvcgroup-add --desc="switch users" login ipa hbacsvcgroup-add-member --hbacsvcs=su,su-l login Delete an HBAC service group: ipa hbacsvcgroup-del login HBAC Services The PAM services that HBAC can control access to. The name used here must match the service name that PAM is evaluating. EXAMPLES: Add a new HBAC service: ipa hbacsvc-add tftp Modify an existing HBAC service: ipa hbacsvc-mod --desc="TFTP service" tftp Search for HBAC services. This example will return two results, the FTP service and the newly-added tftp service: ipa hbacsvc-find ftp Delete an HBAC service: ipa hbacsvc-del tftp HBAC Services The PAM services that HBAC can control access to. The name used here must match the service name that PAM is evaluating. EXAMPLES: Add a new HBAC service: ipa hbacsvc-add tftp Modify an existing HBAC service: ipa hbacsvc-mod --desc="TFTP service" tftp Search for HBAC services. This example will return two results, the FTP service and the newly-added tftp service: ipa hbacsvc-find ftp Delete an HBAC service: ipa hbacsvc-del tftp Host-based access control Control who can access what services on what hosts and from where. You can use HBAC to control which users or groups on a source host can access a service, or group of services, on a target host. You can also specify a category of users, target hosts, and source hosts. This is currently limited to "all", but might be expanded in the future. Target hosts and source hosts in HBAC rules must be hosts managed by IPA. The available services and groups of services are controlled by the hbacsvc and hbacsvcgroup plug-ins respectively. EXAMPLES: Create a rule, "test1", that grants all users access to the host "server" from anywhere: ipa hbacrule-add --usercat=all --srchostcat=all test1 ipa hbacrule-add-host --hosts=server.example.com test1 Display the properties of a named HBAC rule: ipa hbacrule-show test1 Create a rule for a specific service. This lets the user john access the sshd service on any machine from any machine: ipa hbacrule-add --hostcat=all --srchostcat=all john_sshd ipa hbacrule-add-user --users=john john_sshd ipa hbacrule-add-service --hbacsvcs=sshd john_sshd Create a rule for a new service group. This lets the user john access the FTP service on any machine from any machine: ipa hbacsvcgroup-add ftpers ipa hbacsvc-add sftp ipa hbacsvcgroup-add-member --hbacsvcs=ftp,sftp ftpers ipa hbacrule-add --hostcat=all --srchostcat=all john_ftp ipa hbacrule-add-user --users=john john_ftp ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp Disable a named HBAC rule: ipa hbacrule-disable test1 Remove a named HBAC rule: ipa hbacrule-del allow_server Host-based access control Control who can access what services on what hosts. You can use HBAC to control which users or groups can access a service, or group of services, on a target host. You can also specify a category of users and target hosts. This is currently limited to "all", but might be expanded in the future. Target hosts in HBAC rules must be hosts managed by IPA. The available services and groups of services are controlled by the hbacsvc and hbacsvcgroup plug-ins respectively. EXAMPLES: Create a rule, "test1", that grants all users access to the host "server" from anywhere: ipa hbacrule-add --usercat=all test1 ipa hbacrule-add-host --hosts=server.example.com test1 Display the properties of a named HBAC rule: ipa hbacrule-show test1 Create a rule for a specific service. This lets the user john access the sshd service on any machine from any machine: ipa hbacrule-add --hostcat=all john_sshd ipa hbacrule-add-user --users=john john_sshd ipa hbacrule-add-service --hbacsvcs=sshd john_sshd Create a rule for a new service group. This lets the user john access the FTP service on any machine from any machine: ipa hbacsvcgroup-add ftpers ipa hbacsvc-add sftp ipa hbacsvcgroup-add-member --hbacsvcs=ftp --hbacsvcs=sftp ftpers ipa hbacrule-add --hostcat=all john_ftp ipa hbacrule-add-user --users=john john_ftp ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp Disable a named HBAC rule: ipa hbacrule-disable test1 Remove a named HBAC rule: ipa hbacrule-del allow_server Hosts/Machines A host represents a machine. It can be used in a number of contexts: - service entries are associated with a host - a host stores the host/ service principal - a host can be used in Host-based Access Control (HBAC) rules - every enrolled client generates a host entry Hosts/Machines A host represents a machine. It can be used in a number of contexts: - service entries are associated with a host - a host stores the host/ service principal - a host can be used in Host-based Access Control (HBAC) rules - every enrolled client generates a host entry ENROLLMENT: There are three enrollment scenarios when enrolling a new client: 1. You are enrolling as a full administrator. The host entry may exist or not. A full administrator is a member of the hostadmin role or the admins group. 2. You are enrolling as a limited administrator. The host must already exist. A limited administrator is a member a role with the Host Enrollment privilege. 3. The host has been created with a one-time password. A host can only be enrolled once. If a client has enrolled and needs to be re-enrolled, the host entry must be removed and re-created. Note that re-creating the host entry will result in all services for the host being removed, and all SSL certificates associated with those services being revoked. A host can optionally store information such as where it is located, the OS that it runs, etc. EXAMPLES: Add a new host: ipa host-add --location="3rd floor lab" --locality=Dallas test.example.com Delete a host: ipa host-del test.example.com Add a new host with a one-time password: ipa host-add --os='Fedora 12' --password=Secret123 test.example.com Add a new host with a random one-time password: ipa host-add --os='Fedora 12' --random test.example.com Modify information about a host: ipa host-mod --os='Fedora 12' test.example.com Remove SSH public keys of a host and update DNS to reflect this change: ipa host-mod --sshpubkey= --updatedns test.example.com Disable the host Kerberos key, SSL certificate and all of its services: ipa host-disable test.example.com Add a host that can manage this host's keytab and certificate: ipa host-add-managedby --hosts=test2 test Hosts/Machines A host represents a machine. It can be used in a number of contexts: - service entries are associated with a host - a host stores the host/ service principal - a host can be used in Host-based Access Control (HBAC) rules - every enrolled client generates a host entry ENROLLMENT: There are three enrollment scenarios when enrolling a new client: 1. You are enrolling as a full administrator. The host entry may exist or not. A full administrator is a member of the hostadmin role or the admins group. 2. You are enrolling as a limited administrator. The host must already exist. A limited administrator is a member a role with the Host Enrollment privilege. 3. The host has been created with a one-time password. RE-ENROLLMENT: Host that has been enrolled at some point, and lost its configuration (e.g. VM destroyed) can be re-enrolled. For more information, consult the manual pages for ipa-client-install. A host can optionally store information such as where it is located, the OS that it runs, etc. EXAMPLES: Add a new host: ipa host-add --location="3rd floor lab" --locality=Dallas test.example.com Delete a host: ipa host-del test.example.com Add a new host with a one-time password: ipa host-add --os='Fedora 12' --password=Secret123 test.example.com Add a new host with a random one-time password: ipa host-add --os='Fedora 12' --random test.example.com Modify information about a host: ipa host-mod --os='Fedora 12' test.example.com Remove SSH public keys of a host and update DNS to reflect this change: ipa host-mod --sshpubkey= --updatedns test.example.com Disable the host Kerberos key, SSL certificate and all of its services: ipa host-disable test.example.com Add a host that can manage this host's keytab and certificate: ipa host-add-managedby --hosts=test2 test Allow user to create a keytab: ipa host-allow-create-keytab test2 --users=tuser1 ID Views Manage ID Views IPA allows to override certain properties of users and groups per each host. This functionality is primarily used to allow migration from older systems or other Identity Management solutions. ID ranges Manage ID ranges used to map Posix IDs to SIDs and back. There are two type of ID ranges which are both handled by this utility: - the ID ranges of the local domain - the ID ranges of trusted remote domains Both types have the following attributes in common: - base-id: the first ID of the Posix ID range - range-size: the size of the range With those two attributes a range object can reserve the Posix IDs starting with base-id up to but not including base-id+range-size exclusively. Additionally an ID range of the local domain may set - rid-base: the first RID(*) of the corresponding RID range - secondary-rid-base: first RID of the secondary RID range and an ID range of a trusted domain must set - rid-base: the first RID of the corresponding RID range - dom_sid: domain SID of the trusted domain EXAMPLE: Add a new ID range for a trusted domain Since there might be more than one trusted domain the domain SID must be given while creating the ID range. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range This ID range is then used by the IPA server and the SSSD IPA provider to assign Posix UIDs to users from the trusted domain. If e.g. a range for a trusted domain is configured with the following values: base-id = 1200000 range-size = 200000 rid-base = 0 the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. So RID 1000 <-> Posix ID 1201000 EXAMPLE: Add a new ID range for the local domain To create an ID range for the local domain it is not necessary to specify a domain SID. But since it is possible that a user and a group can have the same value as Posix ID a second RID interval is needed to handle conflicts. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=1000 --secondary-rid-base=1000000 local_range The data from the ID ranges of the local domain are used by the IPA server internally to assign SIDs to IPA users and groups. The SID will then be stored in the user or group objects. If e.g. the ID range for the local domain is configured with the values from the example above then a new user with the UID 1200007 will get the RID 1007. If this RID is already used by a group the RID will be 1000007. This can only happen if a user or a group object was created with a fixed ID because the automatic assignment will not assign the same ID twice. Since there are only users and groups sharing the same ID namespace it is sufficient to have only one fallback range to handle conflicts. To find the Posix ID for a given RID from the local domain it has to be checked first if the RID falls in the primary or secondary RID range and the rid-base or the secondary-rid-base has to be subtracted, respectively, and the base-id has to be added to get the Posix ID. Typically the creation of ID ranges happens behind the scenes and this CLI must not be used at all. The ID range for the local domain will be created during installation or upgrade from an older version. The ID range for a trusted domain will be created together with the trust by 'ipa trust-add ...'. USE CASES: Add an ID range from a transitively trusted domain If the trusted domain (A) trusts another domain (B) as well and this trust is transitive 'ipa trust-add domain-A' will only create a range for domain A. The ID range for domain B must be added manually. Add an additional ID range for the local domain If the ID range of the local domain is exhausted, i.e. no new IDs can be assigned to Posix users or groups by the DNA plugin, a new range has to be created to allow new users and groups to be added. (Currently there is no connection between this range CLI and the DNA plugin, but a future version might be able to modify the configuration of the DNS plugin as well) In general it is not necessary to modify or delete ID ranges. If there is no other way to achieve a certain configuration than to modify or delete an ID range it should be done with great care. Because UIDs are stored in the file system and are used for access control it might be possible that users are allowed to access files of other users if an ID range got deleted and reused for a different domain. (*) The RID is typically the last integer of a user or group SID which follows the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user from this domain has the SID S-1-5-21-123-456-789-1010 then 1010 id the RID of the user. RIDs are unique in a domain, 32bit values and are used for users and groups. WARNING: DNA plugin in 389-ds will allocate IDs based on the ranges configured for the local domain. Currently the DNA plugin *cannot* be reconfigured itself based on the local ranges set via this family of commands. Manual configuration change has to be done in the DNA plugin configuration for the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to be modified to match the new range. ID ranges Manage ID ranges used to map Posix IDs to SIDs and back. There are two type of ID ranges which are both handled by this utility: - the ID ranges of the local domain - the ID ranges of trusted remote domains Both types have the following attributes in common: - base-id: the first ID of the Posix ID range - range-size: the size of the range With those two attributes a range object can reserve the Posix IDs starting with base-id up to but not including base-id+range-size exclusively. Additionally an ID range of the local domain may set - rid-base: the first RID(*) of the corresponding RID range - secondary-rid-base: first RID of the secondary RID range and an ID range of a trusted domain must set - rid-base: the first RID of the corresponding RID range - sid: domain SID of the trusted domain EXAMPLE: Add a new ID range for a trusted domain Since there might be more than one trusted domain the domain SID must be given while creating the ID range. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range This ID range is then used by the IPA server and the SSSD IPA provider to assign Posix UIDs to users from the trusted domain. If e.g. a range for a trusted domain is configured with the following values: base-id = 1200000 range-size = 200000 rid-base = 0 the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. So RID 1000 <-> Posix ID 1201000 EXAMPLE: Add a new ID range for the local domain To create an ID range for the local domain it is not necessary to specify a domain SID. But since it is possible that a user and a group can have the same value as Posix ID a second RID interval is needed to handle conflicts. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=1000 --secondary-rid-base=1000000 local_range The data from the ID ranges of the local domain are used by the IPA server internally to assign SIDs to IPA users and groups. The SID will then be stored in the user or group objects. If e.g. the ID range for the local domain is configured with the values from the example above then a new user with the UID 1200007 will get the RID 1007. If this RID is already used by a group the RID will be 1000007. This can only happen if a user or a group object was created with a fixed ID because the automatic assignment will not assign the same ID twice. Since there are only users and groups sharing the same ID namespace it is sufficient to have only one fallback range to handle conflicts. To find the Posix ID for a given RID from the local domain it has to be checked first if the RID falls in the primary or secondary RID range and the rid-base or the secondary-rid-base has to be subtracted, respectively, and the base-id has to be added to get the Posix ID. Typically the creation of ID ranges happens behind the scenes and this CLI must not be used at all. The ID range for the local domain will be created during installation or upgrade from an older version. The ID range for a trusted domain will be created together with the trust by 'ipa trust-add ...'. USE CASES: Add an ID range from a transitively trusted domain If the trusted domain (A) trusts another domain (B) as well and this trust is transitive 'ipa trust-add domain-A' will only create a range for domain A. The ID range for domain B must be added manually. Add an additional ID range for the local domain If the ID range of the local domain is exhausted, i.e. no new IDs can be assigned to Posix users or groups by the DNA plugin, a new range has to be created to allow new users and groups to be added. (Currently there is no connection between this range CLI and the DNA plugin, but a future version might be able to modify the configuration of the DNS plugin as well) In general it is not necessary to modify or delete ID ranges. If there is no other way to achieve a certain configuration than to modify or delete an ID range it should be done with great care. Because UIDs are stored in the file system and are used for access control it might be possible that users are allowed to access files of other users if an ID range got deleted and reused for a different domain. (*) The RID is typically the last integer of a user or group SID which follows the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user from this domain has the SID S-1-5-21-123-456-789-1010 then 1010 id the RID of the user. RIDs are unique in a domain, 32bit values and are used for users and groups. ======= WARNING: DNA plugin in 389-ds will allocate IDs based on the ranges configured for the local domain. Currently the DNA plugin *cannot* be reconfigured itself based on the local ranges set via this family of commands. Manual configuration change has to be done in the DNA plugin configuration for the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to be modified to match the new range. ======= ID ranges Manage ID ranges used to map Posix IDs to SIDs and back. There are two type of ID ranges which are both handled by this utility: - the ID ranges of the local domain - the ID ranges of trusted remote domains Both types have the following attributes in common: - base-id: the first ID of the Posix ID range - range-size: the size of the range With those two attributes a range object can reserve the Posix IDs starting with base-id up to but not including base-id+range-size exclusively. Additionally an ID range of the local domain may set - rid-base: the first RID(*) of the corresponding RID range - secondary-rid-base: first RID of the secondary RID range and an ID range of a trusted domain must set - rid-base: the first RID of the corresponding RID range - sid: domain SID of the trusted domain EXAMPLE: Add a new ID range for a trusted domain Since there might be more than one trusted domain the domain SID must be given while creating the ID range. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range This ID range is then used by the IPA server and the SSSD IPA provider to assign Posix UIDs to users from the trusted domain. If e.g. a range for a trusted domain is configured with the following values: base-id = 1200000 range-size = 200000 rid-base = 0 the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. So RID 1000 <-> Posix ID 1201000 EXAMPLE: Add a new ID range for the local domain To create an ID range for the local domain it is not necessary to specify a domain SID. But since it is possible that a user and a group can have the same value as Posix ID a second RID interval is needed to handle conflicts. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=1000 --secondary-rid-base=1000000 local_range The data from the ID ranges of the local domain are used by the IPA server internally to assign SIDs to IPA users and groups. The SID will then be stored in the user or group objects. If e.g. the ID range for the local domain is configured with the values from the example above then a new user with the UID 1200007 will get the RID 1007. If this RID is already used by a group the RID will be 1000007. This can only happen if a user or a group object was created with a fixed ID because the automatic assignment will not assign the same ID twice. Since there are only users and groups sharing the same ID namespace it is sufficient to have only one fallback range to handle conflicts. To find the Posix ID for a given RID from the local domain it has to be checked first if the RID falls in the primary or secondary RID range and the rid-base or the secondary-rid-base has to be subtracted, respectively, and the base-id has to be added to get the Posix ID. Typically the creation of ID ranges happens behind the scenes and this CLI must not be used at all. The ID range for the local domain will be created during installation or upgrade from an older version. The ID range for a trusted domain will be created together with the trust by 'ipa trust-add ...'. USE CASES: Add an ID range from a transitively trusted domain If the trusted domain (A) trusts another domain (B) as well and this trust is transitive 'ipa trust-add domain-A' will only create a range for domain A. The ID range for domain B must be added manually. Add an additional ID range for the local domain If the ID range of the local domain is exhausted, i.e. no new IDs can be assigned to Posix users or groups by the DNA plugin, a new range has to be created to allow new users and groups to be added. (Currently there is no connection between this range CLI and the DNA plugin, but a future version might be able to modify the configuration of the DNS plugin as well) In general it is not necessary to modify or delete ID ranges. If there is no other way to achieve a certain configuration than to modify or delete an ID range it should be done with great care. Because UIDs are stored in the file system and are used for access control it might be possible that users are allowed to access files of other users if an ID range got deleted and reused for a different domain. (*) The RID is typically the last integer of a user or group SID which follows the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user from this domain has the SID S-1-5-21-123-456-789-1010 then 1010 id the RID of the user. RIDs are unique in a domain, 32bit values and are used for users and groups. WARNING: DNA plugin in 389-ds will allocate IDs based on the ranges configured for the local domain. Currently the DNA plugin *cannot* be reconfigured itself based on the local ranges set via this family of commands. Manual configuration change has to be done in the DNA plugin configuration for the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to be modified to match the new range. ID ranges Manage ID ranges used to map Posix IDs to SIDs and back. There are two type of ID ranges which are both handled by this utility: - the ID ranges of the local domain - the ID ranges of trusted remote domains Both types have the following attributes in common: - base-id: the first ID of the Posix ID range - range-size: the size of the range With those two attributes a range object can reserve the Posix IDs starting with base-id up to but not including base-id+range-size exclusively. Additionally an ID range of the local domain may set - rid-base: the first RID(*) of the corresponding RID range - secondary-rid-base: first RID of the secondary RID range and an ID range of a trusted domain must set - rid-base: the first RID of the corresponding RID range - sid: domain SID of the trusted domain EXAMPLE: Add a new ID range for a trusted domain Since there might be more than one trusted domain the domain SID must be given while creating the ID range. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \ --dom-sid=S-1-5-21-123-456-789 trusted_dom_range This ID range is then used by the IPA server and the SSSD IPA provider to assign Posix UIDs to users from the trusted domain. If e.g. a range for a trusted domain is configured with the following values: base-id = 1200000 range-size = 200000 rid-base = 0 the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. So RID 1000 <-> Posix ID 1201000 EXAMPLE: Add a new ID range for the local domain To create an ID range for the local domain it is not necessary to specify a domain SID. But since it is possible that a user and a group can have the same value as Posix ID a second RID interval is needed to handle conflicts. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=1000 \ --secondary-rid-base=1000000 local_range The data from the ID ranges of the local domain are used by the IPA server internally to assign SIDs to IPA users and groups. The SID will then be stored in the user or group objects. If e.g. the ID range for the local domain is configured with the values from the example above then a new user with the UID 1200007 will get the RID 1007. If this RID is already used by a group the RID will be 1000007. This can only happen if a user or a group object was created with a fixed ID because the automatic assignment will not assign the same ID twice. Since there are only users and groups sharing the same ID namespace it is sufficient to have only one fallback range to handle conflicts. To find the Posix ID for a given RID from the local domain it has to be checked first if the RID falls in the primary or secondary RID range and the rid-base or the secondary-rid-base has to be subtracted, respectively, and the base-id has to be added to get the Posix ID. Typically the creation of ID ranges happens behind the scenes and this CLI must not be used at all. The ID range for the local domain will be created during installation or upgrade from an older version. The ID range for a trusted domain will be created together with the trust by 'ipa trust-add ...'. USE CASES: Add an ID range from a transitively trusted domain If the trusted domain (A) trusts another domain (B) as well and this trust is transitive 'ipa trust-add domain-A' will only create a range for domain A. The ID range for domain B must be added manually. Add an additional ID range for the local domain If the ID range of the local domain is exhausted, i.e. no new IDs can be assigned to Posix users or groups by the DNA plugin, a new range has to be created to allow new users and groups to be added. (Currently there is no connection between this range CLI and the DNA plugin, but a future version might be able to modify the configuration of the DNS plugin as well) In general it is not necessary to modify or delete ID ranges. If there is no other way to achieve a certain configuration than to modify or delete an ID range it should be done with great care. Because UIDs are stored in the file system and are used for access control it might be possible that users are allowed to access files of other users if an ID range got deleted and reused for a different domain. (*) The RID is typically the last integer of a user or group SID which follows the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user from this domain has the SID S-1-5-21-123-456-789-1010 then 1010 id the RID of the user. RIDs are unique in a domain, 32bit values and are used for users and groups. {0} IPA certificate operations IPA certificate operations Implements a set of commands for managing server SSL certificates. Certificate requests exist in the form of a Certificate Signing Request (CSR) in PEM format. If using the selfsign back end then the subject in the CSR needs to match the subject configured in the server. The dogtag CA uses just the CN value of the CSR and forces the rest of the subject. A certificate is stored with a service principal and a service principal needs a host. In order to request a certificate: * The host must exist * The service must exist (or you use the --add option to automatically add it) EXAMPLES: Request a new certificate and add the principal: ipa cert-request --add --principal=HTTP/lion.example.com example.csr Retrieve an existing certificate: ipa cert-show 1032 Revoke a certificate (see RFC 5280 for reason details): ipa cert-revoke --revocation-reason=6 1032 Remove a certificate from revocation hold status: ipa cert-remove-hold 1032 Check the status of a signing request: ipa cert-status 10 IPA currently immediately issues (or declines) all certificate requests so the status of a request is not normally useful. This is for future use or the case where a CA does not immediately issue a certificate. The following revocation reasons are supported: * 0 - unspecified * 1 - keyCompromise * 2 - cACompromise * 3 - affiliationChanged * 4 - superseded * 5 - cessationOfOperation * 6 - certificateHold * 8 - removeFromCRL * 9 - privilegeWithdrawn * 10 - aACompromise Note that reason code 7 is not used. See RFC 5280 for more details: http://www.ietf.org/rfc/rfc5280.txt IPA certificate operations Implements a set of commands for managing server SSL certificates. Certificate requests exist in the form of a Certificate Signing Request (CSR) in PEM format. The dogtag CA uses just the CN value of the CSR and forces the rest of the subject to values configured in the server. A certificate is stored with a service principal and a service principal needs a host. In order to request a certificate: * The host must exist * The service must exist (or you use the --add option to automatically add it) SEARCHING: Certificates may be searched on by certificate subject, serial number, revocation reason, validity dates and the issued date. When searching on dates the _from date does a >= search and the _to date does a <= search. When combined these are done as an AND. Dates are treated as GMT to match the dates in the certificates. The date format is YYYY-mm-dd. EXAMPLES: Request a new certificate and add the principal: ipa cert-request --add --principal=HTTP/lion.example.com example.csr Retrieve an existing certificate: ipa cert-show 1032 Revoke a certificate (see RFC 5280 for reason details): ipa cert-revoke --revocation-reason=6 1032 Remove a certificate from revocation hold status: ipa cert-remove-hold 1032 Check the status of a signing request: ipa cert-status 10 Search for certificates by hostname: ipa cert-find --subject=ipaserver.example.com Search for revoked certificates by reason: ipa cert-find --revocation-reason=5 Search for certificates based on issuance date ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07 IPA currently immediately issues (or declines) all certificate requests so the status of a request is not normally useful. This is for future use or the case where a CA does not immediately issue a certificate. The following revocation reasons are supported: * 0 - unspecified * 1 - keyCompromise * 2 - cACompromise * 3 - affiliationChanged * 4 - superseded * 5 - cessationOfOperation * 6 - certificateHold * 8 - removeFromCRL * 9 - privilegeWithdrawn * 10 - aACompromise Note that reason code 7 is not used. See RFC 5280 for more details: http://www.ietf.org/rfc/rfc5280.txt IPA currently immediately issues (or declines) all certificate requests so the status of a request is not normally useful. This is for future use or the case where a CA does not immediately issue a certificate. IPA locations IPA server roles IPA server's data is stored in LDAP server in two suffixes: * domain suffix, e.g., 'dc=example,dc=com', contains all domain related data * ca suffix, 'o=ipaca', is present only on server with CA installed. It contains data for Certificate Server component IPA servers IPA servers Get information about installed IPA servers. EXAMPLES: Find all servers: ipa server-find Show specific server: ipa server-show ipa.example.com IPA supports the use of OTP tokens for multi-factor authentication. This code enables the management of OTP tokens. IPA supports the use of an external RADIUS proxy server for krb5 OTP authentications. This permits a great deal of flexibility when integrating with third-party authentication services. IPA supports the use of certificates for authentication. Certificates can either be stored in the user entry (full certificate in the usercertificate attribute), or simply linked to the user entry through a mapping. This code enables the management of the rules allowing to link a certificate to a user entry. Implements a set of commands for managing server SSL certificates. In order to request a certificate: It may be difficult to manipulate such DNS records without making a mistake and entering an invalid value. DNS module provides an abstraction over these raw records and allows to manipulate each RR type with specific options. For each supported RR type, DNS module provides a standard option to manipulate a raw records with format ---rec, e.g. --mx-rec, and special options for every part of the RR structure with format ---, e.g. --mx-preference and --mx-exchanger. Joining an IPA domain Kerberos PKINIT feature status reporting tools. Report IPA masters on which Kerberos PKINIT is enabled or disabled EXAMPLES: List PKINIT status on all masters: ipa pkinit-status Check PKINIT status on `ipa.example.com`: ipa pkinit-status --server ipa.example.com List all IPA masters with disabled PKINIT: ipa pkinit-status --status='disabled' For more info about PKINIT support see: https://www.freeipa.org/page/V4/Kerberos_PKINIT Kerberos pkinit options Enable or disable anonymous pkinit using the principal WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with pkinit support. EXAMPLES: Enable anonymous pkinit: ipa pkinit-anonymous enable Disable anonymous pkinit: ipa pkinit-anonymous disable For more information on anonymous pkinit see: http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit Kerberos ticket policy There is a single Kerberos ticket policy. This policy defines the maximum ticket lifetime and the maximum renewal age, the period during which the ticket is renewable. You can also create a per-user ticket policy by specifying the user login. For changes to the global policy to take effect, restarting the KDC service is required, which can be achieved using: service krb5kdc restart Changes to per-user policies take effect immediately for newly requested tickets (e.g. when the user next runs kinit). EXAMPLES: Display the current Kerberos ticket policy: ipa krbtpolicy-show Reset the policy to the default: ipa krbtpolicy-reset Modify the policy to 8 hours max life, 1-day max renewal: ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400 Display effective Kerberos ticket policy for user 'admin': ipa krbtpolicy-show admin Reset per-user policy for user 'admin': ipa krbtpolicy-reset admin Modify per-user policy for user 'admin': ipa krbtpolicy-mod admin --maxlife=3600 Lockout status of a user account An account may become locked if the password is entered incorrectly too many times within a specific time period as controlled by password policy. A locked account is a temporary condition and may be unlocked by an administrator. This connects to each IPA master and displays the lockout status on each one. To determine whether an account is locked on a given server you need to compare the number of failed logins and the time of the last failure. For an account to be locked it must exceed the maxfail failures within the failinterval duration as specified in the password policy associated with the user. The failed login counter is modified only when a user attempts a log in so it is possible that an account may appear locked but the last failed login attempt is older than the lockouttime of the password policy. This means that the user may attempt a login again. Manage CA ACL rules. This plugin is used to define rules governing which CAs and profiles may be used to issue certificates to particular principals or groups of principals. SUBJECT PRINCIPAL SCOPE: For a certificate request to be allowed, the principal(s) that are the subject of a certificate request (not necessarily the principal actually requesting the certificate) must be included in the scope of a CA ACL that also includes the target CA and profile. Users can be included by name, group or the "all users" category. Hosts can be included by name, hostgroup or the "all hosts" category. Services can be included by service name or the "all services" category. CA ACLs may be associated with a single type of principal, or multiple types. CERTIFICATE AUTHORITY SCOPE: A CA ACL can be associated with one or more CAs by name, or by the "all CAs" category. For compatibility reasons, a CA ACL with no CA association implies an association with the 'ipa' CA (and only this CA). PROFILE SCOPE: A CA ACL can be associated with one or more profiles by Profile ID. The Profile ID is a string without spaces or punctuation starting with a letter and followed by a sequence of letters, digits or underscore ("_"). EXAMPLES: Create a CA ACL "test" that grants all users access to the "UserCert" profile on all CAs: ipa caacl-add test --usercat=all --cacat=all ipa caacl-add-profile test --certprofiles UserCert Display the properties of a named CA ACL: ipa caacl-show test Create a CA ACL to let user "alice" use the "DNP3" profile on "DNP3-CA": ipa caacl-add alice_dnp3 ipa caacl-add-ca alice_dnp3 --cas DNP3-CA ipa caacl-add-profile alice_dnp3 --certprofiles DNP3 ipa caacl-add-user alice_dnp3 --user=alice Disable a CA ACL: ipa caacl-disable test Remove a CA ACL: ipa caacl-del test Manage CA ACL rules. This plugin is used to define rules governing which principals are permitted to have certificates issued using a given certificate profile. PROFILE ID SYNTAX: A Profile ID is a string without spaces or punctuation starting with a letter and followed by a sequence of letters, digits or underscore ("_"). EXAMPLES: Create a CA ACL "test" that grants all users access to the "UserCert" profile: ipa caacl-add test --usercat=all ipa caacl-add-profile test --certprofiles UserCert Display the properties of a named CA ACL: ipa caacl-show test Create a CA ACL to let user "alice" use the "DNP3" profile: ipa caacl-add-profile alice_dnp3 --certprofiles DNP3 ipa caacl-add-user alice_dnp3 --user=alice Disable a CA ACL: ipa caacl-disable test Remove a CA ACL: ipa caacl-del test Manage Certificate Authorities Manage Certificate Identity Mapping configuration and rules. Manage Certificate Profiles Certificate Profiles are used by Certificate Authority (CA) in the signing of certificates to determine if a Certificate Signing Request (CSR) is acceptable, and if so what features and extensions will be present on the certificate. The Certificate Profile format is the property-list format understood by the Dogtag or Red Hat Certificate System CA. PROFILE ID SYNTAX: A Profile ID is a string without spaces or punctuation starting with a letter and followed by a sequence of letters, digits or underscore ("_"). EXAMPLES: Import a profile that will not store issued certificates: ipa certprofile-import ShortLivedUserCert --file UserCert.profile --desc "User Certificates" --store=false Delete a certificate profile: ipa certprofile-del ShortLivedUserCert Show information about a profile: ipa certprofile-show ShortLivedUserCert Save profile configuration to a file: ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg Search for profiles that do not store certificates: ipa certprofile-find --store=false PROFILE CONFIGURATION FORMAT: The profile configuration format is the raw property-list format used by Dogtag Certificate System. The XML format is not supported. The following restrictions apply to profiles managed by FreeIPA: - When importing a profile the "profileId" field, if present, must match the ID given on the command line. - The "classId" field must be set to "caEnrollImpl" - The "auth.instance_id" field must be set to "raCertAuth" - The "certReqInputImpl" input class and "certOutputImpl" output class must be used. Manage Certificate Profiles Certificate Profiles are used by Certificate Authority (CA) in the signing of certificates to determine if a Certificate Signing Request (CSR) is acceptable, and if so what features and extensions will be present on the certificate. The Certificate Profile format is the property-list format understood by the Dogtag or Red Hat Certificate System CA. PROFILE ID SYNTAX: A Profile ID is a string without spaces or punctuation starting with a letter and followed by a sequence of letters, digits or underscore ("_"). EXAMPLES: Import a profile that will not store issued certificates: ipa certprofile-import ShortLivedUserCert \ --file UserCert.profile --desc "User Certificates" \ --store=false Delete a certificate profile: ipa certprofile-del ShortLivedUserCert Show information about a profile: ipa certprofile-show ShortLivedUserCert Save profile configuration to a file: ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg Search for profiles that do not store certificates: ipa certprofile-find --store=false PROFILE CONFIGURATION FORMAT: The profile configuration format is the raw property-list format used by Dogtag Certificate System. The XML format is not supported. The following restrictions apply to profiles managed by FreeIPA: - When importing a profile the "profileId" field, if present, must match the ID given on the command line. - The "classId" field must be set to "caEnrollImpl" - The "auth.instance_id" field must be set to "raCertAuth" - The "certReqInputImpl" input class and "certOutputImpl" output class must be used. Manage DNS zone and resource records. Manage OTP tokens. Manage RADIUS Proxy Servers. Manage YubiKey tokens. Manage vaults. Managed permissions Manipulate DNS locations Manipulate DNS server configuration Migration to IPA Migrate users and groups from an LDAP server to IPA. This performs an LDAP query against the remote server searching for users and groups in a container. In order to migrate passwords you need to bind as a user that can read the userPassword attribute on the remote server. This is generally restricted to high-level admins such as cn=Directory Manager in 389-ds (this is the default bind user). The default user container is ou=People. The default group container is ou=Groups. Users and groups that already exist on the IPA server are skipped. Two LDAP schemas define how group members are stored: RFC2307 and RFC2307bis. RFC2307bis uses member and uniquemember to specify group members, RFC2307 uses memberUid. The default schema is RFC2307bis. The schema compat feature allows IPA to reformat data for systems that do not support RFC2307bis. It is recommended that this feature is disabled during migration to reduce system overhead. It can be re-enabled after migration. To migrate with it enabled use the "--with-compat" option. Migrated users do not have Kerberos credentials, they have only their LDAP password. To complete the migration process, users need to go to http://ipa.example.com/ipa/migration and authenticate using their LDAP password in order to generate their Kerberos credentials. Migration is disabled by default. Use the command ipa config-mod to enable it: ipa config-mod --enable-migration=TRUE If a base DN is not provided with --basedn then IPA will use either the value of defaultNamingContext if it is set or the first value in namingContexts set in the root of the remote LDAP server. Users are added as members to the default user group. This can be a time-intensive task so during migration this is done in a batch mode for every 100 users. As a result there will be a window in which users will be added to IPA but will not be members of the default user group. EXAMPLES: The simplest migration, accepting all defaults: ipa migrate-ds ldap://ds.example.com:389 Specify the user and group container. This can be used to migrate user and group data from an IPA v1 server: ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389 Since IPA v2 server already contain predefined groups that may collide with groups in migrated (IPA v1) server (for example admins, ipausers), users having colliding group as their primary group may happen to belong to an unknown group on new IPA v2 server. Use --group-overwrite-gid option to overwrite GID of already existing groups to prevent this issue: ipa migrate-ds --group-overwrite-gid --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389 Migrated users or groups may have object class and accompanied attributes unknown to the IPA v2 server. These object classes and attributes may be left out of the migration process: ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' --user-ignore-objectclass=radiusprofile --user-ignore-attribute=radiusgroupname ldap://ds.example.com:389 LOGGING Migration will log warnings and errors to the Apache error log. This file should be evaluated post-migration to correct or investigate any issues that were discovered. For every 100 users migrated an info-level message will be displayed to give the current progress and duration to make it possible to track the progress of migration. If the log level is debug, either by setting debug = True in /etc/ipa/default.conf or /etc/ipa/server.conf, then an entry will be printed for each user added plus a summary when the default user group is updated. Migration to IPA Migrate users and groups from an LDAP server to IPA. This performs an LDAP query against the remote server searching for users and groups in a container. In order to migrate passwords you need to bind as a user that can read the userPassword attribute on the remote server. This is generally restricted to high-level admins such as cn=Directory Manager in 389-ds (this is the default bind user). The default user container is ou=People. The default group container is ou=Groups. Users and groups that already exist on the IPA server are skipped. Two LDAP schemas define how group members are stored: RFC2307 and RFC2307bis. RFC2307bis uses member and uniquemember to specify group members, RFC2307 uses memberUid. The default schema is RFC2307bis. The schema compat feature allows IPA to reformat data for systems that do not support RFC2307bis. It is recommended that this feature is disabled during migration to reduce system overhead. It can be re-enabled after migration. To migrate with it enabled use the "--with-compat" option. Migrated users do not have Kerberos credentials, they have only their LDAP password. To complete the migration process, users need to go to http://ipa.example.com/ipa/migration and authenticate using their LDAP password in order to generate their Kerberos credentials. Migration is disabled by default. Use the command ipa config-mod to enable it: ipa config-mod --enable-migration=TRUE If a base DN is not provided with --basedn then IPA will use either the value of defaultNamingContext if it is set or the first value in namingContexts set in the root of the remote LDAP server. Users are added as members to the default user group. This can be a time-intensive task so during migration this is done in a batch mode for every 100 users. As a result there will be a window in which users will be added to IPA but will not be members of the default user group. EXAMPLES: The simplest migration, accepting all defaults: ipa migrate-ds ldap://ds.example.com:389 Specify the user and group container. This can be used to migrate user and group data from an IPA v1 server: ipa migrate-ds --user-container='cn=users,cn=accounts' \ --group-container='cn=groups,cn=accounts' \ ldap://ds.example.com:389 Since IPA v2 server already contain predefined groups that may collide with groups in migrated (IPA v1) server (for example admins, ipausers), users having colliding group as their primary group may happen to belong to an unknown group on new IPA v2 server. Use --group-overwrite-gid option to overwrite GID of already existing groups to prevent this issue: ipa migrate-ds --group-overwrite-gid \ --user-container='cn=users,cn=accounts' \ --group-container='cn=groups,cn=accounts' \ ldap://ds.example.com:389 Migrated users or groups may have object class and accompanied attributes unknown to the IPA v2 server. These object classes and attributes may be left out of the migration process: ipa migrate-ds --user-container='cn=users,cn=accounts' \ --group-container='cn=groups,cn=accounts' \ --user-ignore-objectclass=radiusprofile \ --user-ignore-attribute=radiusgroupname \ ldap://ds.example.com:389 LOGGING Migration will log warnings and errors to the Apache error log. This file should be evaluated post-migration to correct or investigate any issues that were discovered. For every 100 users migrated an info-level message will be displayed to give the current progress and duration to make it possible to track the progress of migration. If the log level is debug, either by setting debug = True in /etc/ipa/default.conf or /etc/ipa/server.conf, then an entry will be printed for each user added plus a summary when the default user group is updated. Misc plug-ins Modify ID range. ======= WARNING: DNA plugin in 389-ds will allocate IDs based on the ranges configured for the local domain. Currently the DNA plugin *cannot* be reconfigured itself based on the local ranges set via this family of commands. Manual configuration change has to be done in the DNA plugin configuration for the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to be modified to match the new range. ======= Modify a trust (for future use). Currently only the default option to modify the LDAP attributes is available. More specific options will be added in coming releases. Netgroups A netgroup is a group used for permission checking. It can contain both user and host values. EXAMPLES: Add a new netgroup: ipa netgroup-add --desc="NFS admins" admins Add members to the netgroup: ipa netgroup-add-member --users=tuser1 --users=tuser2 admins Remove a member from the netgroup: ipa netgroup-remove-member --users=tuser2 admins Display information about a netgroup: ipa netgroup-show admins Delete a netgroup: ipa netgroup-del admins Netgroups A netgroup is a group used for permission checking. It can contain both user and host values. EXAMPLES: Add a new netgroup: ipa netgroup-add --desc="NFS admins" admins Add members to the netgroup: ipa netgroup-add-member --users=tuser1,tuser2 admins Remove a member from the netgroup: ipa netgroup-remove-member --users=tuser2 admins Display information about a netgroup: ipa netgroup-show admins Delete a netgroup: ipa netgroup-del admins Note that reason code 7 is not used. See RFC 5280 for more details: Note the distinction between attributes and entries. The permissions are independent, so being able to add a user does not mean that the user will be editable. OTP Tokens OTP Tokens Manage OTP tokens. IPA supports the use of OTP tokens for multi-factor authentication. This code enables the management of OTP tokens. EXAMPLES: Add a new token: ipa otptoken-add --type=totp --owner=jdoe --desc="My soft token" Examine the token: ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a Change the vendor: ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor="Red Hat" Delete a token: ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a OTP configuration Manage the default values that IPA uses for OTP tokens. EXAMPLES: Show basic OTP configuration: ipa otpconfig-show Show all OTP configuration options: ipa otpconfig-show --all Change maximum TOTP authentication window to 10 minutes: ipa otpconfig-mod --totp-auth-window=600 Change maximum TOTP synchronization window to 12 hours: ipa otpconfig-mod --totp-sync-window=43200 Change maximum HOTP authentication window to 5: ipa hotpconfig-mod --hotp-auth-window=5 Change maximum HOTP synchronization window to 50: ipa hotpconfig-mod --hotp-sync-window=50 Password policy A password policy sets limitations on IPA passwords, including maximum lifetime, minimum lifetime, the number of passwords to save in history, the number of character classes required (for stronger passwords) and the minimum password length. By default there is a single, global policy for all users. You can also create a password policy to apply to a group. Each user is only subject to one password policy, either the group policy or the global policy. A group policy stands alone; it is not a super-set of the global policy plus custom settings. Each group password policy requires a unique priority setting. If a user is in multiple groups that have password policies, this priority determines which password policy is applied. A lower value indicates a higher priority policy. Group password policies are automatically removed when the groups they are associated with are removed. EXAMPLES: Modify the global policy: ipa pwpolicy-mod --minlength=10 Add a new group password policy: ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --minlength=8 --priority=10 localadmins Display the global password policy: ipa pwpolicy-show Display a group password policy: ipa pwpolicy-show localadmins Display the policy that would be applied to a given user: ipa pwpolicy-show --user=tuser1 Modify a group password policy: ipa pwpolicy-mod --minclasses=2 localadmins Permissions Permissions A permission enables fine-grained delegation of rights. A permission is a human-readable form of a 389-ds Access Control Rule, or instruction (ACI). A permission grants the right to perform a specific task such as adding a user, modifying a group, etc. A permission may not contain other permissions. * A permission grants access to read, write, add or delete. * A privilege combines similar permissions (for example all the permissions needed to add a user). * A role grants a set of privileges to users, groups, hosts or hostgroups. A permission is made up of a number of different parts: 1. The name of the permission. 2. The target of the permission. 3. The rights granted by the permission. Rights define what operations are allowed, and may be one or more of the following: 1. write - write one or more attributes 2. read - read one or more attributes 3. add - add a new entry to the tree 4. delete - delete an existing entry 5. all - all permissions are granted Read permission is granted for most attributes by default so the read permission is not expected to be used very often. Note the distinction between attributes and entries. The permissions are independent, so being able to add a user does not mean that the user will be editable. There are a number of allowed targets: 1. type: a type of object (user, group, etc). 2. memberof: a member of a group or hostgroup 3. filter: an LDAP filter 4. subtree: an LDAP filter specifying part of the LDAP DIT. This is a super-set of the "type" target. 5. targetgroup: grant access to modify a specific group (such as granting the rights to manage group membership) EXAMPLES: Add a permission that grants the creation of users: ipa permission-add --type=user --permissions=add "Add Users" Add a permission that grants the ability to manage group membership: ipa permission-add --attrs=member --permissions=write --type=group "Manage Group Members" Permissions A permission enables fine-grained delegation of rights. A permission is a human-readable wrapper around a 389-ds Access Control Rule, or instruction (ACI). A permission grants the right to perform a specific task such as adding a user, modifying a group, etc. A permission may not contain other permissions. * A permission grants access to read, write, add, delete, read, search, or compare. * A privilege combines similar permissions (for example all the permissions needed to add a user). * A role grants a set of privileges to users, groups, hosts or hostgroups. A permission is made up of a number of different parts: 1. The name of the permission. 2. The target of the permission. 3. The rights granted by the permission. Rights define what operations are allowed, and may be one or more of the following: 1. write - write one or more attributes 2. read - read one or more attributes 3. search - search on one or more attributes 4. compare - compare one or more attributes 5. add - add a new entry to the tree 6. delete - delete an existing entry 7. all - all permissions are granted Note the distinction between attributes and entries. The permissions are independent, so being able to add a user does not mean that the user will be editable. There are a number of allowed targets: 1. subtree: a DN; the permission applies to the subtree under this DN 2. target filter: an LDAP filter 3. target: DN with possible wildcards, specifies entries permission applies to Additionally, there are the following convenience options. Setting one of these options will set the corresponding attribute(s). 1. type: a type of object (user, group, etc); sets subtree and target filter. 2. memberof: apply to members of a group; sets target filter 3. targetgroup: grant access to modify a specific group (such as granting the rights to manage group membership); sets target. Managed permissions Permissions that come with IPA by default can be so-called "managed" permissions. These have a default set of attributes they apply to, but the administrator can add/remove individual attributes to/from the set. Deleting or renaming a managed permission, as well as changing its target, is not allowed. EXAMPLES: Add a permission that grants the creation of users: ipa permission-add --type=user --permissions=add "Add Users" Add a permission that grants the ability to manage group membership: ipa permission-add --attrs=member --permissions=write --type=group "Manage Group Members" Permissions that come with IPA by default can be so-called "managed" permissions. These have a default set of attributes they apply to, but the administrator can add/remove individual attributes to/from the set. Ping the remote IPA server to ensure it is running. The ping command sends an echo request to an IPA server. The server returns its version information. This is used by an IPA client to confirm that the server is available and accepting requests. The server from xmlrpc_uri in /etc/ipa/default.conf is contacted first. If it does not respond then the client will contact any servers defined by ldap SRV records in DNS. EXAMPLES: Ping an IPA server: ipa ping ------------------------------------------ IPA server version 2.1.9. API version 2.20 ------------------------------------------ Ping an IPA server verbosely: ipa -v ping ipa: INFO: trying https://ipa.example.com/ipa/xml ipa: INFO: Forwarding 'ping' to server 'https://ipa.example.com/ipa/xml' ----------------------------------------------------- IPA server version 2.1.9. API version 2.20 ----------------------------------------------------- Ping the remote IPA server to ensure it is running. The ping command sends an echo request to an IPA server. The server returns its version information. This is used by an IPA client to confirm that the server is available and accepting requests. The server from xmlrpc_uri in /etc/ipa/default.conf is contacted first. If it does not respond then the client will contact any servers defined by ldap SRV records in DNS. EXAMPLES: Ping an IPA server: ipa ping ------------------------------------------ IPA server version 2.1.9. API version 2.20 ------------------------------------------ Ping an IPA server verbosely: ipa -v ping ipa: INFO: trying https://ipa.example.com/ipa/xml ipa: INFO: Forwarding 'ping' to server u'https://ipa.example.com/ipa/xml' ----------------------------------------------------- IPA server version 2.1.9. API version 2.20 ----------------------------------------------------- Plugin to make multiple ipa calls via one remote procedure call To run this code in the lite-server curl -H "Content-Type:application/json" -H "Accept:application/json" -H "Accept-Language:en" --negotiate -u : --cacert /etc/ipa/ca.crt -d @batch_request.json -X POST http://localhost:8888/ipa/json where the contents of the file batch_request.json follow the below example {"method":"batch","params":[[ {"method":"group_find","params":[[],{}]}, {"method":"user_find","params":[[],{"whoami":"true","all":"true"}]}, {"method":"user_show","params":[["admin"],{"all":true}]} ],{}],"id":1} The format of the response is nested the same way. At the top you will see "error": null, "id": 1, "result": { "count": 3, "results": [ And then a nested response for each IPA command method sent in the request Plugins not accessible directly through the CLI, commands used internally Privileges A privilege combines permissions into a logical task. A permission provides the rights to do a single task. There are some IPA operations that require multiple permissions to succeed. A privilege is where permissions are combined in order to perform a specific task. For example, adding a user requires the following permissions: * Creating a new user entry * Resetting a user password * Adding the new user to the default IPA users group Combining these three low-level tasks into a higher level task in the form of a privilege named "Add User" makes it easier to manage Roles. A privilege may not contain other privileges. See role and permission for additional information. Provides API introspection capabilities. RADIUS Proxy Servers RADIUS Proxy Servers Manage RADIUS Proxy Servers. IPA supports the use of an external RADIUS proxy server for krb5 OTP authentications. This permits a great deal of flexibility when integrating with third-party authentication services. EXAMPLES: Add a new server: ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812 Find all servers whose entries include the string "example.com": ipa radiusproxy-find example.com Examine the configuration: ipa radiusproxy-show MyRADIUS Change the secret: ipa radiusproxy-mod MyRADIUS --secret Delete a configuration: ipa radiusproxy-del MyRADIUS RE-ENROLLMENT: Host that has been enrolled at some point, and lost its configuration (e.g. VM destroyed) can be re-enrolled. For more information, consult the manual pages for ipa-client-install. A host can optionally store information such as where it is located, the OS that it runs, etc. Raise the IPA Domain Level. Realm domains Manage the list of domains associated with IPA realm. EXAMPLES: Display the current list of realm domains: ipa realmdomains-show Replace the list of realm domains: ipa realmdomains-mod --domain=example.com ipa realmdomains-mod --domain={example1.com,example2.com,example3.com} Add a domain to the list of realm domains: ipa realmdomains-mod --add-domain=newdomain.com Delete a domain from the list of realm domains: ipa realmdomains-mod --del-domain=olddomain.com Removal of '%(hostname)s' leads to disconnected topology in suffix '%(suffix)s': %(errors)s Replication topology in suffix '%(suffix)s' is disconnected: %(errors)s Return information about currently authenticated identity Who am I command returns information on how to get more details about the identity authenticated for this request. The information includes: * type of object * command to retrieve details of the object * arguments and options to pass to the command The information is returned as a dictionary. Examples below use 'key: value' output for illustrative purposes. EXAMPLES: Look up as IPA user: kinit admin ipa console >> api.Command.whoami() ------------------------------------------ object: user command: user_show/1 arguments: admin ------------------------------------------ Look up as a user from a trusted domain: kinit user@AD.DOMAIN ipa console >> api.Command.whoami() ------------------------------------------ object: idoverrideuser command: idoverrideuser_show/1 arguments: ('default trust view', 'user@ad.domain') ------------------------------------------ Look up as a host: kinit -k ipa console >> api.Command.whoami() ------------------------------------------ object: host command: host_show/1 arguments: ipa.example.com ------------------------------------------ Look up as a Kerberos service: kinit -k -t /path/to/keytab HTTP/ipa.example.com ipa console >> api.Command.whoami() ------------------------------------------ object: service command: service_show/1 arguments: HTTP/ipa.example.com ------------------------------------------ Rights define what operations are allowed, and may be one or more of the following: 1. write - write one or more attributes 2. read - read one or more attributes 3. search - search on one or more attributes 4. compare - compare one or more attributes 5. add - add a new entry to the tree 6. delete - delete an existing entry 7. all - all permissions are granted Roles A role is used for fine-grained delegation. A permission grants the ability to perform given low-level tasks (add a user, modify a group, etc.). A privilege combines one or more permissions into a higher-level abstraction such as useradmin. A useradmin would be able to add, delete and modify users. Privileges are assigned to Roles. Users, groups, hosts and hostgroups may be members of a Role. Roles can not contain other roles. EXAMPLES: Add a new role: ipa role-add --desc="Junior-level admin" junioradmin Add some privileges to this role: ipa role-add-privilege --privileges=addusers junioradmin ipa role-add-privilege --privileges=change_password junioradmin ipa role-add-privilege --privileges=add_user_to_default_group junioradmin Add a group of users to this role: ipa group-add --desc="User admins" useradmins ipa role-add-member --groups=useradmins junioradmin Display information about a role: ipa role-show junioradmin The result of this is that any users in the group 'junioradmin' can add users, reset passwords or add a user to the default IPA user group. Routines for constructing certificate signing requests using IPA data and stored templates. SEARCHING: SELinux User Mapping Map IPA users to SELinux users by host. Hosts, hostgroups, users and groups can be either defined within the rule or it may point to an existing HBAC rule. When using --hbacrule option to selinuxusermap-find an exact match is made on the HBAC rule name, so only one or zero entries will be returned. EXAMPLES: Create a rule, "test1", that sets all users to xguest_u:s0 on the host "server": ipa selinuxusermap-add --usercat=all --selinuxuser=xguest_u:s0 test1 ipa selinuxusermap-add-host --hosts=server.example.com test1 Create a rule, "test2", that sets all users to guest_u:s0 and uses an existing HBAC rule for users and hosts: ipa selinuxusermap-add --usercat=all --hbacrule=webserver --selinuxuser=guest_u:s0 test2 Display the properties of a rule: ipa selinuxusermap-show test2 Create a rule for a specific user. This sets the SELinux context for user john to unconfined_u:s0-s0:c0.c1023 on any machine: ipa selinuxusermap-add --hostcat=all --selinuxuser=unconfined_u:s0-s0:c0.c1023 john_unconfined ipa selinuxusermap-add-user --users=john john_unconfined Disable a rule: ipa selinuxusermap-disable test1 Enable a rule: ipa selinuxusermap-enable test1 Find a rule referencing a specific HBAC rule: ipa selinuxusermap-find --hbacrule=allow_some Remove a rule: ipa selinuxusermap-del john_unconfined SEEALSO: The list controlling the order in which the SELinux user map is applied and the default SELinux user are available in the config-show command. SUPPORTED ZONE TYPES * Master zone (dnszone-*), contains authoritative data. * Forward zone (dnsforwardzone-*), forwards queries to configured forwarders (a set of DNS servers). Search for ACIs. Returns a list of ACIs EXAMPLES: To find all ACIs that apply directly to members of the group ipausers: ipa aci-find --memberof=ipausers To find all ACIs that grant add access: ipa aci-find --permissions=add Note that the find command only looks for the given text in the set of ACIs, it does not evaluate the ACIs to see if something would apply. For example, searching on memberof=ipausers will find all ACIs that have ipausers as a memberof. There may be other ACIs that apply to members of that group indirectly. Self-service Permissions A permission enables fine-grained delegation of permissions. Access Control Rules, or instructions (ACIs), grant permission to permissions to perform given tasks such as adding a user, modifying a group, etc. A Self-service permission defines what an object can change in its own entry. EXAMPLES: Add a self-service rule to allow users to manage their address (using Bash brace expansion): ipa selfservice-add --permissions=write --attrs={street,postalCode,l,c,st} "Users manage their own address" When managing the list of attributes you need to include all attributes in the list, including existing ones. Add telephoneNumber to the list (using Bash brace expansion): ipa selfservice-mod --attrs={street,postalCode,l,c,st,telephoneNumber} "Users manage their own address" Display our updated rule: ipa selfservice-show "Users manage their own address" Delete a rule: ipa selfservice-del "Users manage their own address" Self-service Permissions A permission enables fine-grained delegation of permissions. Access Control Rules, or instructions (ACIs), grant permission to permissions to perform given tasks such as adding a user, modifying a group, etc. A Self-service permission defines what an object can change in its own entry. EXAMPLES: Add a self-service rule to allow users to manage their address: ipa selfservice-add --permissions=write --attrs=street,postalCode,l,c,st "Users manage their own address" When managing the list of attributes you need to include all attributes in the list, including existing ones. Add telephoneNumber to the list: ipa selfservice-mod --attrs=street,postalCode,l,c,st,telephoneNumber "Users manage their own address" Display our updated rule: ipa selfservice-show "Users manage their own address" Delete a rule: ipa selfservice-del "Users manage their own address" Server configuration Manage the default values that IPA uses and some of its tuning parameters. NOTES: The password notification value (--pwdexpnotify) is stored here so it will be replicated. It is not currently used to notify users in advance of an expiring password. Some attributes are read-only, provided only for information purposes. These include: Certificate Subject base: the configured certificate subject base, e.g. O=EXAMPLE.COM. This is configurable only at install time. Password plug-in features: currently defines additional hashes that the password will generate (there may be other conditions). When setting the order list for mapping SELinux users you may need to quote the value so it isn't interpreted by the shell. EXAMPLES: Show basic server configuration: ipa config-show Show all configuration options: ipa config-show --all Change maximum username length to 99 characters: ipa config-mod --maxusername=99 Increase default time and size limits for maximum IPA server search: ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000 Set default user e-mail domain: ipa config-mod --emaildomain=example.com Enable migration mode to make "ipa migrate-ds" command operational: ipa config-mod --enable-migration=TRUE Define SELinux user map order: ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023' Service Constrained Delegation Manage rules to allow constrained delegation of credentials so that a service can impersonate a user when communicating with another service without requiring the user to actually forward their TGT. This makes for a much better method of delegating credentials as it prevents exposure of the short term secret of the user. The naming convention is to append the word "target" or "targets" to a matching rule name. This is not mandatory but helps conceptually to associate rules and targets. A rule consists of two things: - A list of targets the rule applies to - A list of memberPrincipals that are allowed to delegate for those targets A target consists of a list of principals that can be delegated. In English, a rule says that this principal can delegate as this list of principals, as defined by these targets. EXAMPLES: Add a new constrained delegation rule: ipa servicedelegationrule-add ftp-delegation Add a new constrained delegation target: ipa servicedelegationtarget-add ftp-delegation-target Add a principal to the rule: ipa servicedelegationrule-add-member --principals=ftp/ipa.example.com ftp-delegation Add our target to the rule: ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-delegation-target ftp-delegation Add a principal to the target: ipa servicedelegationtarget-add-member --principals=ldap/ipa.example.com ftp-delegation-target Display information about a named delegation rule and target: ipa servicedelegationrule_show ftp-delegation ipa servicedelegationtarget_show ftp-delegation-target Remove a constrained delegation: ipa servicedelegationrule-del ftp-delegation-target ipa servicedelegationtarget-del ftp-delegation In this example the ftp service can get a TGT for the ldap service on the bound user's behalf. It is strongly discouraged to modify the delegations that ship with IPA, ipa-http-delegation and its targets ipa-cifs-delegation-targets and ipa-ldap-delegation-targets. Incorrect changes can remove the ability to delegate, causing the framework to stop functioning. Services A IPA service represents a service that runs on a host. The IPA service record can store a Kerberos principal, an SSL certificate, or both. An IPA service can be managed directly from a machine, provided that machine has been given the correct permission. This is true even for machines other than the one the service is associated with. For example, requesting an SSL certificate using the host service principal credentials of the host. To manage a service using host credentials you need to kinit as the host: # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM Adding an IPA service allows the associated service to request an SSL certificate or keytab, but this is performed as a separate step; they are not produced as a result of adding the service. Only the public aspect of a certificate is stored in a service record; the private key is not stored. EXAMPLES: Add a new IPA service: ipa service-add HTTP/web.example.com Allow a host to manage an IPA service certificate: ipa service-add-host --hosts=web.example.com HTTP/web.example.com ipa role-add-member --hosts=web.example.com certadmin Override a default list of supported PAC types for the service: ipa service-mod HTTP/web.example.com --pac-type=MS-PAC A typical use case where overriding the PAC type is needed is NFS. Currently the related code in the Linux kernel can only handle Kerberos tickets up to a maximal size. Since the PAC data can become quite large it is recommended to set --pac-type=NONE for NFS services. Delete an IPA service: ipa service-del HTTP/web.example.com Find all IPA services associated with a host: ipa service-find web.example.com Find all HTTP services: ipa service-find HTTP Disable the service Kerberos key and SSL certificate: ipa service-disable HTTP/web.example.com Request a certificate for an IPA service: ipa cert-request --principal=HTTP/web.example.com example.csr Services A IPA service represents a service that runs on a host. The IPA service record can store a Kerberos principal, an SSL certificate, or both. An IPA service can be managed directly from a machine, provided that machine has been given the correct permission. This is true even for machines other than the one the service is associated with. For example, requesting an SSL certificate using the host service principal credentials of the host. To manage a service using host credentials you need to kinit as the host: # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM Adding an IPA service allows the associated service to request an SSL certificate or keytab, but this is performed as a separate step; they are not produced as a result of adding the service. Only the public aspect of a certificate is stored in a service record; the private key is not stored. EXAMPLES: Add a new IPA service: ipa service-add HTTP/web.example.com Allow a host to manage an IPA service certificate: ipa service-add-host --hosts=web.example.com HTTP/web.example.com ipa role-add-member --hosts=web.example.com certadmin Override a default list of supported PAC types for the service: ipa service-mod HTTP/web.example.com --pac-type=MS-PAC A typical use case where overriding the PAC type is needed is NFS. Currently the related code in the Linux kernel can only handle Kerberos tickets up to a maximal size. Since the PAC data can become quite large it is recommended to set --pac-type=NONE for NFS services. Delete an IPA service: ipa service-del HTTP/web.example.com Find all IPA services associated with a host: ipa service-find web.example.com Find all HTTP services: ipa service-find HTTP Disable the service Kerberos key and SSL certificate: ipa service-disable HTTP/web.example.com Request a certificate for an IPA service: ipa cert-request --principal=HTTP/web.example.com example.csr Allow user to create a keytab: ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1 Generate and retrieve a keytab for an IPA service: ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab Services A IPA service represents a service that runs on a host. The IPA service record can store a Kerberos principal, an SSL certificate, or both. An IPA service can be managed directly from a machine, provided that machine has been given the correct permission. This is true even for machines other than the one the service is associated with. For example, requesting an SSL certificate using the host service principal credentials of the host. To manage a service using host credentials you need to kinit as the host: # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM Adding an IPA service allows the associated service to request an SSL certificate or keytab, but this is performed as a separate step; they are not produced as a result of adding the service. Only the public aspect of a certificate is stored in a service record; the private key is not stored. EXAMPLES: Add a new IPA service: ipa service-add HTTP/web.example.com Allow a host to manage an IPA service certificate: ipa service-add-host --hosts=web.example.com HTTP/web.example.com ipa role-add-member --hosts=web.example.com certadmin Override a default list of supported PAC types for the service: ipa service-mod HTTP/web.example.com --pac-type=MS-PAC Delete an IPA service: ipa service-del HTTP/web.example.com Find all IPA services associated with a host: ipa service-find web.example.com Find all HTTP services: ipa service-find HTTP Disable the service Kerberos key and SSL certificate: ipa service-disable HTTP/web.example.com Request a certificate for an IPA service: ipa cert-request --principal=HTTP/web.example.com example.csr Generate and retrieve a keytab for an IPA service: ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab Session Support for IPA John Dennis Goals ===== Provide per-user session data caching which persists between requests. Desired features are: * Integrates cleanly with minimum impact on existing infrastructure. * Provides maximum security balanced against real-world performance demands. * Sessions must be able to be revoked (flushed). * Should be flexible and easy to use for developers. * Should leverage existing technology and code to the maximum extent possible to avoid re-invention, excessive implementation time and to benefit from robustness in field proven components commonly shared in the open source community. * Must support multiple independent processes which share session data. * System must function correctly if session data is available or not. * Must be high performance. * Should not be tied to specific web servers or browsers. Should integrate with our chosen WSGI model. Issues ====== Cookies ------- Most session implementations are based on the use of cookies. Cookies have some inherent problems. * User has the option to disable cookies. * User stored cookie data is not secure. Can be mitigated by setting flags indicating the cookie is only to be used with SSL secured HTTP connections to specific web resources and setting the cookie to expire at session termination. Most modern browsers enforce these. Where to store session data? ---------------------------- Session data may be stored on either on the client or on the server. Storing session data on the client addresses the problem of session data availability when requests are serviced by independent web servers because the session data travels with the request. However there are data size limitations. Storing session data on the client also exposes sensitive data but this can be mitigated by encrypting the session data such that only the server can decrypt it. The more conventional approach is to bind session data to a unique name, the session ID. The session ID is transmitted to the client and the session data is paired with the session ID on the server in a associative data store. The session data is retrieved by the server using the session ID when the receiving the request. This eliminates exposing sensitive session data on the client along with limitations on data size. It however introduces the issue of session data availability when requests are serviced by more than one server process. Multi-process session data availability --------------------------------------- Apache (and other web servers) fork child processes to handle requests in parallel. Also web servers may be deployed in a farm where requests are load balanced in round robin fashion across different nodes. In both cases session data cannot be stored in the memory of a server process because it is not available to other processes, either sibling children of a master server process or server processes on distinct nodes. Typically this is addressed by storing session data in a SQL database. When a request is received by a server process containing a session ID in it's cookie data the session ID is used to perform a SQL query and the resulting data is then attached to the request as it proceeds through the request processing pipeline. This of course introduces coherency issues. For IPA the introduction of a SQL database dependency is undesired and should be avoided. Session data may also be shared by independent processes by storing the session data in files. An alternative solution which has gained considerable popularity recently is the use of a fast memory based caching server. Data is stored in a single process memory and may be queried and set via a light weight protocol using standard socket mechanisms, memcached is one example. A typical use is to optimize SQL queries by storing a SQL result in shared memory cache avoiding the more expensive SQL operation. But the memory cache has distinct advantages in non-SQL situations as well. Possible implementations for use by IPA ======================================= Apache Sessions --------------- Apache has 2.3 has implemented session support via these modules: mod_session Overarching session support based on cookies. See: http://httpd.apache.org/docs/2.3/mod/mod_session.html mod_session_cookie Stores session data in the client. See: http://httpd.apache.org/docs/2.3/mod/mod_session_cookie.html mod_session_crypto Encrypts session data for security. Encryption key is shared configuration parameter visible to all Apache processes and is stored in a configuration file. See: http://httpd.apache.org/docs/2.3/mod/mod_session_crypto.html mod_session_dbd Stores session data in a SQL database permitting multiple processes to access and share the same session data. See: http://httpd.apache.org/docs/2.3/mod/mod_session_dbd.html Issues with Apache sessions ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Although Apache has implemented generic session support and Apache is our web server of preference it nonetheless introduces issues for IPA. * Session support is only available in httpd >= 2.3 which at the time of this writing is currently only available as a Beta release from upstream. We currently only ship httpd 2.2, the same is true for other distributions. * We could package and ship the sessions modules as a temporary package in httpd 2.2 environments. But this has the following consequences: - The code has to be backported. the module API has changed slightly between httpd 2.2 and 2.3. The backporting is not terribly difficult and a proof of concept has been implemented. - We would then be on the hook to package and maintain a special case Apache package. This is maintenance burden as well as a distribution packaging burden. Both of which would be best avoided if possible. * The design of the Apache session modules is such that they can only be manipulated by other Apache modules. The ability of consumers of the session data to control the session data is simplistic, constrained and static during the period the request is processed. Request handlers which are not native Apache modules (e.g. IPA via WSGI) can only examine the session data via request headers and reset it in response headers. * Shared session data is available exclusively via SQL. However using the 2.3 Apache session modules would give us robust session support implemented in C based on standardized Apache interfaces which are widely used. Python Web Frameworks --------------------- Virtually every Python web framework supports cookie based sessions, e.g. Django, Twisted, Zope, Turbogears etc. Early on in IPA we decided to avoid the use of these frameworks. Trying to pull in just one part of these frameworks just to get session support would be problematic because the code does not function outside it's framework. IPA implemented sessions ------------------------ Originally it was believed the path of least effort was to utilize existing session support, most likely what would be provided by Apache. However there are enough basic modular components available in native Python and other standard packages it should be possible to provide session support meeting the aforementioned goals with a modest implementation effort. Because we're leveraging existing components the implementation difficulties are subsumed by other components which have already been field proven and have community support. This is a smart strategy. Proposed Solution ================= Our interface to the web server is via WSGI which invokes a callback per request passing us an environmental context for the request. For this discussion we'll name the WSGI callback "application()", a conventional name in WSGI parlance. Shared session data will be handled by memcached. We will create one instance of memcached on each server node dedicated to IPA exclusively. Communication with memcached will be via a UNIX socket located in the file system under /var/run/ipa_memcached. It will be protected by file permissions and optionally SELinux policy. In application() we examine the request cookies and if there is an IPA session cookie with a session ID we retrieve the session data from our memcached instance. The session data will be a Python dict. IPA components will read or write their session information by using a pre-agreed upon name (e.g. key) in the dict. This is a very flexible system and consistent with how we pass data in most parts of IPA. If the session data is not available an empty session data dict will be created. How does this session data travel with the request in the IPA pipeline? In IPA we use the HTTP request/response to implement RPC. In application() we convert the request into a procedure call passing it arguments derived from the HTTP request. The passed parameters are specific to the RPC method being invoked. The context the RPC call is executing in is not passed as an RPC parameter. How would the contextual information such as session data be bound to the request and hence the RPC call? In IPA when a RPC invocation is being prepared from a request we recognize this will only ever be processed serially by one Python thread. A thread local dict called "context" is allocated for each thread. The context dict is cleared in between requests (e.g. RPC method invocations). The per-thread context dict is populated during the lifetime of the request and is used as a global data structure unique to the request that various IPA component can read from and write to with the assurance the data is unique to the current request and/or method call. The session data dict will be written into the context dict under the session key before the RPC method begins execution. Thus session data can be read and written by any IPA component by accessing ``context.session``. When the RPC method finishes execution the session data bound to the request/method is retrieved from the context and written back to the memcached instance. The session ID is set in the response sent back to the client in the ``Set-Cookie`` header along with the flags controlling it's usage. Issues and details ------------------ IPA code cannot depend on session data being present, however it should always update session data with the hope it will be available in the future. Session data may not be available because: * This is the first request from the user and no session data has been created yet. * The user may have cookies disabled. * The session data may have been flushed. memcached operates with a fixed memory allocation and will flush entries on a LRU basis, like with any cache there is no guarantee of persistence. Also we may have have deliberately expired or deleted session data, see below. Cookie manipulation is done via the standard Python Cookie module. Session cookies will be set to only persist as long as the browser has the session open. They will be tagged so the browser only returns the session ID on SSL secured HTTP requests. They will not be visible to Javascript in the browser. Session ID's will be created by using 48 bits of random data and converted to 12 hexadecimal digits. Newly generated session ID's will be checked for prior existence to handle the unlikely case the random number repeats. memcached will have significantly higher performance than a SQL or file based storage solution. Communication is effectively though a pipe (UNIX socket) using a very simple protocol and the data is held entirely in process memory. memcached also scales easily, it is easy to add more memcached processes and distribute the load across them. At this point in time we don't anticipate the need for this. A very nice feature of the Python memcached module is that when a data item is written to the cache it is done with standard Python pickling (pickling is a standard Python mechanism to marshal and unmarshal Python objects). We adopt the convention the object written to cache will be a dict to meet our internal data handling conventions. The pickling code will recursively handle nested objects in the dict. Thus we gain a lot of flexibility using standard Python data structures to store and retrieve our session data without having to author and debug code to marshal and unmarshal the data if some other storage mechanism had been used. This is a significant implementation win. Of course some common sense limitations need to observed when deciding on what is written to the session cache keeping in mind the data is shared between processes and it should not be excessively large (a configurable option) We can set an expiration on memcached entries. We may elect to do that to force session data to be refreshed periodically. For example we may wish the client to present fresh credentials on a periodic basis even if the cached credentials are otherwise within their validity period. We can explicitly delete session data if for some reason we believe it is stale, invalid or compromised. memcached also gives us certain facilities to prevent race conditions between different processes utilizing the cache. For example you can check of the entry has been modified since you last read it or use CAS (Check And Set) semantics. What has to be protected in terms of cache coherency will likely have to be determined as the session support is utilized and different data items are added to the cache. This is very much data and context specific. Fortunately memcached operations are atomic. Controlling the memcached process --------------------------------- We need a mechanism to start the memcached process and secure it so that only IPA components can access it. Although memcached ships with both an initscript and systemd unit files those are for generic instances. We want a memcached instance dedicated exclusively to IPA usage. To accomplish this we would install a systemd unit file or an SysV initscript to control the IPA specific memcached service. ipactl would be extended to know about this additional service. systemd's cgroup facility would give us additional mechanisms to integrate the IPA memcached service within a larger IPA process group. Protecting the memcached data would be done via file permissions (and optionally SELinux policy) on the UNIX domain socket. Although recent implementations of memcached support authentication via SASL this introduces a performance and complexity burden not warranted when cached is dedicated to our exclusive use and access controlled by OS mechanisms. Conventionally daemons are protected by assigning a system uid and/or gid to the daemon. A daemon launched by root will drop it's privileges by assuming the effective uid:gid assigned to it. File system access is controlled by the OS via the effective identity and SELinux policy can be crafted based on the identity. Thus the memcached UNIX socket would be protected by having it owned by a specific system user and/or membership in a restricted system group (discounting for the moment SELinux). Unfortunately we currently do not have an IPA system uid whose identity our processes operate under nor do we have an IPA system group. IPA does manage a collection of related processes (daemons) and historically each has been assigned their own uid. When these unrelated processes communicate they mutually authenticate via other mechanisms. We do not have much of a history of using shared file system objects across identities. When file objects are created they are typically assigned the identity of daemon needing to access the object and are not accessed by other daemons, or they carry root identity. When our WSGI application runs in Apache it is run as a WSGI daemon. This means when Apache starts up it forks off WSGI processes for us and we are independent of other Apache processes. When WSGI is run in this mode there is the ability to set the uid:gid of the WSGI process hosting us, however we currently do not take advantage of this option. WSGI can be run in other modes as well, only in daemon mode can the uid:gid be independently set from the rest of Apache. All processes started by Apache can be set to a common uid:gid specified in the global Apache configuration, by default it's apache:apache. Thus when our IPA code executes it is running as apache:apache. To protect our memcached UNIX socket we can do one of two things: 1. Assign it's uid:gid as apache:apache. This would limit access to our cache only to processes running under httpd. It's somewhat restricted but far from ideal. Any code running in the web server could potentially access our cache. It's difficult to control what the web server runs and admins may not understand the consequences of configuring httpd to serve other things besides IPA. 2. Create an IPA specific uid:gid, for example ipa:ipa. We then configure our WSGI application to run as the ipa:ipa user and group. We also configure our memcached instance to run as the ipa:ipa user and group. In this configuration we are now fully protected, only our WSGI code can read & write to our memcached UNIX socket. However there may be unforeseen issues by converting our code to run as something other than apache:apache. This would require some investigation and testing. IPA is dependent on other system daemons, specifically Directory Server (ds) and Certificate Server (cs). Currently we configure ds to run under the dirsrv:dirsrv user and group, an identity of our creation. We allow cs to default to it's pkiuser:pkiuser user and group. Should these other cooperating daemons also run under the common ipa:ipa user and group identities? At first blush there would seem to be an advantage to coalescing all process identities under a common IPA user and group identity. However these other processes do not depend on user and group permissions when working with external agents, processes, etc. Rather they are designed to be stand-alone network services which authenticate their clients via other mechanisms. They do depend on user and group permission to manage their own file system objects. If somehow the ipa user and/or group were compromised or malicious code somehow executed under the ipa identity there would be an advantage in having the cooperating processes cordoned off under their own identities providing one extra layer of protection. (Note, these cooperating daemons may not even be co-located on the same node in which case the issue is moot) The UNIX socket behavior (ldapi) with Directory Server is as follows: * The socket ownership is: root:root * The socket permissions are: 0666 * When connecting via ldapi you must authenticate as you would normally with a TCP socket, except ... * If autobind is enabled and the uid:gid is available via SO_PEERCRED and the uid:gid can be found in the set of users known to the Directory Server then that connection will be bound as that user. * Otherwise an anonymous bind will occur. memcached UNIX socket behavior is as follows: * memcached can be invoked with a user argument, no group may be specified. The effective uid is the uid of the user argument and the effective gid is the primary group of the user, let's call this euid:egid * The socket ownership is: euid:egid * The socket permissions are 0700 by default, but this can be modified by the -a mask command line arg which sets the umask (defaults to 0700). Overview of authentication in IPA ================================= This describes how we currently authenticate and how we plan to improve authentication performance. First some definitions. There are 4 major players: 1. client 2. mod_auth_kerb (in Apache process) 3. wsgi handler (in IPA wsgi python process) 4. ds (directory server) There are several resources: 1. /ipa/ui (unprotected, web UI static resources) 2. /ipa/xml (protected, xmlrpc RPC used by command line clients) 3. /ipa/json (protected, json RPC used by javascript in web UI) 4. ds (protected, wsgi acts as proxy, our LDAP server) Current Model ------------- This describes how things work in our current system for the web UI. 1. Client requests /ipa/ui, this is unprotected, is static and contains no sensitive information. Apache replies with html and javascript. The javascript requests /ipa/json. 2. Client sends post to /ipa/json. 3. mod_auth_kerb is configured to protect /ipa/json, replies 401 authenticate negotiate. 4. Client resends with credentials 5. mod_auth_kerb validates credentials a. if invalid replies 403 access denied (stops here) b. if valid creates temporary ccache, adds KRB5CCNAME to request headers 6. Request passed to wsgi handler a. validates request, KRB5CCNAME must be present, referrer, etc. b. ccache saved and used to bind to ds c. routes to specified RPC handler. 7. wsgi handler replies to client Proposed new session based optimization --------------------------------------- The round trip negotiate and credential validation in steps 3,4,5 is expensive. This can be avoided if we can cache the client credentials. With client sessions we can store the client credentials in the session bound to the client. A few notes about the session implementation. * based on session cookies, cookies must be enabled * session cookie is secure, only passed on secure connections, only passed to our URL resource, never visible to client javascript etc. * session cookie has a session id which is used by wsgi handler to retrieve client session data from shared multi-process cache. Changes to Apache's resource protection --------------------------------------- * /ipa/json is no longer protected by mod_auth_kerb. This is necessary to avoid the negotiate expense in steps 3,4,5 above. Instead the /ipa/json resource will be protected in our wsgi handler via the session cookie. * A new protected URI is introduced, /ipa/login. This resource does no serve any data, it is used exclusively for authentication. The new sequence is: 1. Client requests /ipa/ui, this is unprotected. Apache replies with html and javascript. The javascript requests /ipa/json. 2. Client sends post to /ipa/json, which is unprotected. 3. wsgi handler obtains session data from session cookie. a. if ccache is present in session data and is valid - request is further validated - ccache is established for bind to ds - request is routed to RPC handler - wsgi handler eventually replies to client b. if ccache is not present or not valid processing continues ... 4. wsgi handler replies with 401 Unauthorized 5. client sends request to /ipa/login to obtain session credentials 6. mod_auth_kerb replies 401 negotiate on /ipa/login 7. client sends credentials to /ipa/login 8. mod_auth_kerb validates credentials a. if valid - mod_auth_kerb permits access to /ipa/login. wsgi handler is invoked and does the following: * establishes session for client * retrieves the ccache from KRB5CCNAME and stores it a. if invalid - mod_auth_kerb sends 403 access denied (processing stops) 9. client now posts the same data again to /ipa/json including session cookie. Processing repeats starting at step 2 and since the session data now contains a valid ccache step 3a executes, a successful reply is sent to client. Command line client using xmlrpc -------------------------------- The above describes the web UI utilizing the json RPC mechanism. The IPA command line tools utilize a xmlrpc RPC mechanism on the same HTTP server. Access to the xmlrpc is via the /ipa/xml URI. The json and xmlrpc API's are the same, they differ only on how their procedure calls are marshalled and unmarshalled. Under the new scheme /ipa/xml will continue to be Kerberos protected at all times. Apache's mod_auth_kerb will continue to require the client provides valid Kerberos credentials. When the WSGI handler routes to /ipa/xml the Kerberos credentials will be extracted from the KRB5CCNAME environment variable as provided by mod_auth_kerb. Everything else remains the same. Set a user's password If someone other than a user changes that user's password (e.g., Helpdesk resets it) then the password will need to be changed the first time it is used. This is so the end-user is the only one who knows the password. The IPA password policy controls how often a password may be changed, what strength requirements exist, and the length of the password history. EXAMPLES: To reset your own password: ipa passwd To change another user's password: ipa passwd tuser1 Simulate use of Host-based access controls HBAC rules control who can access what services on what hosts and from where. You can use HBAC to control which users or groups can access a service, or group of services, on a target host. Since applying HBAC rules implies use of a production environment, this plugin aims to provide simulation of HBAC rules evaluation without having access to the production environment. Test user coming to a service on a named host against existing enabled rules. ipa hbactest --user= --host= --service= [--rules=rules-list] [--nodetail] [--enabled] [--disabled] [--srchost= ] [--sizelimit= ] --user, --host, and --service are mandatory, others are optional. If --rules is specified simulate enabling of the specified rules and test the login of the user using only these rules. If --enabled is specified, all enabled HBAC rules will be added to simulation If --disabled is specified, all disabled HBAC rules will be added to simulation If --nodetail is specified, do not return information about rules matched/not matched. If both --rules and --enabled are specified, apply simulation to --rules _and_ all IPA enabled rules. If no --rules specified, simulation is run against all IPA enabled rules. By default there is a IPA-wide limit to number of entries fetched, you can change it with --sizelimit option. If --srchost is specified, it will be ignored. It is left because of compatibility reasons only. EXAMPLES: 1. Use all enabled HBAC rules in IPA database to simulate: $ ipa hbactest --user=a1a --host=bar --service=sshd -------------------- Access granted: True -------------------- notmatched: my-second-rule notmatched: my-third-rule notmatched: myrule matched: allow_all 2. Disable detailed summary of how rules were applied: $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail -------------------- Access granted: True -------------------- 3. Test explicitly specified HBAC rules: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --------------------- Access granted: False --------------------- notmatched: my-second-rule notmatched: myrule 4. Use all enabled HBAC rules in IPA database + explicitly specified rules: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --enabled -------------------- Access granted: True -------------------- notmatched: my-second-rule notmatched: my-third-rule notmatched: myrule matched: allow_all 5. Test all disabled HBAC rules in IPA database: $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled --------------------- Access granted: False --------------------- notmatched: new-rule 6. Test all disabled HBAC rules in IPA database + explicitly specified rules: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --disabled --------------------- Access granted: False --------------------- notmatched: my-second-rule notmatched: my-third-rule notmatched: myrule 7. Test all (enabled and disabled) HBAC rules in IPA database: $ ipa hbactest --user=a1a --host=bar --service=sshd --enabled --disabled -------------------- Access granted: True -------------------- notmatched: my-second-rule notmatched: my-third-rule notmatched: myrule notmatched: new-rule matched: allow_all Simulate use of Host-based access controls HBAC rules control who can access what services on what hosts. You can use HBAC to control which users or groups can access a service, or group of services, on a target host. Since applying HBAC rules implies use of a production environment, this plugin aims to provide simulation of HBAC rules evaluation without having access to the production environment. Test user coming to a service on a named host against existing enabled rules. ipa hbactest --user= --host= --service= [--rules=rules-list] [--nodetail] [--enabled] [--disabled] [--sizelimit= ] --user, --host, and --service are mandatory, others are optional. If --rules is specified simulate enabling of the specified rules and test the login of the user using only these rules. If --enabled is specified, all enabled HBAC rules will be added to simulation If --disabled is specified, all disabled HBAC rules will be added to simulation If --nodetail is specified, do not return information about rules matched/not matched. If both --rules and --enabled are specified, apply simulation to --rules _and_ all IPA enabled rules. If no --rules specified, simulation is run against all IPA enabled rules. By default there is a IPA-wide limit to number of entries fetched, you can change it with --sizelimit option. EXAMPLES: 1. Use all enabled HBAC rules in IPA database to simulate: $ ipa hbactest --user=a1a --host=bar --service=sshd -------------------- Access granted: True -------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule Matched rules: allow_all 2. Disable detailed summary of how rules were applied: $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail -------------------- Access granted: True -------------------- 3. Test explicitly specified HBAC rules: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=myrule --rules=my-second-rule --------------------- Access granted: False --------------------- Not matched rules: my-second-rule Not matched rules: myrule 4. Use all enabled HBAC rules in IPA database + explicitly specified rules: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=myrule --rules=my-second-rule --enabled -------------------- Access granted: True -------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule Matched rules: allow_all 5. Test all disabled HBAC rules in IPA database: $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled --------------------- Access granted: False --------------------- Not matched rules: new-rule 6. Test all disabled HBAC rules in IPA database + explicitly specified rules: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=myrule --rules=my-second-rule --disabled --------------------- Access granted: False --------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule 7. Test all (enabled and disabled) HBAC rules in IPA database: $ ipa hbactest --user=a1a --host=bar --service=sshd --enabled --disabled -------------------- Access granted: True -------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule Not matched rules: new-rule Matched rules: allow_all HBACTEST AND TRUSTED DOMAINS When an external trusted domain is configured in IPA, HBAC rules are also applied on users accessing IPA resources from the trusted domain. Trusted domain users and groups (and their SIDs) can be then assigned to external groups which can be members of POSIX groups in IPA which can be used in HBAC rules and thus allowing access to resources protected by the HBAC system. hbactest plugin is capable of testing access for both local IPA users and users from the trusted domains, either by a fully qualified user name or by user SID. Such user names need to have a trusted domain specified as a short name (DOMAIN\Administrator) or with a user principal name (UPN), Administrator@ad.test. Please note that hbactest executed with a trusted domain user as --user parameter can be only run by members of "trust admins" group. EXAMPLES: 1. Test if a user from a trusted domain specified by its shortname matches any rule: $ ipa hbactest --user 'DOMAIN\Administrator' --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Matched rules: can_login 2. Test if a user from a trusted domain specified by its domain name matches any rule: $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Matched rules: can_login 3. Test if a user from a trusted domain specified by its SID matches any rule: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Matched rules: can_login 4. Test if other user from a trusted domain specified by its SID matches any rule: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Not matched rules: can_login 5. Test if other user from a trusted domain specified by its shortname matches any rule: $ ipa hbactest --user 'DOMAIN\Otheruser' --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Not matched rules: can_login Simulate use of Host-based access controls HBAC rules control who can access what services on what hosts. You can use HBAC to control which users or groups can access a service, or group of services, on a target host. Since applying HBAC rules implies use of a production environment, this plugin aims to provide simulation of HBAC rules evaluation without having access to the production environment. Test user coming to a service on a named host against existing enabled rules. ipa hbactest --user= --host= --service= [--rules=rules-list] [--nodetail] [--enabled] [--disabled] [--sizelimit= ] --user, --host, and --service are mandatory, others are optional. If --rules is specified simulate enabling of the specified rules and test the login of the user using only these rules. If --enabled is specified, all enabled HBAC rules will be added to simulation If --disabled is specified, all disabled HBAC rules will be added to simulation If --nodetail is specified, do not return information about rules matched/not matched. If both --rules and --enabled are specified, apply simulation to --rules _and_ all IPA enabled rules. If no --rules specified, simulation is run against all IPA enabled rules. By default there is a IPA-wide limit to number of entries fetched, you can change it with --sizelimit option. EXAMPLES: 1. Use all enabled HBAC rules in IPA database to simulate: $ ipa hbactest --user=a1a --host=bar --service=sshd -------------------- Access granted: True -------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule Matched rules: allow_all 2. Disable detailed summary of how rules were applied: $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail -------------------- Access granted: True -------------------- 3. Test explicitly specified HBAC rules: $ ipa hbactest --user=a1a --host=bar --service=sshd \ --rules=myrule --rules=my-second-rule --------------------- Access granted: False --------------------- Not matched rules: my-second-rule Not matched rules: myrule 4. Use all enabled HBAC rules in IPA database + explicitly specified rules: $ ipa hbactest --user=a1a --host=bar --service=sshd \ --rules=myrule --rules=my-second-rule --enabled -------------------- Access granted: True -------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule Matched rules: allow_all 5. Test all disabled HBAC rules in IPA database: $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled --------------------- Access granted: False --------------------- Not matched rules: new-rule 6. Test all disabled HBAC rules in IPA database + explicitly specified rules: $ ipa hbactest --user=a1a --host=bar --service=sshd \ --rules=myrule --rules=my-second-rule --disabled --------------------- Access granted: False --------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule 7. Test all (enabled and disabled) HBAC rules in IPA database: $ ipa hbactest --user=a1a --host=bar --service=sshd \ --enabled --disabled -------------------- Access granted: True -------------------- Not matched rules: my-second-rule Not matched rules: my-third-rule Not matched rules: myrule Not matched rules: new-rule Matched rules: allow_all HBACTEST AND TRUSTED DOMAINS When an external trusted domain is configured in IPA, HBAC rules are also applied on users accessing IPA resources from the trusted domain. Trusted domain users and groups (and their SIDs) can be then assigned to external groups which can be members of POSIX groups in IPA which can be used in HBAC rules and thus allowing access to resources protected by the HBAC system. hbactest plugin is capable of testing access for both local IPA users and users from the trusted domains, either by a fully qualified user name or by user SID. Such user names need to have a trusted domain specified as a short name (DOMAIN\Administrator) or with a user principal name (UPN), Administrator@ad.test. Please note that hbactest executed with a trusted domain user as --user parameter can be only run by members of "trust admins" group. EXAMPLES: 1. Test if a user from a trusted domain specified by its shortname matches any rule: $ ipa hbactest --user 'DOMAIN\Administrator' --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Matched rules: can_login 2. Test if a user from a trusted domain specified by its domain name matches any rule: $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Matched rules: can_login 3. Test if a user from a trusted domain specified by its SID matches any rule: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \ --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Matched rules: can_login 4. Test if other user from a trusted domain specified by its SID matches any rule: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \ --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Not matched rules: can_login 5. Test if other user from a trusted domain specified by its shortname matches any rule: $ ipa hbactest --user 'DOMAIN\Otheruser' --host `hostname` --service sshd -------------------- Access granted: True -------------------- Matched rules: allow_all Not matched rules: can_login Stageusers Manage stage user entries. Stage user entries are directly under the container: "cn=stage users, cn=accounts, cn=provisioning, SUFFIX". User can not authenticate with those entries (even if the entries contain credentials) and are candidate to become Active entries. Active user entries are Posix users directly under the container: "cn=accounts, SUFFIX". User can authenticate with Active entries, at the condition they have credentials Delete user entries are Posix users directly under the container: "cn=deleted users, cn=accounts, cn=provisioning, SUFFIX". User can not authenticate with those entries (even if the entries contain credentials) The stage user container contains entries - created by 'stageuser-add' commands that are Posix users - created by external provisioning system A valid stage user entry MUST: - entry RDN is 'uid' - ipaUniqueID is 'autogenerate' IPA supports a wide range of username formats, but you need to be aware of any restrictions that may apply to your particular environment. For example, usernames that start with a digit or usernames that exceed a certain length may cause problems for some UNIX systems. Use 'ipa config-mod' to change the username format allowed by IPA tools. EXAMPLES: Add a new stageuser: ipa stageuser-add --first=Tim --last=User --password tuser1 Add a stageuser from the Delete container ipa stageuser-add --first=Tim --last=User --from-delete tuser1 Stageusers Manage stage user entries. Stage user entries are directly under the container: "cn=stage users, cn=accounts, cn=provisioning, SUFFIX". Users can not authenticate with those entries (even if the entries contain credentials). Those entries are only candidate to become Active entries. Active user entries are Posix users directly under the container: "cn=accounts, SUFFIX". Users can authenticate with Active entries, at the condition they have credentials. Deleted user entries are Posix users directly under the container: "cn=deleted users, cn=accounts, cn=provisioning, SUFFIX". Users can not authenticate with those entries, even if the entries contain credentials. The stage user container contains entries: - created by 'stageuser-add' commands that are Posix users, - created by external provisioning system. A valid stage user entry MUST have: - entry RDN is 'uid', - ipaUniqueID is 'autogenerate'. IPA supports a wide range of username formats, but you need to be aware of any restrictions that may apply to your particular environment. For example, usernames that start with a digit or usernames that exceed a certain length may cause problems for some UNIX systems. Use 'ipa config-mod' to change the username format allowed by IPA tools. EXAMPLES: Add a new stageuser: ipa stageuser-add --first=Tim --last=User --password tuser1 Add a stageuser from the deleted users container: ipa stageuser-add --first=Tim --last=User --from-delete tuser1 Standard vault uses a secure mechanism to transport and store the secret. The secret can only be retrieved by users that have access to the vault. Subordinate Certificate Authorities (Sub-CAs) can be added for scoped issuance of X.509 certificates. Sudo (su "do") allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments. Sudo Commands Commands used as building blocks for sudo EXAMPLES: Create a new command ipa sudocmd-add --desc='For reading log files' /usr/bin/less Remove a command ipa sudocmd-del /usr/bin/less Sudo Commands Commands used as building blocks for sudo EXAMPLES: Create a new command ipa sudocmd-add --desc='For reading log files' /usr/bin/less Remove a command ipa sudocmd-del /usr/bin/less Sudo Rules Sudo Rules Sudo (su "do") allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments. FreeIPA provides a means to configure the various aspects of Sudo: Users: The user(s)/group(s) allowed to invoke Sudo. Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo. Allow Command: The specific command(s) permitted to be run via Sudo. Deny Command: The specific command(s) prohibited to be run via Sudo. RunAsUser: The user(s) or group(s) of users whose rights Sudo will be invoked with. RunAsGroup: The group(s) whose gid rights Sudo will be invoked with. Options: The various Sudoers Options that can modify Sudo's behavior. An order can be added to a sudorule to control the order in which they are evaluated (if the client supports it). This order is an integer and must be unique. FreeIPA provides a designated binddn to use with Sudo located at: uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com To enable the binddn run the following command to set the password: LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -ZZ -D "cn=Directory Manager" uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com EXAMPLES: Create a new rule: ipa sudorule-add readfiles Add sudo command object and add it as allowed command in the rule: ipa sudocmd-add /usr/bin/less ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less Add a host to the rule: ipa sudorule-add-host readfiles --hosts server.example.com Add a user to the rule: ipa sudorule-add-user readfiles --users jsmith Add a special Sudo rule for default Sudo server configuration: ipa sudorule-add defaults Set a default Sudo option: ipa sudorule-add-option defaults --sudooption '!authenticate' Sudo Rules Sudo (su "do") allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments. FreeIPA provides a means to configure the various aspects of Sudo: Users: The user(s)/group(s) allowed to invoke Sudo. Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke Sudo. Allow Command: The specific command(s) permitted to be run via Sudo. Deny Command: The specific command(s) prohibited to be run via Sudo. RunAsUser: The user(s) or group(s) of users whose rights Sudo will be invoked with. RunAsGroup: The group(s) whose gid rights Sudo will be invoked with. Options: The various Sudoers Options that can modify Sudo's behavior. An order can be added to a sudorule to control the order in which they are evaluated (if the client supports it). This order is an integer and must be unique. FreeIPA provides a designated binddn to use with Sudo located at: uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com To enable the binddn run the following command to set the password: LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -ZZ -D "cn=Directory Manager" uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com For more information, see the FreeIPA Documentation to Sudo. Symmetric vault is similar to the standard vault, but it pre-encrypts the secret using a password before transport. The secret can only be retrieved using the same password. The automember-rebuild command can be used to retroactively run automember rules against existing entries, thus rebuilding their membership. The date format is YYYY-mm-dd. The dogtag CA uses just the CN value of the CSR and forces the rest of the subject to values configured in the server. The following revocation reasons are supported: There are a number of allowed targets: 1. subtree: a DN; the permission applies to the subtree under this DN 2. target filter: an LDAP filter 3. target: DN with possible wildcards, specifies entries permission applies to There are many structured DNS RR types where DNS data stored in LDAP server is not just a scalar value, for example an IP address or a domain name, but a data structure which may be often complex. A good example is a LOC record [RFC1876] which consists of many mandatory and optional parts (degrees, minutes, seconds of latitude and longitude, altitude or precision). This code is an extension to the otptoken plugin and provides support for reading/writing YubiKey tokens directly. To enable the binddn run the following command to set the password: LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -ZZ -D "cn=Directory Manager" uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com To verify that no server is disconnected in the topology of the given suffix, use: ipa topologysuffix-verify $suffix Topology Management of a replication topology at domain level 1. Topology Management of a replication topology at domain level 1. IPA server's data is stored in LDAP server in two suffixes: * domain suffix, e.g., 'dc=example,dc=com', contains all domain related data * ca suffix, 'o=ipaca', is present only on server with CA installed. It contains data for Certificate Server component Data stored on IPA servers is replicated to other IPA servers. The way it is replicated is defined by replication agreements. Replication agreements needs to be set for both suffixes separately. On domain level 0 they are managed using ipa-replica-manage and ipa-csreplica-manage tools. With domain level 1 they are managed centrally using `ipa topology*` commands. Agreements are represented by topology segments. By default topology segment represents 2 replication agreements - one for each direction, e.g., A to B and B to A. Creation of unidirectional segments is not allowed. To verify that no server is disconnected in the topology of the given suffix, use: ipa topologysuffix-verify $suffix Examples: Find all IPA servers: ipa server-find Find all suffixes: ipa topologysuffix-find Add topology segment to 'domain' suffix: ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B Add topology segment to 'ca' suffix: ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B List all topology segments in 'domain' suffix: ipa topologysegment-find domain List all topology segments in 'ca' suffix: ipa topologysegment-find ca Delete topology segment in 'domain' suffix: ipa topologysegment-del domain segment_name Delete topology segment in 'ca' suffix: ipa topologysegment-del ca segment_name Verify topology of 'domain' suffix: ipa topologysuffix-verify domain Verify topology of 'ca' suffix: ipa topologysuffix-verify ca Topology Management of a replication topology. Requires minimum domain level 1. USING STRUCTURED PER-TYPE OPTIONS Unlock a user account An account may become locked if the password is entered incorrectly too many times within a specific time period as controlled by password policy. A locked account is a temporary condition and may be unlocked by an administrator. User vaults are vaults owned used by a particular user. Private vaults are vaults owned the current user. Service vaults are vaults owned by a service. Shared vaults are owned by the admin but they can be used by other users or services. Users Manage user entries. All users are POSIX users. IPA supports a wide range of username formats, but you need to be aware of any restrictions that may apply to your particular environment. For example, usernames that start with a digit or usernames that exceed a certain length may cause problems for some UNIX systems. Use 'ipa config-mod' to change the username format allowed by IPA tools. Disabling a user account prevents that user from obtaining new Kerberos credentials. It does not invalidate any credentials that have already been issued. Password management is not a part of this module. For more information about this topic please see: ipa help passwd Account lockout on password failure happens per IPA master. The user-status command can be used to identify which master the user is locked out on. It is on that master the administrator must unlock the user. EXAMPLES: Add a new user: ipa user-add --first=Tim --last=User --password tuser1 Find all users whose entries include the string "Tim": ipa user-find Tim Find all users with "Tim" as the first name: ipa user-find --first=Tim Disable a user account: ipa user-disable tuser1 Enable a user account: ipa user-enable tuser1 Delete a user: ipa user-del tuser1 Vaults Vaults Manage vaults. Vault is a secure place to store a secret. Based on the ownership there are three vault categories: * user/private vault * service vault * shared vault User vaults are vaults owned used by a particular user. Private vaults are vaults owned the current user. Service vaults are vaults owned by a service. Shared vaults are owned by the admin but they can be used by other users or services. Based on the security mechanism there are three types of vaults: * standard vault * symmetric vault * asymmetric vault Standard vault uses a secure mechanism to transport and store the secret. The secret can only be retrieved by users that have access to the vault. Symmetric vault is similar to the standard vault, but it pre-encrypts the secret using a password before transport. The secret can only be retrieved using the same password. Asymmetric vault is similar to the standard vault, but it pre-encrypts the secret using a public key before transport. The secret can only be retrieved using the private key. EXAMPLES: List vaults: ipa vault-find [--user |--service |--shared] Add a standard vault: ipa vault-add [--user |--service |--shared] --type standard Add a symmetric vault: ipa vault-add [--user |--service |--shared] --type symmetric --password-file password.txt Add an asymmetric vault: ipa vault-add [--user |--service |--shared] --type asymmetric --public-key-file public.pem Show a vault: ipa vault-show [--user |--service |--shared] Modify vault description: ipa vault-mod [--user |--service |--shared] --desc Modify vault type: ipa vault-mod [--user |--service |--shared] --type [old password/private key] [new password/public key] Modify symmetric vault password: ipa vault-mod [--user |--service |--shared] --change-password ipa vault-mod [--user |--service |--shared] --old-password --new-password ipa vault-mod [--user |--service |--shared] --old-password-file --new-password-file Modify asymmetric vault keys: ipa vault-mod [--user |--service |--shared] --private-key-file --public-key-file Delete a vault: ipa vault-del [--user |--service |--shared] Display vault configuration: ipa vaultconfig-show Archive data into standard vault: ipa vault-archive [--user |--service |--shared] --in Archive data into symmetric vault: ipa vault-archive [--user |--service |--shared] --in --password-file password.txt Archive data into asymmetric vault: ipa vault-archive [--user |--service |--shared] --in Retrieve data from standard vault: ipa vault-retrieve [--user |--service |--shared] --out Retrieve data from symmetric vault: ipa vault-retrieve [--user |--service |--shared] --out --password-file password.txt Retrieve data from asymmetric vault: ipa vault-retrieve [--user |--service |--shared] --out --private-key-file private.pem Add vault owners: ipa vault-add-owner [--user |--service |--shared] [--users ] [--groups ] [--services ] Delete vault owners: ipa vault-remove-owner [--user |--service |--shared] [--users ] [--groups ] [--services ] Add vault members: ipa vault-add-member [--user |--service |--shared] [--users ] [--groups ] [--services ] Delete vault members: ipa vault-remove-member [--user |--service |--shared] [--users ] [--groups ] [--services ] Verify replication topology for suffix. Checks done: 1. check if a topology is not disconnected. In other words if there are replication paths between all servers. 2. check if servers don't have more than the recommended number of replication agreements Verify replication topology for suffix. Checks done: 1. check if a topology is not disconnected. In other words if there are replication paths between all servers. 2. check if servers don't have more than the recommended number of replication agreements When adding a record, either RR specific options or standard option for a raw value can be used, they just should not be combined in one add operation. When modifying an existing entry, new RR specific options can be used to change one part of a DNS record, where the standard option for raw value is used to specify the modified value. The following example demonstrates a modification of MX record preference from 0 to 1 in a record without modifying the exchanger: ipa dnsrecord-mod --mx-rec="0 mx.example.com." --mx-preference=1 When searching on dates the _from date does a >= search and the _to date does a <= search. When combined these are done as an AND. YubiKey Tokens YubiKey Tokens Manage YubiKey tokens. This code is an extension to the otptoken plugin and provides support for reading/writing YubiKey tokens directly. EXAMPLES: Add a new token: ipa otptoken-add-yubikey --owner=jdoe --desc="My YubiKey" http://www.ietf.org/rfc/rfc5280.txt * 0 - unspecified * 1 - keyCompromise * 10 - aACompromise * 2 - cACompromise * 3 - affiliationChanged * 4 - superseded * 5 - cessationOfOperation * 6 - certificateHold * 8 - removeFromCRL * 9 - privilegeWithdrawn ipa --help -8 '${cn}' Alternatively, following servers are capable of running this command: %(masters)s"%s" is not a valid permission type"%s" is not an object type${count} certificate(s) present${count} item(s) added${count} item(s) deleted${count} item(s) disabled${count} item(s) enabled${count} item(s) removed${count} option(s) removed${count} user(s) activated${count} user(s) restored${count} users(s) staged${entity} ${primary_key} Settings${entity} ${primary_key} updated${entity} successfully added${primary_key} applies to:${primary_key} is a member of:${primary_key} is managed by:${primary_key} members:${primary_key} overrides:${product}, version: ${version}%(attr)s does not contain '%(value)s'%(attr)s: Invalid syntax.%(attr)s: Only one value allowed.%(command_name)s: %(oname)s not found%(container)s LDAP search did not return any result (search base: %(search_base)s, objectclass: %(objectclass)s)%(count)d %(type)s record skipped. Only one value per DNS record type can be modified at one time.%(count)d %(type)s records skipped. Only one value per DNS record type can be modified at one time.%(count)d ACI matched%(count)d ACIs matched%(count)d CA ACL matched%(count)d CA ACLs matched%(count)d CA matched%(count)d CAs matched%(count)d Certificate Identity Mapping Rule matched%(count)d Certificate Identity Mapping Rules matched%(count)d DNS server matched%(count)d DNS servers matched%(count)d Group ID override matched%(count)d Group ID overrides matched%(count)d HBAC rule matched%(count)d HBAC rules matched%(count)d HBAC service group matched%(count)d HBAC service groups matched%(count)d HBAC service matched%(count)d HBAC services matched%(count)d ID View matched%(count)d ID Views matched%(count)d ID override matched%(count)d ID overrides matched%(count)d IPA location matched%(count)d IPA locations matched%(count)d IPA server matched%(count)d IPA servers matched%(count)d OTP token matched%(count)d OTP tokens matched%(count)d RADIUS proxy server matched%(count)d RADIUS proxy servers matched%(count)d SELinux User Map matched%(count)d SELinux User Maps matched%(count)d Sudo Command Group matched%(count)d Sudo Command Groups matched%(count)d Sudo Command matched%(count)d Sudo Commands matched%(count)d Sudo Rule matched%(count)d Sudo Rules matched%(count)d User ID override matched%(count)d User ID overrides matched%(count)d automount key matched%(count)d automount keys matched%(count)d automount location matched%(count)d automount locations matched%(count)d automount map matched%(count)d automount maps matched%(count)d certificate matched%(count)d certificates matched%(count)d delegation matched%(count)d delegations matched%(count)d group matched%(count)d groups matched%(count)d host matched%(count)d hosts matched%(count)d hostgroup matched%(count)d hostgroups matched%(count)d netgroup matched%(count)d netgroups matched%(count)d permission matched%(count)d permissions matched%(count)d plugin loaded%(count)d plugins loaded%(count)d privilege matched%(count)d privileges matched%(count)d profile matched%(count)d profiles matched%(count)d range matched%(count)d ranges matched%(count)d role matched%(count)d roles matched%(count)d rules matched%(count)d rules matched%(count)d segment matched%(count)d segments matched%(count)d selfservice matched%(count)d selfservices matched%(count)d service delegation rule matched%(count)d service delegation rules matched%(count)d service delegation target matched%(count)d service delegation targets matched%(count)d service matched%(count)d services matched%(count)d topology suffix matched%(count)d topology suffixes matched%(count)d trust matched%(count)d trusts matched%(count)d user matched%(count)d users matched%(count)d variables%(count)d vault matched%(count)d vaults matched%(count)s server matched%(count)s servers matched%(count)s server role matched%(count)s server roles matched%(count)s user matched%(count)s users matched%(cver)s client incompatible with %(sver)s server at '%(server)s'%(desc)s: %(info)s%(exception)s%(filename)s: file not found%(host)s failed%(host)s failed: %(error)s%(info)s%(key)s cannot be deleted because %(label)s %(dependent)s requires it%(key)s cannot be deleted or disabled because it is the last member of %(label)s %(container)s%(label)s %(key)s cannot be deleted/modified: %(reason)s%(line)s%(metaobject)s: %(oname)s not found%(name)s certificate is not valid%(obj)s default attribute %(attr)s would not be allowed!%(oname)s with name "%(pkey)s" already exists%(operation)s is not supported for %(principal_type)s principals%(otype)s "%(oname)s" not found%(parent)s: %(oname)s not found%(pkey)s: %(oname)s not found%(port)s is not a valid port%(reason)s%(task)s LDAP task timeout, Task DN: '%(task_dn)s'%(type)s category cannot be set to 'all' while there are allowed %(objects)s%(user)s is not a POSIX user%(value)s%i CA added.%i CA removed.%i CAs added.%i CAs removed.%i host or hostgroup added.%i host or hostgroup removed.%i hosts or hostgroups added.%i hosts or hostgroups removed.%i profile added.%i profile removed.%i profiles added.%i profiles removed.%i service added.%i service removed.%i services added.%i services removed.%i user or group added.%i user or group removed.%i users or groups added.%i users or groups removed.%s%s Record%s is not a valid attribute.%s record%s to add%s to exclude from migration%s to remove%s: RADIUS proxy server not found%s: group not found%s: user is already preserved'${port}' is not a valid port'%(attr)s' already contains one or more values'%(command)s' is deprecated. %(additional_info)s'%(entry)s' doesn't have a certificate.'%(name)s' is required'%(option)s' option is deprecated. %(additional_info)s'%(required)s' must not be empty when '%(name)s' is set'%s' is a required part of DNS record'add' option(deprecated)(see RFC %s for details). Check GID of the existing group. Use --group-overwrite-gid option to overwrite the GID7 is not a valid revocation reason One-Time-Password(OTP): Generate new OTP code for each OTP field. To login with Kerberos, please make sure you have valid tickets (obtainable via kinit) and configured the browser correctly, then click Login. To login with username and password, enter them in the corresponding fields, then click Login.
  1. Create a certificate database or use an existing one. To create a new database:
    # certutil -N -d <database path>
  2. Create a CSR with subject CN=<${cn_name}>,O=<realm>, for example:
    # certutil -R -d <database path> -a -g <key size> -s 'CN=${cn},O=${realm}'${san}
  3. Copy and paste the CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to -----END NEW CERTIFICATE REQUEST-----) into the text area below:

Implicit method (password) will be used if no method is chosen.

Password + Two-factor: LDAP and Kerberos allow authentication with either one of the authentication types but Kerberos uses pre-authentication method which requires to use armor ccache.

RADIUS with another type: Kerberos always use RADIUS, but LDAP never does. LDAP only recognize the password and two-factor authentication options.

Per-user setting, overwrites the global setting if any option is checked.

Password + Two-factor: LDAP and Kerberos allow authentication with either one of the authentication types but Kerberos uses pre-authentication method which requires to use armor ccache.

RADIUS with another type: Kerberos always use RADIUS, but LDAP never does. LDAP only recognize the password and two-factor authentication options.

A Create reverseA IP AddressA SYSTEM permission may not be modified or removedA comma-separated list of fields to search in when searching for groupsA comma-separated list of fields to search in when searching for usersA description of this RADIUS proxy serverA description of this auto member ruleA description of this commandA description of this hostA description of this host-groupA description of this role-groupA dictionary representing an LDAP entryA group may not be a member of itselfA group may not be added as a member of itselfA host willing to act as a key exchangerA host willing to act as a mail exchangerA hostname which this alias hostname points toA list of ACI valuesA list of LDAP entriesA list of SELinux users delimited by $ expectedA list of global forwarders. A custom port can be specified for each forwarder using a standard format "IP_ADDRESS port PORT"A list of per-zone forwarders. A custom port can be specified for each forwarder using a standard format "IP_ADDRESS port PORT"A managed group cannot have a password policy.A problem was encountered when verifying that all members were %(verb)s: %(exc)sA recordA space separated list of attributes which are removed from replication updates.A string searched in all relevant object attributesA6 Record dataA6 recordAA CompromiseAAAA Create reverseAAAA IP AddressAAAA recordACIACI nameACI of permission %s was not foundACI prefixACI prefix is requiredACI with name "%s" not foundACIsACL nameAD DC was unable to reach any IPA domain controller. Most likely it is a DNS or firewall issueAD Trust setupAD domain controllerAD domain controller complains about communication sequence. It may mean unsynchronized time on both sides, for exampleAFSDB HostnameAFSDB SubtypeAFSDB recordAPI BrowserAPI Version number was not sent, forward compatibility not guaranteed. Assuming server's API version, %(server_version)sAPL recordAboutAccess DeniedAccess GrantedAccess granted: %sAccess this hostAccess timeAccessingAccountAccount SettingsAccount StatusAccount disabledAccount disabled: %(disabled)sActionsActivateActivate a stage user "%(value)s"Activate a stage user.Active Directory domainActive Directory domain administratorActive Directory domain administrator's passwordActive Directory domain rangeActive Directory domain with POSIX attributesActive Directory trust range with POSIX attributesActive Directory winsyncActive directory domain administrator's passwordActive usersActive zoneAddAdd ${entity}Add ${entity} ${primary_key} into ${other_entity}Add ${other_entity} Managing ${entity} ${primary_key}Add ${other_entity} into ${entity} ${primary_key}Add Allow ${other_entity} into ${entity} ${primary_key}Add CAs to a CA ACL.Add Certificate Mapping DataAdd Condition into ${pkey}Add Custom AttributeAdd Custom Authentication IndicatorAdd Deny ${other_entity} into ${entity} ${primary_key}Add Kerberos Principal AliasAdd ManyAdd OTP TokenAdd PermissionAdd RuleAdd RunAs ${other_entity} into ${entity} ${primary_key}Add RunAs Groups into ${entity} ${primary_key}Add a manager to the stage user entryAdd a manager to the user entryAdd a new DNS server.Add a new Group ID override.Add a new HBAC service group.Add a new HBAC service.Add a new ID View.Add a new ID override.Add a new IPA location.Add a new IPA new service.Add a new IPA service.Add a new OTP token.Add a new RADIUS proxy server.Add a new User ID override.Add a new YubiKey OTP token.Add a new delegation.Add a new group password policy.Add a new host.Add a new hostgroup.Add a new netgroup.Add a new permission.Add a new privilege.Add a new role.Add a new segment.Add a new self-service permission.Add a new stage user.Add a new topology suffix to be managed.Add a new user.Add a permission for per-forward zone access delegation.Add a permission for per-zone access delegation.Add a system permission without an ACIAdd a system permission without an ACI (internal command)Add an attribute/value pair. Format is attr=value. The attribute must be part of the schema.Add an automember rule.Add an option to the Sudo Rule.Add and Add AnotherAdd and CloseAdd and EditAdd certificates to host entryAdd commands and sudo command groups affected by Sudo Rule.Add conditions to an automember rule.Add custom valueAdd domainAdd forward record for nameserver located in the created zoneAdd group for Sudo to execute as.Add hosts and hostgroups affected by Sudo Rule.Add hosts that can manage this host.Add hosts that can manage this service.Add member to a named service delegation rule.Add member to a named service delegation target.Add members to Sudo Command Group.Add members to a group.Add members to a hostgroup.Add members to a netgroup.Add members to a permission.Add members to a privilege.Add members to a role.Add members to a vault.Add members to an HBAC service group.Add migrated users without a group to a default group (default: true)Add new DNS resource record.Add new certificates to a serviceAdd new principal alias to a serviceAdd new principal alias to host entryAdd new principal alias to the stageuser entryAdd new principal alias to the user entryAdd one or more certificate mappings to the stage user entry.Add one or more certificate mappings to the user entry.Add one or more certificates to the idoverrideuser entryAdd one or more certificates to the stageuser entryAdd one or more certificates to the user entryAdd owners to a vault container.Add owners to a vault.Add permissions to a privilege.Add principalAdd privileges to a role.Add profiles to a CA ACL.Add services to a CA ACL.Add services to an HBAC rule.Add source hosts and hostgroups from a HBAC rule.Add target hosts and hostgroups to a CA ACL.Add target hosts and hostgroups to an HBAC rule.Add target hosts and hostgroups to an SELinux User Map rule.Add target to a named service delegation rule.Add target to a named service delegation.Add the host to DNS with this IP addressAdd to default groupAdd users and groups affected by Sudo Rule.Add users and groups for Sudo to execute as.Add users and groups to a CA ACL.Add users and groups to an HBAC rule.Add users and groups to an SELinux User Map rule.Add users that can manage this token.Added %(map)sAdded %(src)s to %(dst)sAdded Active Directory trust for realm "%(value)s"Added CA ACL "%(value)s"Added Certificate Identity Mapping Rule "%(value)s"Added Group ID override "%(value)s"Added HBAC rule "%(value)s"Added HBAC service "%(value)s"Added HBAC service group "%(value)s"Added ID View "%(value)s"Added ID override "%(value)s"Added ID range "%(value)s"Added IPA location "%(value)s"Added OTP token "%(value)s"Added RADIUS proxy server "%(value)s"Added SELinux User Map "%(value)s"Added Sudo Command "%(value)s"Added Sudo Command Group "%(value)s"Added Sudo Rule "%(value)s"Added User ID override "%(value)s"Added automember rule "%(value)s"Added automount indirect map "%(value)s"Added automount key "%(value)s"Added automount location "%(value)s"Added automount map "%(value)s"Added certificate mappings to user "%(value)s"Added certificates to host "%(value)s"Added certificates to idoverrideuser "%(value)s"Added certificates to service principal "%(value)s"Added certificates to stageuser "%(value)s"Added certificates to user "%(value)s"Added condition(s) to "%(value)s"Added delegation "%(value)s"Added group "%(value)s"Added host "%(value)s"Added hostgroup "%(value)s"Added netgroup "%(value)s"Added new DNS server "%(value)s"Added new aliases to host "%(value)s"Added new aliases to stageuser "%(value)s"Added new aliases to the service principal "%(value)s"Added new aliases to user "%(value)s"Added option "%(option)s" to Sudo Rule "%(rule)s"Added permission "%(value)s"Added privilege "%(value)s"Added role "%(value)s"Added segment "%(value)s"Added selfservice "%(value)s"Added service "%(value)s"Added service delegation rule "%(value)s"Added service delegation target "%(value)s"Added stage user "%(value)s"Added system permission "%(value)s"Added topology suffix "%(value)s"Added user "%(value)s"Added vault "%(value)s"Additional instructions:Address not valid, can't redirectAdministrative accountAdministrator e-mail addressAdvertised by serversAffiliation ChangedAgreements deletedAlgorithmAllAll attributes to which the permission appliesAll commands should at least have a resultAll target filters, including those implied by type and memberofAllowAllow ${other_entity} to create keytab of ${primary_key}Allow ${other_entity} to retrieve keytab of ${primary_key}Allow PTR syncAllow access from the trusted domainAllow adding external non-IPA members from trusted domainsAllow dynamic updates.Allow falling back to AD DC LDAP when resolving AD trusted objects. For two-way trusts only.Allow in-line DNSSEC signingAllow inline DNSSEC signing of records in the zoneAllow queryAllow synchronization of forward (A, AAAA) and reverse (PTR) recordsAllow synchronization of forward (A, AAAA) and reverse (PTR) records in the zoneAllow transferAllow use of IPA resources by the domain of the trustAllow users, groups, hosts or host groups to create a keytab of this host.Allow users, groups, hosts or host groups to create a keytab of this service.Allow users, groups, hosts or host groups to retrieve a keytab of this host.Allow users, groups, hosts or host groups to retrieve a keytab of this service.Allowed TargetAllowed to ImpersonateAllowed to create keytabAllowed to retrieve keytabAllows migration despite the usage of compat pluginAlready registeredAlternative UPN suffixesAltitudeAlways askAmbiguous search, user domain was not specifiedAn IPA master host cannot be deleted or disabledAn error has occurred (${error})An error occurred while fetching dns zones.An id range already exists for this trust. You should either delete the old range, or exclude --base-id/--range-size options from the command.An interval between regular polls of the name server for new DNS zonesAnchor '%(anchor)s' could not be resolved.Anchor to overrideAny CAAny CommandAny GroupAny HostAny ProfileAny ServiceAnyoneApplied to hostsApplies ID View to specified hosts or current members of specified hostgroups. If any other ID View is applied to the host, it is overridden.Applies ID View to specified hosts or current members of specified hostgroups. If any other ID View is applied to the host, it is overriden.ApplyApply ACI to your own entry (self)Apply ID View ${primary_key} on hosts of ${entity}Apply ID view ${primary_key} on ${entity}Apply to host groupsApply to hostsArbitrary string identifying the segmentArchive data into a vault.Archived data into vault "%(value)s"Are you sure you want to ${action} the user?
The change will take effect immediately.Are you sure you want to activate ${object}?Are you sure you want to activate selected users?Are you sure you want to add permission for DNS Zone ${object}?Are you sure you want to delete ${object}?Are you sure you want to delete selected entries?Are you sure you want to disable ${object}?Are you sure you want to disable selected entries?Are you sure you want to enable ${object}?Are you sure you want to enable selected entries?Are you sure you want to proceed with the action?Are you sure you want to rebuild auto membership?Are you sure you want to remove permission for DNS Zone ${object}?Are you sure you want to restore ${object}?Are you sure you want to restore selected users?Are you sure you want to stage ${object}?Are you sure you want to stage selected users?Are you sure you want to un-apply ID view from selected entries?Are you sure you want to unlock user ${object}?Are you sure you want to unprovision this host?Are you sure you want to unprovision this service?Arguments to details functionAs WhomAsks for a non-random password to use for the principalAssigned ID ViewAssigned manager of the token (default: self)Assigned user of the token (default: self)AsymmetricAt least the domain or IP address should be specifiedAttributeAttribute KeyAttribute breakdownAttribute to filter via regex. For example fqdn for a host, or manager for a userAttributesAttributes for total updateAttributes that are not replicated to a consumer server during a fractional update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberofAttributes that are not replicated to a consumer server during a total update. E.g. (objectclass=*) $ EXCLUDE accountlockoutAttributes to be ignored for group entries in DSAttributes to be ignored for user entries in DSAttributes to replicateAttributes to stripAttributes to which the delegation appliesAttributes to which the permission appliesAttributes to which the permission applies by defaultAttributes to which the permission applies.AuditAuthenticationAuthentication IndicatorsAuthentication indicatorAuthentication indicatorsAuthoritative nameserverAuthoritative nameserver changeAuthoritative nameserver domain nameAuthority IDAuto Membership RuleAuto Membership is not configuredAuto member rule: %s not found!AutogeneratedAutomatic update of DNS system records failed. Please re-run update of system records manually to get list of missing records.AutomemberAutomember RuleAutomember rebuild membership task completedAutomember rebuild membership task startedAutomountAutomount KeyAutomount KeysAutomount LocationAutomount Location SettingsAutomount LocationsAutomount MapAutomount MapsAutomount key name.Automount key object.Automount location name.Automount map name.Automount master file.AvailableBIND update policyBackBack to TopBad format in credentials cacheBad or unsupported salt type. Bad search filterBad search filter %(info)sBase DNBase DN on remote LDAP serverBase IDBase for certificate subjects (OU=Test,O=Example)Base-64 encoded certificate.Base-64 encoded host certificateBase-64 encoded server certificateBase-64 encoded service certificateBase-64 encoded user certificateBase64 decoding failed: %(reason)sBinary data to archiveBind DNBind failed: %s Bind password required when using a bind DN. Bind rule typeBrief description of this profileCACA '%s' is disabledCA ACLCA ACLsCA CompromiseCA categoryCA category cannot be set to 'all' while there are allowed CAsCA category the ACL applies toCA certificateCA is not configuredCAsCAs cannot be added when CA category='all'CERT AlgorithmCERT Certificate TypeCERT Certificate/CRLCERT Key TagCERT recordCIFS credentials objectCIFS server %(host)s denied your credentialsCIFS server communication error: code "%(num)s", message "%(message)s" (both may be "None")CIFS server denied your credentialsCLI metavarCLI nameCNAME HostnameCNAME recordCNAME record is not allowed to coexist with any other record (RFC 1034, section 3.6.2)CSRCSR Generation Profile to useCancelCannot create reverse record for "%(value)s": %(exc)sCannot decode file '%(filename)s': %(exc)sCannot establish LSA connection to %(host)s. Is CIFS server running?Cannot establish a trust to AD deployed in the same domain as IPA. Such setup is not supported.Cannot find specified domain or server nameCannot perform SID validation without Samba 4 support installed. Make sure you have installed server-trust-ad sub-package of IPA on the serverCannot perform external member validation without Samba 4 support installed. Make sure you have installed server-trust-ad sub-package of IPA on the serverCannot perform join operation without own domain configured. Make sure you have run ipa-adtrust-install on the IPA server firstCannot perform the selected command without Samba 4 instance configured on this machine. Make sure you have run ipa-adtrust-install on this server.Cannot perform the selected command without Samba 4 support installed. Make sure you have installed server-trust-ad sub-package of IPA.Cannot query Directory Manager with APICannot read file '%(filename)s': %(exc)sCannot resolve KDC for requested realmCannot retrieve trusted domain GC listCannot search in trusted domains without own domain configured. Make sure you have run ipa-adtrust-install on the IPA server firstCannot specify both SASL mechanism and bind DN simultaneously. Cannot specify server and LDAP uri simultaneously. Cannot store permission ACI to %sCannot use %(old_name)s with %(new_name)sCar LicenseCertificateCertificate Association DataCertificate AuthoritiesCertificate AuthorityCertificate DataCertificate For MatchCertificate HoldCertificate Hold RemovedCertificate Identity Mapping Global ConfigurationCertificate Identity Mapping RuleCertificate Identity Mapping Rule descriptionCertificate Identity Mapping Rule nameCertificate Identity Mapping RulesCertificate Identity Mapping configuration optionsCertificate Mapping MatchCertificate ProfileCertificate Profile to useCertificate ProfilesCertificate Profiles to addCertificate Profiles to removeCertificate RevokedCertificate Subject baseCertificate TypeCertificate UsageCertificate chainCertificate for ${entity} ${primary_key}Certificate format error: %(error)sCertificate in base64 or PEM formatCertificate mapping dataCertificate operation cannot be completed: %(error)sCertificate profiles cannot be renamedCertificate requestedCertificate subject base is: %s Certificate with serial number %(serial)s issued by CA '%(ca)s' not foundCertificate(s) stored in file '%(file)s'Certificate/CRLCertificatesCertificationRequestInfo structureCessation of OperationChange current Domain Level.Change passwordChange to POSIX groupChange to external groupChanged password for "%(value)s"Character classesCheck DNSCheck connection to remote IPA server.Check the status of a certificate signing request.Checking if record exists.Checks if any of the servers has the CA service enabled.Checks if any of the servers has the DNS service enabled.CityClassClearClear all fields on the page.Clears ID View from specified hosts or current members of specified hostgroups.Click to ${action}Client credentials may be delegated to the serviceClient is not configured. Run ipa-client-install.Client version. Used to determine if server will accept request.Clock intervalClock offsetCloseClosing keytab failed Collapse AllComma separated encryption types listComma-separated list of attributesComma-separated list of attributes to be ignored for group entries in DSComma-separated list of attributes to be ignored for user entries in DSComma-separated list of objectclasses to be ignored for group entries in DSComma-separated list of objectclasses to be ignored for user entries in DSComma-separated list of objectclasses used to search for group entries in DSComma-separated list of objectclasses used to search for user entries in DSComma-separated list of permissions to grant (read, write). Default is write.Comma-separated list of permissions to grant (read, write, add, delete, all)Comma-separated list of raw A recordsComma-separated list of raw A6 recordsComma-separated list of raw AAAA recordsComma-separated list of raw AFSDB recordsComma-separated list of raw APL recordsComma-separated list of raw CERT recordsComma-separated list of raw CNAME recordsComma-separated list of raw DHCID recordsComma-separated list of raw DLV recordsComma-separated list of raw DNAME recordsComma-separated list of raw DNSKEY recordsComma-separated list of raw DS recordsComma-separated list of raw HIP recordsComma-separated list of raw IPSECKEY recordsComma-separated list of raw KEY recordsComma-separated list of raw KX recordsComma-separated list of raw LOC recordsComma-separated list of raw MX recordsComma-separated list of raw NAPTR recordsComma-separated list of raw NS recordsComma-separated list of raw NSEC recordsComma-separated list of raw NSEC3 recordsComma-separated list of raw NSEC3PARAM recordsComma-separated list of raw PTR recordsComma-separated list of raw RP recordsComma-separated list of raw RRSIG recordsComma-separated list of raw SIG recordsComma-separated list of raw SPF recordsComma-separated list of raw SRV recordsComma-separated list of raw SSHFP recordsComma-separated list of raw TA recordsComma-separated list of raw TKEY recordsComma-separated list of raw TSIG recordsComma-separated list of raw TXT recordsCommand '%(name)s' has been deprecatedCommand categoryCommand category the rule applies toCommand nameCommand not implementedCommandsCommon NameConditions that could not be addedConditions that could not be removedConfigurationConfiguration stringConfigure your tokenConfigure your token by scanning the QR code below. Click on the QR code if you see this on the device you want to configure.Configured administrative server limit exceededConfigured size limit exceededConfigured time limit exceededConfirm (password)ConfirmationConnectivityConsecutive failures before lockoutConsume an entitlement.Contact SettingsContact this specific KDC ServerContent of 'standard' vaults can be seen by users with higher privileges (admins).ContinueContinuous mode: Don't stop on errors.Continuous operation mode. Errors are reported but the process continuesContinuous operation mode. Errors are reported but the process continues.Convert on serverCould not get %(name)s interactivelyCould not read UPG Definition originfilter. Check your permissions.CounterCounter-based (HOTP)Create Stage user in from a delete userCreate a CA.Create a new CA ACL.Create a new Certificate Identity Mapping Rule.Create a new HBAC rule.Create a new SELinux User Map.Create a new automount key.Create a new automount location.Create a new automount map.Create a new group.Create a new indirect mount point.Create a new service delegation rule.Create a new service delegation target.Create a new vault.Create as a non-POSIX groupCreate dns recordCreate new ACI.Create new DNS forward zone.Create new DNS zone (SOA record).Create new Sudo Command Group.Create new Sudo Command.Create new Sudo Rule.Create reverseCreate reverse record for this IP AddressCreated ACI "%(value)s"Created CA "%(value)s"Creating record.CredentialsCredentials cache permissions incorrectCross-realm trusts are not configured. Make sure you have run ipa-adtrust-install on the IPA server firstCurrent DNS record contents: Current PasswordCurrent domain level:Current password is requiredCustom valueCustomizationDER-encoded SubjectPublicKeyInfo structureDHCID recordDLV AlgorithmDLV DigestDLV Digest TypeDLV Key TagDLV recordDN commonName does not match user's loginDN emailAddress does not match any of user's email addressesDN of container for groups in DS relative to base DNDN of container for users in DS relative to base DNDN of the started taskDN to bind as if not using kerberosDNAME TargetDNAME recordDNSDNS Forward ZoneDNS Forward ZonesDNS Global ConfigurationDNS RR type "%s" is not supported by bind-dyndb-ldap pluginDNS Resource RecordDNS Resource RecordsDNS ServerDNS Server nameDNS ServersDNS ZoneDNS Zone SettingsDNS ZonesDNS check failed: Expected {%(expected)s} got {%(got)s}DNS classDNS configuration optionsDNS forward zoneDNS forward zonesDNS forwarderDNS forwarder semantics changed since IPA 4.0. You may want to use forward zones (dnsforwardzone-*) instead. For more details read the docs.DNS is not configuredDNS label cannot be longer than 63 charactersDNS label cannot be longer that 63 charactersDNS record was deleted because it contained no data.DNS record(s) of host %(host)s could not be removed. (%(reason)s)DNS records can be only updated one at a timeDNS resource recordDNS resource record typeDNS resource recordsDNS reverse zone %(revzone)s for IP address %(addr)s is not managed by this serverDNS serverDNS server %(server)s does not support DNSSEC: %(error)s. If DNSSEC validation is enabled on IPA server(s), please disable it.DNS server %(server)s does not support EDNS0 (RFC 6891): %(error)s. If DNSSEC validation is enabled on IPA server(s), please disable it.DNS server %(server)s: %(error)s.DNS serversDNS zoneDNS zone %(zone)s not foundDNS zone for each realmdomain must contain SOA or NS records. No records found for: %sDNS zone root record cannot be renamedDNS zonesDNSKEY recordDNSSEC support is experimental. %(additional_info)sDNSSEC validation failed: %(error)s. Please verify your DNSSEC configuration or disable DNSSEC validation on all IPA servers.DS AlgorithmDS DigestDS Digest TypeDS Key TagDS recordDS record must not be in zone apex (RFC 4035 section 2.4)DS record requires to coexist with an NS record (RFC 4592 section 4.6, RFC 4035 section 2.4)DataDebugging outputDefaultDefault (fallback) GroupDefault (fallback) group for entries to landDefault PAC typesDefault SELinux userDefault SELinux user when no match is found in SELinux map ruleDefault Trust View cannot be applied on hostsDefault Trust View cannot contain IPA usersDefault attributesDefault e-mail domainDefault fromDefault group for entries to landDefault group for new usersDefault group for new users is not POSIXDefault group for new users not foundDefault group objectclassesDefault group objectclasses (comma-separated list)Default host groupDefault location of home directoriesDefault shellDefault shell for new usersDefault ticket policy could not be readDefault time to liveDefault types of PAC supported for servicesDefault types of supported user authenticationDefault user authentication typesDefault user groupDefault user objectclassesDefault user objectclasses (comma-separated list)Default users groupDefines a whitelist for Authentication Indicators. Use 'otp' to allow OTP-based 2FA authentications. Use 'radius' to allow RADIUS-based 2FA authentications. Other values may be used for custom configurations.Degrees LatitudeDegrees LongitudeDelegationDelegation nameDelegationsDeleteDelete %(name)s '%(value)s'?Delete ACI.Delete DNS forward zone.Delete DNS record entry.Delete DNS resource record.Delete DNS zone (SOA record).Delete IPA server.Delete Key, UnprovisionDelete ServerDelete Sudo Command Group.Delete Sudo Command.Delete Sudo Rule.Delete a CA ACL.Delete a CA.Delete a Certificate Identity Mapping Rule.Delete a Certificate Profile.Delete a DNS serverDelete a RADIUS proxy server.Delete a SELinux User Map.Delete a delegation.Delete a group password policy.Delete a host.Delete a hostgroup.Delete a netgroup.Delete a permission.Delete a privilege.Delete a role.Delete a segment.Delete a self-service permission.Delete a stage user.Delete a topology suffix.Delete a trust.Delete a userDelete a user, keeping the entry available for future useDelete a user.Delete a vault container.Delete a vault.Delete all associated recordsDelete all?Delete an Group ID override.Delete an HBAC rule.Delete an HBAC service group.Delete an ID View.Delete an ID override.Delete an ID range.Delete an IPA location.Delete an IPA service.Delete an OTP token.Delete an User ID override.Delete an attribute/value pair. The option will be evaluated last, after all sets and adds.Delete an automember rule.Delete an automount key.Delete an automount location.Delete an automount map.Delete an existing HBAC service.Delete domainDelete group.Delete modeDelete service delegation target.Delete service delegation.Deleted ACI "%(value)s"Deleted CA "%(value)s"Deleted CA ACL "%(value)s"Deleted Certificate Identity Mapping Rule "%(value)s"Deleted DNS forward zone "%(value)s"Deleted DNS server "%(value)s"Deleted DNS zone "%(value)s"Deleted Group ID override "%(value)s"Deleted HBAC rule "%(value)s"Deleted HBAC service "%(value)s"Deleted HBAC service group "%(value)s"Deleted ID View "%(value)s"Deleted ID override "%(value)s"Deleted ID range "%(value)s"Deleted IPA location "%(value)s"Deleted IPA server "%(value)s"Deleted OTP token "%(value)s"Deleted RADIUS proxy server "%(value)s"Deleted SELinux User Map "%(value)s"Deleted Sudo Command "%(value)s"Deleted Sudo Command Group "%(value)s"Deleted Sudo Rule "%(value)s"Deleted User ID override "%(value)s"Deleted automember rule "%(value)s"Deleted automount key "%(value)s"Deleted automount location "%(value)s"Deleted automount map "%(value)s"Deleted delegation "%(value)s"Deleted group "%(value)s"Deleted host "%(value)s"Deleted hostgroup "%(value)s"Deleted netgroup "%(value)s"Deleted permission "%(value)s"Deleted privilege "%(value)s"Deleted profile "%(value)s"Deleted record "%(value)s"Deleted role "%(value)s"Deleted segment "%(value)s"Deleted selfservice "%(value)s"Deleted service "%(value)s"Deleted service delegation "%(value)s"Deleted service delegation target "%(value)s"Deleted stage user "%(value)s"Deleted topology suffix "%(value)s"Deleted trust "%(value)s"Deleted user "%(value)s"Deleted vault "%(value)s"Deleted vault containerDeleting a managed group is not allowed. It must be detached first.Deleting a server removes it permanently from the topology. Note that this is a non-reversible action.Deleting this server is not allowed as it would leave your installation without a CA.Deleting this server is not allowed as it would leave your installation without a KRA.Deleting this server will leave your installation without a DNS.DenyDepartment NumberDeprecated optionsDeprecated; use %sDeprecated; use extratargetfilterDeprecated; use ipapermlocationDeprecated; use ipapermrightDescribe currently authenticated identity.DescriptionDescription of the purpose of the CADetach a managed group from a user.Detached group "%(value)s" from user "%(value)s"DetectDetermine whether Schema Compatibility plugin is configured to serve trusted domain users and groupsDetermine whether ipa-adtrust-install has been run on this systemDetermine whether ipa-adtrust-install has been run with sidgen taskDict of I18N messagesDict of JSON encoded IPA CommandsDict of JSON encoded IPA MethodsDict of JSON encoded IPA ObjectsDictionary mapping plugin names to basesDictionary mapping variable name to valueDigestDigest TypeDigitsDirectDirect MembershipDirection LatitudeDirection LongitudeDirection of replication between left and right replication nodeDisableDisable DNS Forward Zone.Disable DNS Zone.Disable a CA ACL.Disable a CA.Disable a Certificate Identity Mapping Rule.Disable a Sudo Rule.Disable a user account.Disable an HBAC rule.Disable an SELinux User Map rule.Disable per-user overrideDisable the Kerberos key and SSL certificate of a service.Disable the Kerberos key, SSL certificate and all services of a host.Disable tokenDisable use of IPA resources by the domain of the trustDisabledDisabled CA "%(value)s"Disabled CA ACL "%(value)s"Disabled Certificate Identity Mapping Rule "%(value)s"Disabled DNS forward zone "%(value)s"Disabled DNS zone "%(value)s"Disabled HBAC rule "%(value)s"Disabled SELinux User Map "%(value)s"Disabled Sudo Rule "%s"Disabled domain '%(domain)s' is not allowedDisabled host "%(value)s"Disabled service "%(value)s"Disabled trust domain "%(value)s"Disabled user account "%(value)s"Disallow ${other_entity} to create keytab of ${primary_key}Disallow ${other_entity} to retrieve keytab of ${primary_key}Disallow users, groups, hosts or host groups to create a keytab of this host.Disallow users, groups, hosts or host groups to create a keytab of this service.Disallow users, groups, hosts or host groups to retrieve a keytab of this host.Disallow users, groups, hosts or host groups to retrieve a keytab of this service.Display DNS resource.Display Sudo Command Group.Display Sudo Command.Display Sudo Rule.Display a segment.Display a single ACI given an ACI name.Display an automount key.Display an automount location.Display an automount map.Display configuration of a DNS server.Display current entitlements.Display effective policy for a specific userDisplay information about a Certificate Identity Mapping Rule.Display information about a DNS forward zone.Display information about a DNS zone (SOA record).Display information about a RADIUS proxy server.Display information about a class.Display information about a command output.Display information about a command parameter.Display information about a command.Display information about a delegation.Display information about a help topic.Display information about a host.Display information about a hostgroup.Display information about a named group.Display information about a named service delegation rule.Display information about a named service delegation target.Display information about a netgroup.Display information about a permission.Display information about a privilege.Display information about a range.Display information about a role.Display information about a self-service permission.Display information about a stage user.Display information about a trust.Display information about a user.Display information about a vault container.Display information about a vault.Display information about an Group ID override.Display information about an HBAC service group.Display information about an HBAC service.Display information about an ID View.Display information about an ID override.Display information about an IPA location.Display information about an IPA service.Display information about an OTP token.Display information about an User ID override.Display information about an automember rule.Display information about password policy.Display information about the default (fallback) automember groups.Display nameDisplay the access rights of this entry (requires --all). See ipa man page for details.Display the current Kerberos ticket policy.Display the list of realm domains.Display the properties of a CA ACL.Display the properties of a CA.Display the properties of a Certificate Profile.Display the properties of a SELinux User Map rule.Display the properties of an HBAC rule.Display user record for current Kerberos principalDo not display QR codeDo not update records only return expected recordsDo you also want to perform DNS check?Do you want to check if new authoritative nameserver address is in DNSDo you want to remove certificate mapping data ${data}?Do you want to remove kerberos alias ${alias}?Do you want to remove the certificate hold?Do you want to revoke this certificate? Select a reason from the pull-down list.Do you want to update system DNS records?DocumentationDogtag Authority IDDomainDomain '%(domain)s' is not a root domain for forest '%(forest)s'Domain GUIDDomain LevelDomain Level cannot be lowered.Domain Level cannot be raised to {0}, existing replication conflicts have to be resolved.Domain Level cannot be raised to {0}, server {1} does not support it.Domain NetBIOS nameDomain SIDDomain SID of the trusted domainDomain Security IdentifierDomain controller for the Active Directory domain (optional)Domain enabledDomain nameDomain resolution orderDomain where the user entry will be searchedDon't create user private groupDon't wait for rebuilding membershipDownloadDownload certificate as PEM formatted file.Dry runDuplicate keys skipped:Duplicate maps skipped:Dynamic updateEditEdit ${entity}Effective attributesEmail addressEmployee InformationEmployee NumberEmployee TypeEmpty domain is not allowedEnableEnable DNS Forward Zone.Enable DNS Zone.Enable a CA ACL.Enable a CA.Enable a Certificate Identity Mapping Rule.Enable a Sudo Rule.Enable a user account.Enable an HBAC rule.Enable an SELinux User Map rule.Enable migration modeEnable or Disable Anonymous PKINIT.Enable tokenEnabledEnabled CA "%(value)s"Enabled CA ACL "%(value)s"Enabled Certificate Identity Mapping Rule "%(value)s"Enabled DNS forward zone "%(value)s"Enabled DNS zone "%(value)s"Enabled HBAC rule "%(value)s"Enabled SELinux User Map "%(value)s"Enabled Sudo Rule "%s"Enabled server rolesEnabled trust domain "%(value)s"Enabled user account "%(value)s"Encryption types to requestEnctype comparison failed! EnrolledEnrollmentEnrollment UUIDEnrollment UUID (not implemented)Enrollment failed. %s Enter %(label)s again to verify: Enter trusted group name.Enter trusted or IPA group name. Note: search doesn't list groups from trusted domains.Enter trusted or IPA user login. Note: search doesn't list users from trusted domains.Enter trusted user login.EntryEntry %s does not existEntry %s not foundEntry RDN is not 'uid'Entry has no '%(attribute)s'Enumerate all the hosts the view applies to.ErrorError changing account statusError getting default Kerberos realm: %s. Error obtaining initial credentials: %s. Error parsing "%1$s": %2$s. Error resolving keytab: %s. Error storing creds in credential cache: %s. Establish bi-directional trust. By default trust is inbound one-way only.Establish external trust to a domain in another forest. The trust is not transitive beyond the domain.Establish usingEstablished and verifiedExceeded number of tries to forward a request.ExchangerExclude fromExcluded attributesExclusiveExclusive RegexExpand AllExpires OnExport plugin meta-data for the webUI.ExpressionExternalExternal Group the commands can run as (sudorule-find only)External Groups of RunAs UsersExternal Groups of users that the command can run asExternal UserExternal User the commands can run as (sudorule-find only)External User the rule applies to (sudorule-find only)External hostExternal memberExternal trustExtra hashes to generate in password plug-inExtra target filterFailed CAsFailed RunAsFailed RunAsGroupFailed allowed to create keytabFailed allowed to retrieve keytabFailed hosts/hostgroupsFailed loginsFailed managedbyFailed membersFailed ownersFailed profilesFailed service/service groupsFailed source hosts/hostgroupsFailed targetsFailed to addFailed to add key to the keytab Failed to add user to the default group. Use 'ipa group-add-member' to add manually.Failed to authenticate to CA REST APIFailed to bind to server! Failed to clean memberPrincipal %(principal)s from s4u2proxy entry %(dn)s: %(err)sFailed to clean up Custodia keys for %(master)s: %(err)sFailed to clean up DNA hostname entries for %(master)s: %(err)sFailed to cleanup %(hostname)s DNS entries: %(err)sFailed to cleanup server principals/keys: %(err)sFailed to close the keytab Failed to connect to sssd over SystemBus. See details in the error_logFailed to create control! Failed to create key material Failed to create key! Failed to create random key! Failed to decode control reply! Failed to find users over SystemBus. See details in the error_logFailed to get keytab Failed to get keytab! Failed to get result: %s Failed to open Keytab Failed to open config file %s Failed to open keytab Failed to open keytab '%1$s': %2$s Failed to parse config file %s Failed to parse extended result: %s Failed to parse result: %s Failed to removeFailed to remove server %(master)s from server list: %(err)sFailed to retrieve any keysFailed to retrieve encryption type %1$s (#%2$d) Failed to retrieve encryption type type #%d Failed users/groupsFailure decoding Certificate Signing Request: %sFailure reset intervalFallback primary groupFallback to AD DC LDAPFalseFalse if migration fails because the compatibility plug-in is enabled.False if migration mode was disabled.Fax NumberFetch domainsFetching DNS zones.Fetching domains from trusted forest failed. See details in the error_logFile %(file)s not foundFile containing a password for the private key or databaseFile containing data to archiveFile containing profile configurationFile containing the new vault passwordFile containing the new vault public keyFile containing the old vault passwordFile containing the old vault private keyFile containing the vault passwordFile containing the vault private keyFile containing the vault public keyFile to load the certificate fromFile to load the certificate from.File to store retrieved dataFile to store the certificate in.File were to store the keytab informationFilename is emptyFilename of a raw profile. The XML format is not supported.FilterFilter available ${other_entity}FindFind a server role on a server(s)FingerprintFingerprint (SHA1)Fingerprint (SHA256)Fingerprint TypeFingerprint of schema cached by clientFingerprintsFirstFirst CodeFirst OTPFirst Posix ID of the rangeFirst Posix ID of the range reserved for the trusted domainFirst RID of the corresponding RID rangeFirst RID of the secondary RID rangeFirst date/time the token can be usedFirst nameFlagsFollowing segments were not deleted:ForceForce DNS zone creation even if it will overlap with an existing zone.Force DNS zone creation even if nameserver is not resolvable.Force DNS zone creation even if nameserver is not resolvable. (Deprecated)Force UpdateForce adding domain even if not in DNSForce nameserver change even if nameserver not in DNSForce server removalForce server removal even if it does not existForce the host join. Rejoin even if already joined.Forcing removal of %(hostname)sForest '%(forest)s' has existing trust to forest(s) %(domains)s which prevents a trust to '%(conflict)s'Format errorForward firstForward onlyForward policyForward policy is defined for it in IPA DNS, perhaps forwarder points to incorrect host?Forward to server instead of running locallyForward zones onlyForwardersForwarding disabledForwarding policy conflicts with some automatic empty zones. Queries for zones specified by RFC 6303 will ignore forwarding and recursion and always result in NXDOMAIN answers. To override this behavior use forward policy 'only'.Found '%(value)s'Full nameFully Qualified Host NameFunction to get detailsGECOSGECOS fieldGIDGID (use this option to set it manually)GSSAPI|EXTERNALGather data for a certificate signing request.GeneralGenerate OTPGenerate a random password to be used in bulk enrollmentGenerate a random user passwordGenerate automount files for a specific location.Generated CSR was emptyGenerated OTPGeneration rule "%(rulename)s" is missing the "rule" keyGetGet CertificateGlobal DNS configuration is emptyGlobal Trust ConfigurationGlobal forwardersGlobal forwarders. A custom port can be specified for each forwarder using a standard format "IP_ADDRESS port PORT"Global forwarding policy. Set to "none" to disable any configured global forwarders.Granted rightsGranted to PrivilegeGranting privilege to rolesGroupGroup '%s' does not existGroup ID NumberGroup ID overrideGroup ID overridesGroup OptionsGroup SettingsGroup TypeGroup categoriesGroup containerGroup descriptionGroup nameGroup object classGroup object overridesGroup search fieldsGroup to apply ACI toGroup to overrideGrouping TypeGrouping to which the rule appliesGroupsGroups allowed to create keytabGroups allowed to retrieve keytabGroups of RunAs UsersHBAC RuleHBAC Rule that defines the users, groups and hostgroupsHBAC RulesHBAC ServiceHBAC Service GroupHBAC Service GroupsHBAC ServicesHBAC TestHBAC ruleHBAC rule %(rule)s not foundHBAC rule and local members cannot both be setHBAC rulesHBAC serviceHBAC service descriptionHBAC service groupHBAC service group descriptionHBAC service groupsHBAC service groups to addHBAC service groups to removeHBAC servicesHBAC services to addHBAC services to removeHIP recordHOTP Authentication WindowHOTP Synchronization WindowHOTP authentication skip-aheadHOTP synchronization skip-aheadHTTP ErrorHardware MAC address(es) on this hostHardware platform of the host (e.g. Lenovo T61)Hello worldHelp topicHideHide detailsHide details which rules are matched, not matched, or invalidHistory sizeHome directoryHome directory baseHorizontal PrecisionHostHost '%(host)s' not foundHost '%(hostname)s' does not have corresponding DNS A/AAAA recordHost '%(hostname)s' is not an active KDCHost CertificateHost GroupHost Group SettingsHost GroupsHost Groups allowed to create keytabHost Groups allowed to retrieve keytabHost MasksHost NameHost SettingsHost categoryHost category (semantics placed on this attribute are for local interpretation)Host category the ACL applies toHost category the rule applies toHost group ruleHost group rulesHost hardware platform (e.g. "Lenovo T61")Host is already joined. Host is not supportedHost locality (e.g. "Baltimore, MD")Host location (e.g. "Lab 2")Host nameHost operating system and version (e.g. "Fedora 9")Host unprovisionedHost-Based Access ControlHost-based access control commandsHost-groupHostgroups to whose hosts apply the ID View to. Please note that view is not applied automatically to any hosts added to the hostgroup after running the idview-apply command.Hostgroups whose hosts should have ID Views cleared. Note that view is not cleared automatically from any host added to the hostgroup after running idview-unapply command.HostnameHostname (FQDN)Hostname of this serverHostsHosts allowed to create keytabHosts allowed to retrieve keytabHosts or hostgroups that ID View could not be cleared from.Hosts or hostgroups that this ID View could not be applied to.Hosts that ID View was cleared from.Hosts that this ID View was applied to.Hosts the view applies toHosts to apply the ID View toHosts to clear (any) ID View from.How long should negative responses be cachedID RangeID RangesID ViewID View NameID View already appliedID View applied to %i host.ID View applied to %i hosts.ID View cleared from %i host.ID View cleared from %i hosts.ID ViewsID overrideID overrides cannot be renamedID range for the trusted domain already exists, but it has a different type. Please remove the old range manually, or do not enforce type via --range-type option.ID range type, one of ipa-ad-trust-posix, ipa-ad-trust, ipa-localID range type, one of {vals}ID range with the same name but different domain SID already exists. The ID range for the new trusted domain must be created manually.IP AddressIP address %(ip)s is already assigned in domain %(domain)s.IP network to create reverse zone name fromIPA AD trust agentsIPA AD trust controllersIPA CA cannot be deletedIPA CA cannot be disabledIPA CA certificateIPA CA renewal masterIPA CA serversIPA DNS Server is not installedIPA DNS recordsIPA DNS serversIPA DNS versionIPA DNSSec key masterIPA ErrorIPA KRA serversIPA LocationIPA Location descriptionIPA LocationsIPA NTP serversIPA Range type must be one of ipa-ad-trust or ipa-ad-trust-posix when SID of the trusted domain is specifiedIPA Range type must not be one of ipa-ad-trust or ipa-ad-trust-posix when SID of the trusted domain is not specified.IPA ServerIPA Server RoleIPA Server RolesIPA Server to useIPA ServersIPA does not manage the zone %(zone)s, please add records to your DNS server manuallyIPA location nameIPA location recordsIPA manages DNS, please verify your DNS configuration and make sure that service records of the '{domain}' domain can be resolved. Examples how to configure DNS with CLI commands or the Web UI can be found in the documentation. IPA master capable of PKINITIPA master denied trust validation requests from AD DC %(count)d times. Most likely AD DC contacted a replica that has no trust information replicated yet. Additionally, please check that AD DNS is able to resolve %(records)s SRV records to the correct IPA server.IPA master which can process PKINIT requestsIPA mastersIPA namingContext not found IPA objectIPA role nameIPA server configured as DNSSec key masterIPA server domain cannot be deletedIPA server domain cannot be omittedIPA server hostnameIPA server role nameIPA servers configured as AD trust agentsIPA servers configured as AD trust controllersIPA servers configured as certificate authorityIPA servers configured as key recovery agentsIPA servers with enabled NTPIPA trustIPA unique IDIPSECKEY recordIdentityIdentity SettingsIf no CAs are specified, requests to the default CA are allowed.If the problem persists please contact the system administrator.Ignore check for last remaining CA or DNS serverIgnore compat pluginIgnore group attributeIgnore group object classIgnore topology connectivity problems after removalIgnore topology errorsIgnore user attributeIgnore user object classIgnored %(src)s to %(dst)sIgnored keys:Ignoring these warnings and proceeding with removalIgnoring topology connectivity errors.Import a Certificate Profile.Import an entitlement certificate.Import automount files for a specific location.Imported keys:Imported maps:Imported profile "%(value)s"Include DisabledInclude EnabledInclude all disabled IPA rules into testInclude all enabled IPA rules into test [default]Include certificate chain in outputInclude inIncluded attributesInclusiveInclusive RegexIncompatible options provided (-r and -P) IndirectIndirect Member HBAC serviceIndirect Member HBAC service groupIndirect Member groupsIndirect Member host-groupsIndirect Member hostsIndirect Member netgroupsIndirect Member of HBAC ruleIndirect Member of Sudo ruleIndirect Member of groupIndirect Member of host-groupIndirect Member of netgroupIndirect Member of roleIndirect Member of rolesIndirect Member permissionsIndirect Member usersIndirect MembershipInherited from server configurationInitial counter for the HOTP tokenInitialize left nodeInitialize right nodeInitialsInput data specified multiple timesInput fileInput filenameInput form contains invalid or missing values.Insufficient 'add' privilege for entry '%s'.Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry '%s'.Insufficient 'write' privilege to the 'userCertificate' attribute of entry '%s'.Insufficient access: %(info)sInsufficient privilege to create a certificate with subject alt name '%s'.Insufficient privilege to delete a CA.Insufficient privilege to modify a CA.Insufficient privilege to modify a certificate profile.Internal ErrorInvalid JSON-RPC request: %(error)sInvalid LDAP URI.Invalid MCS value, must match c[0-1023].c[0-1023] and/or c[0-1023]-c[0-c0123]Invalid MLS value, must match s[0-15](-s[0-15])Invalid SASL bind mechanism Invalid Service Principal Name Invalid credentialsInvalid domain name '%(domain)s': %(e)sInvalid format. Should be name=valueInvalid number of parts!Invalid or unsupported type. Allowed values are: %sInvalid or unsupported vault public key: %sInvalid vault typeIs zone active?IssueIssue New CertificateIssue New Certificate for ${entity} ${primary_key}Issued ByIssued OnIssued ToIssued on fromIssued on from this date (YYYY-mm-dd)Issued on toIssued on to this date (YYYY-mm-dd)IssuerIssuer DNIssuer Distinguished NameIssuer and subjectIssuer of the certificateIssuing CAIt is strongly recommended to keep the following services installed on more than one server:It is used only for setting the SOA MNAME attribute.Job TitleJoin an IPA domainKEY AlgorithmKEY FlagsKEY ProtocolKEY Public KeyKEY recordKRA service is not enabledKX ExchangerKX PreferenceKX recordKerberos Credential Cache not found. Do you have a Kerberos Ticket? Kerberos KeyKerberos Key Not PresentKerberos Key Present, Host ProvisionedKerberos Key Present, Service ProvisionedKerberos Service Principal NameKerberos Ticket PolicyKerberos User Principal not found. Do you have a valid Credential Cache? Kerberos context initialization failed Kerberos context initialization failed: %1$s (%2$d) Kerberos error: %(major)s/%(minor)sKerberos keys availableKerberos principalKerberos principal %s already exists. Use 'ipa user-mod' to set it manually.Kerberos principal expirationKerberos principal name for this hostKeyKey CompromiseKey TagKeytabKeytab File NameKeytab successfully retrieved and stored in: %s LDAP DNLDAP SASL bind mechanism if no bindd/bindpwLDAP URILDAP URI of DS server to migrate fromLDAP basednLDAP passwordLDAP password (if not using Kerberos)LDAP schemaLDAP search scope for users and groups: base, onelevel, or subtree. Defaults to onelevelLDAP suffix to be managedLDAP timeoutLDAP uri to connect to. Mutually exclusive with --serverLOC AltitudeLOC Degrees LatitudeLOC Degrees LongitudeLOC Direction LatitudeLOC Direction LongitudeLOC Horizontal PrecisionLOC Minutes LatitudeLOC Minutes LongitudeLOC Seconds LatitudeLOC Seconds LongitudeLOC SizeLOC Vertical PrecisionLOC recordLabelLabelsLastLast date/time the token can be usedLast failed authenticationLast nameLast successful authenticationLeading and trailing spaces are not allowedLeft nodeLeft replication node - an IPA serverLegal LDAP filter (e.g. ou=Engineering)Length of TOTP token code validityLevelList all service vaultsList all user vaultsList of IPA masters configured as DNS serversList of all IPA mastersList of deletions that failedList of enabled rolesList of servers which advertise the given locationList of trust domains successfully refreshed. Use trustdomain-find command to list them.Lists of objects migrated; categorized by type.Lists of objects that could not be migrated; categorized by type.Load CA certificate of LDAP server from FILELoading dataLocal domainLocalityLocationLocation nameLocation of the ACILockout durationLogged In AsLoginLogin shellLogoutLogout errorLower number means higher priority. Clients will attempt to contact the URI with the lowest-numbered priority they can reach.Lower number means higher priority. Clients will attempt to contact the server with the lowest-numbered priority they can reach.MAC addressMS-PACMX ExchangerMX PreferenceMX recordMailing AddressMalformed DNMalformed principalMalformed principal: '%(value)s'Manage password policy for specific groupManage ticket policy for specific userManaged LDAP suffix DNManaged byManaged suffixManaged suffixesManaged topology requires minimal domain level ${domainlevel}Managedby permissionManagerManagingMapMap TypeMapping ruleMapping ruleset "%(ruleset)s" has more than one rule for the %(helper)s helperMark the token as disabled (default: false)Master fileMatchMatch users according to certificate.MatchedMatched UsersMatched rulesMatching TypeMatching ruleMax domain levelMax failuresMax lifeMax lifetime (days)Max renewMaximum amount of time (seconds) for a search (-1 or 0 is unlimited)Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)Maximum domain levelMaximum number of agreements per replicaMaximum number of certs returnedMaximum number of entries returnedMaximum number of entries returned (0 is unlimited)Maximum number of records to search (-1 is unlimited)Maximum number of records to search (-1 or 0 is unlimited)Maximum number of rules to process when no --rules is specifiedMaximum password life must be greater than minimum.Maximum password lifetime (in days)Maximum renewable age (seconds)Maximum serial numberMaximum ticket life (seconds)Maximum username lengthMaximum value is ${value}May not be emptyMember GroupMember HBAC serviceMember HBAC service groupsMember HostMember HostgroupMember Sudo commandsMember UserMember groupsMember host-groupsMember hostsMember netgroupsMember ofMember of HBAC ruleMember of HBAC service groupsMember of Sudo ruleMember of a groupMember of groupMember of groupsMember of host-groupsMember of netgroupsMember principalsMember service groupsMember servicesMember user groupMember usersMembersMembers of a trusted domain in DOM\name or name@domain formMembers that could not be addedMembers that could not be removedMethod nameMethod ofMigrate users and groups from DS to IPA.Migration mode is disabled. Use 'ipa config-mod --enable-migration=TRUE' to enable it.Migration of LDAP search reference is not supported.Min domain levelMin lengthMin lifetime (hours)Minimum domain levelMinimum length of passwordMinimum number of character classesMinimum password lifetime (in hours)Minimum serial numberMinimum value is ${value}Minutes LatitudeMinutes LongitudeMisc. InformationMissing credentials for cross-forest communicationMissing new vault public keyMissing or invalid HTTP Referer, %(referer)sMissing reply control list! Missing reply control! Missing values: Missing vault private keyMissing vault public keyMobile Telephone NumberModelModifiedModified "%(value)s" trust configurationModified ACI "%(value)s"Modified CA "%(value)s"Modified CA ACL "%(value)s"Modified Certificate Identity Mapping Rule "%(value)s"Modified Certificate Profile "%(value)s"Modified DNS server "%(value)s"Modified HBAC rule "%(value)s"Modified HBAC service "%(value)s"Modified HBAC service group "%(value)s"Modified ID range "%(value)s"Modified IPA location "%(value)s"Modified IPA server "%(value)s"Modified OTP token "%(value)s"Modified RADIUS proxy server "%(value)s"Modified SELinux User Map "%(value)s"Modified Sudo Command "%(value)s"Modified Sudo Command Group "%(value)s"Modified Sudo Rule "%(value)s"Modified an Group ID override "%(value)s"Modified an ID View "%(value)s"Modified an ID override "%(value)s"Modified an User ID override "%(value)s"Modified automember rule "%(value)s"Modified automount key "%(value)s"Modified automount map "%(value)s"Modified delegation "%(value)s"Modified group "%(value)s"Modified host "%(value)s"Modified hostgroup "%(value)s"Modified netgroup "%(value)s"Modified permission "%(value)s"Modified privilege "%(value)s"Modified role "%(value)s"Modified segment "%(value)s"Modified selfservice "%(value)s"Modified service "%(value)s"Modified stage user "%(value)s"Modified topology suffix "%(value)s"Modified trust "%(value)s" (change will be effective in 60 seconds)Modified user "%(value)s"Modified vault "%(value)s"Modified: key not setModify %(name)s '%(value)s'?Modify ACI.Modify CA configuration.Modify Certificate Identity Mapping configuration.Modify Certificate Profile configuration.Modify DNS forward zone.Modify DNS server configurationModify DNS zone (SOA record).Modify ID range.Modify ID range. {0} Modify Kerberos ticket policy.Modify OTP configuration options.Modify Sudo Command Group.Modify Sudo Command.Modify Sudo Rule.Modify a CA ACL.Modify a Certificate Identity Mapping Rule.Modify a DNS resource record.Modify a OTP token.Modify a RADIUS proxy server.Modify a SELinux User Map.Modify a delegation.Modify a group password policy.Modify a group.Modify a hostgroup.Modify a netgroup.Modify a permission.Modify a privilege.Modify a role.Modify a segment.Modify a self-service permission.Modify a stage user.Modify a topology suffix.Modify a user.Modify a vault.Modify an Group ID override.Modify an HBAC rule.Modify an HBAC service group.Modify an HBAC service.Modify an ID View.Modify an ID override.Modify an User ID override.Modify an automember rule.Modify an automount key.Modify an automount map.Modify an existing IPA service.Modify configuration options.Modify global DNS configuration.Modify global trust configuration.Modify information about a host.Modify information about an IPA location.Modify information about an IPA server.Modify realm domains.Modify trustdomain of the trustMore than one entry with key %(key)s found, use --info to select specific entry.Mount informationMount pointMove deleted user into staged areaMulti-valueMust be a decimal numberMust be a positive numberMust be an UTC date/time value (e.g., "2014-01-20 17:58:01Z")Must be an integerMy User VaultsNAPTR FlagsNAPTR OrderNAPTR PreferenceNAPTR Regular ExpressionNAPTR ReplacementNAPTR ServiceNAPTR recordNIS domain nameNONE value cannot be combined with other PAC typesNS HostnameNS recordNS record is not allowed to coexist with an %(type)s record except when located in a zone root record (RFC 2181, section 6.1)NS record(s) can be edited in zone apex - '@'. NSEC Next Domain NameNSEC Type MapNSEC recordNSEC3 recordNSEC3PARAM recordNSEC3PARAM record for zone in format: hash_algorithm flags iterations saltNameName for referencing the CAName of CSR generation profile (if not the same as profile_id)Name of command to exportName of host-groupName of issuing CAName of method to exportName of object to exportName of parent automount map (default: auto.master).Name of the trusted domainNameserver '%(host)s' does not have a corresponding A/AAAA recordNameserver for reverse zone cannot be a relative DNS nameNeither --del-all nor options to delete a specific record provided. Command help may be consulted for all supported record types.Nested Methods to executeNetBIOS nameNetgroupNetgroup SettingsNetgroup descriptionNetgroup nameNetgroupsNetwork ServicesNew ACI nameNew CertificateNew PasswordNew Principal PasswordNew TestNew kerberos principal aliasNew mount informationNew password is requiredNew public key specified multiple timesNew vault passwordNew: key not setNew: key setNextNext Domain NameNo A, AAAA, SSHFP or PTR records found.No CSR generation rules are defined for profile %(profile_id)sNo Common Name was found in subject of request.No DNS servers in IPA location %(location)s. Without DNS servers location is not working as expected.No DNSSEC key master is installed. DNSSEC zone signing will not work until the DNSSEC key master is installed.No Valid CertificateNo archived data.No credentials cache foundNo default (fallback) group setNo entries.No file to readNo free YubiKey slot!No generation rule %(rulename)s found.No keys accepted by KDC No matching entries foundNo option to delete specific record provided.No option to modify specific record provided.No permission to join this host to the IPA domain. No private groupNo responseNo such attribute on this entryNo such virtual commandNo system preferred enctypes ?! No trusted domain is not configuredNo values for %sNo waitNo write permissions on keytab file '%s' Non-2xx response from CA REST API: %(status)d. %(explanation)sNon-Active Directory domainNon-POSIXNon-existent or invalid rulesNon-transitive external trust to a domain in another Active Directory forestNon-transitive external trust to an RFC4120-compliant Kerberos realmNonceNot AfterNot BeforeNot a managed groupNot a valid IP addressNot a valid IPv4 addressNot a valid IPv6 addressNot a valid network address (examples: 2001:db8::/64, 192.0.2.0/24)Not allowed on non-leaf entryNot enough arguments specified to perform trust setupNot matched rulesNot registered yetNoteNumber of IDs in the rangeNumber of conditions addedNumber of conditions removedNumber of days's notice of impending password expirationNumber of digits each token code will haveNumber of entries returnedNumber of hosts that had a ID View was unset:Number of hosts the ID View was applied to:Number of members addedNumber of members removedNumber of owners addedNumber of owners removedNumber of permissions addedNumber of permissions removedNumber of plugins loadedNumber of privileges addedNumber of privileges removedNumber of seconds outbound LDAP operations waits for a response from the remote replica before timing out and failingNumber of variables returned (<= total)OKOTPOTP ConfigurationOTP TokenOTP Token SettingsOTP TokensOTP configuration optionsOTP setOTP tokenOTP tokensObject class nameObjectclasses to be ignored for group entries in DSObjectclasses to be ignored for user entries in DSObjectclasses used to search for group entries in DSObjectclasses used to search for user entries in DSOld vault passwordOld vault private keyOne Time PasswordOne of group, permission or self is requiredOne time password commandsOne-Time-PasswordOne-Time-Password Not PresentOne-Time-Password PresentOnly one value is allowedOnly one zone type is allowed per zone nameOnly standard vaults can be created in WebUI, use CLI for other types of vaults.Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-type when adding an AD trust.Operating System and version of the host (e.g. Fedora 9)Operating systemOperation failed: %s Operations ErrorOption addedOption groupOption rid-base must not be used when IPA range type is ipa-ad-trust-posixOptional DN subtree from where an entry can be moved (must be in the subtree, but may not yet exist)Optional DN subtree where an entry can be moved to (must be in the subtree, but may not yet exist)Optional DN to apply the permission to (must be in the subtree, but may not yet exist)OptionsOptions 'database' and 'private_key' are not compatible with 'csr'Options dom-sid and dom-name cannot be used togetherOptions dom-sid and rid-base must be used togetherOptions dom-sid and secondary-rid-base cannot be used togetherOptions dom-sid/dom-name and rid-base must be used togetherOptions dom-sid/dom-name and secondary-rid-base cannot be used togetherOptions secondary-rid-base and rid-base must be used togetherOrderOrder in increasing priority of SELinux users, delimited by $Org. UnitOrganizationOrganizational UnitOrigin DN subtreeOriginal TTLOther Record TypesOur domain is not configuredOut of Memory! Out of memory Out of memory Out of memory!Out of memory! Out of memory!? Output file to store the transport certificateOutput filenameOutput only on errorsOverride default list of supported PAC types. Use 'NONE' to disable PAC support for this serviceOverride default list of supported PAC types. Use 'NONE' to disable PAC support for this service, e.g. this might be necessary for NFS services.Override existing passwordOverride inherited settingsOverwrite GIDOwnerOwner %sOwner groupsOwner servicesOwner usersOwnersOwners that could not be addedOwners that could not be removedPAC typePADPKINITPKINIT statusPOSIXPTR HostnamePTR recordPagePager NumberPagination SizeParametersParent mapParse all raw DNS records and return them in a structured wayParse errorPasswordPassword Expiration Notification (days)Password PoliciesPassword PolicyPassword can be specified only for symmetric vaultPassword cannot be set on enrolled host.Password change completePassword expirationPassword history sizePassword or Password+One-Time-PasswordPassword plugin featuresPassword reset was not successful.Password specified multiple timesPassword used in bulk enrollmentPasswords do not matchPasswords do not match!Passwords have been migrated in pre-hashed format. IPA is unable to generate Kerberos keys unless provided with clear text passwords. All migrated users need to login at https://your.domain/ipa/migration/ before they can use their Kerberos accounts.Passwords must matchPath to NSS databasePath to NSS database to use for private keyPath to PEM file containing a private keyPath to private key filePath to the IPA CA certificatePer-server conditional forwarding policy. Set to "none" to disable forwarding to global forwarder for this zone. In that case, conditional zone forwarders are disregarded.Per-server forwarders. A custom port can be specified for each forwarder using a standard format "IP_ADDRESS port PORT"Per-zone conditional forwarding policy. Set to "none" to disable forwarding to global forwarder for this zone. In that case, conditional zone forwarders are disregarded.Per-zone forwarders. A custom port can be specified for each forwarder using a standard format "IP_ADDRESS port PORT"Period after which failure count will be reset (seconds)Period for which lockout is enforced (seconds)PermissionPermission ACI grants access toPermission denied: %(file)sPermission flagsPermission namePermission settingsPermission typePermission valuePermission with unknown flag %s may not be modified or removedPermissionsPermissions to grant (read, write). Default is write.Permissions to grant(read, write, add, delete, all)Permitted Encryption TypesPermitted to have certificates issuedPing a remote server.PlatformPlease choose a type of DNS resource record to be addedPlease specify forwarders.Please try the following options:PolicyPortPositional argumentPositional argumentsPre-authentication is required for the servicePre-shared passwordPredefined profile '%(profile_id)s' cannot be deletedPreferencePreference given to this exchanger. Lower values are more preferredPreferred LanguagePrefix used to distinguish ACI types (permission, delegation, selfservice, none)Preserved userPreserved usersPrevPrimary RID basePrimary RID range and secondary RID range cannot overlapPrimary key onlyPrincipalPrincipal %(principal)s cannot be authenticated: %(message)sPrincipal '%(principal)s' is not permitted to use CA '%(ca)s' with profile '%(profile_id)s' for certificate issuance.Principal '%s' in subject alt name does not match requested principalPrincipal aliasPrincipal for this certificate (e.g. HTTP/test.example.com)Principal is not of the form user@REALM: '%(principal)s'Principal namePrint as little as possiblePrint debugging informationPrint entries as stored on the server. Only affects output format.Print the raw XML-RPC output in GSSAPI modePriorityPriority (order)Priority of the policy (higher number means lower priorityPriority of the rule (higher number means lower priorityPrivate key specified multiple timesPrivilegePrivilege SettingsPrivilege WithdrawnPrivilege descriptionPrivilege namePrivilegesProfileProfile IDProfile ID '%(cli_value)s' does not match profile data '%(file_value)s'Profile ID for referring to this profileProfile categoryProfile category the ACL applies toProfile configurationProfile configuration stored in file '%(file)s'Profile descriptionProfilesPrompt for the usernamePrompt for the username when multiple identities are mapped to a certificatePrompt to set the user passwordProspectiveProtocolProvisioningPublic KeyPublic keyPublic key can be specified only for asymmetric vaultPublic key specified multiple timesPublic key:QR code width is greater than that of the output tty. Please resize your terminal.QuantityQuery current Domain Level.Query returned more results than the configured size limit. Displaying the first ${counter} results.Quick LinksQuiet mode. Only errors are displayed.RADIUSRADIUS Proxy Server SettingsRADIUS ServerRADIUS ServersRADIUS proxy configurationRADIUS proxy serverRADIUS proxy server nameRADIUS proxy server with name "%s" already existsRADIUS proxy serversRADIUS proxy usernameREST API is not logged in.REVOKEDRFC4120-compliant Kerberos realmRFC822Name does not match any of user's email addressesRP recordRPC command used to log the current user out of their session.RRSIG AlgorithmRRSIG Key TagRRSIG LabelsRRSIG Original TTLRRSIG SignatureRRSIG Signature ExpirationRRSIG Signature InceptionRRSIG Signer's NameRRSIG Type CoveredRRSIG recordRandom passwordRange SettingsRange nameRange sizeRange typeRaw %s recordsRaw A recordsRaw A6 recordsRaw AAAA recordsRaw AFSDB recordsRaw APL recordsRaw CERT recordsRaw CNAME recordsRaw DHCID recordsRaw DLV recordsRaw DNAME recordsRaw DNSKEY recordsRaw DS recordsRaw HIP recordsRaw IPSECKEY recordsRaw KEY recordsRaw KX recordsRaw LOC recordsRaw MX recordsRaw NAPTR recordsRaw NS recordsRaw NSEC recordsRaw NSEC3 recordsRaw PTR recordsRaw RP recordsRaw RRSIG recordsRaw SIG recordsRaw SPF recordsRaw SRV recordsRaw SSHFP recordsRaw TA recordsRaw TKEY recordsRaw TLSA recordsRaw TSIG recordsRaw TXT recordsRaw target filterRaw value of a DNS record was already set by "%(name)s" optionRe-established trust to domain "%(value)s"Re-sync the local entitlement cache with the entitlement server.Realm DomainsRealm administrator password should be specifiedRealm domainsRealm nameRealm-domain mismatchReasonReason for RevocationReason for revoking the certificate (0-10)Reason for revoking the certificate (0-10). Type "ipa help cert" for revocation reason details. Rebuild auto membershipRebuild auto membership.Rebuild membership for all members of a groupingRebuild membership for specified hostsRebuild membership for specified usersRecommended maximum number of agreements per replica exceededRecord TypeRecord creation failed.Record dataRecord nameRecord not found.Record typeRecordsRecords for DNS ZoneRedirectionRedirection to PTR recordRefreshRefresh list of the domains associated with the trustRefresh the page.Register to the entitlement system.Registration passwordRegular ExpressionRelative record name '%(record)s' contains the zone name '%(zone)s' as a suffix, which results in FQDN '%(fqdn)s'. This is usually a mistake caused by a missing dot at the end of the name specification.Relative weight for entries with the same priority.Relative weight for server services (counts per location)Reload current settings from the server.Reload the browser.Remote IPA server hostnameRemote server nameRemove ${entity}Remove ${entity} ${primary_key} from ${other_entity}Remove ${other_entity} Managing ${entity} ${primary_key}Remove ${other_entity} from ${entity} ${primary_key}Remove A, AAAA, SSHFP and PTR records of the host(s) managed by IPA DNSRemove Allow ${other_entity} from ${entity} ${primary_key}Remove CAs from a CA ACL.Remove Certificate HoldRemove Certificate Hold for ${entity} ${primary_key}Remove Certificate Mapping DataRemove Deny ${other_entity} from ${entity} ${primary_key}Remove HoldRemove Kerberos AliasRemove PermissionRemove RunAs ${other_entity} from ${entity} ${primary_key}Remove RunAs Groups from ${entity} ${primary_key}Remove a manager to the stage user entryRemove a manager to the user entryRemove a permission for per-forward zone access delegation.Remove a permission for per-zone access delegation.Remove all principals in this realmRemove an option from Sudo Rule.Remove certificates from a serviceRemove certificates from host entryRemove commands and sudo command groups affected by Sudo Rule.Remove conditions from an automember rule.Remove default (fallback) group for all unmatched entries.Remove entries from DNSRemove from CRLRemove group for Sudo to execute as.Remove holdRemove hosts and hostgroups affected by Sudo Rule.Remove hosts that can manage this host.Remove hosts that can manage this service.Remove information about the domain associated with the trust.Remove member from a named service delegation rule.Remove member from a named service delegation target.Remove member from a named service delegation.Remove members from Sudo Command Group.Remove members from a group.Remove members from a hostgroup.Remove members from a netgroup.Remove members from a permission.Remove members from a privilegeRemove members from a role.Remove members from a vault.Remove members from an HBAC service group.Remove one or more certificate mappings from the stage user entry.Remove one or more certificate mappings from the user entry.Remove one or more certificates to the idoverrideuser entryRemove one or more certificates to the stageuser entryRemove one or more certificates to the user entryRemove owners from a vault container.Remove owners from a vault.Remove permissions from a privilege.Remove principal alias from a host entryRemove principal alias from a serviceRemove principal alias from the stageuser entryRemove principal alias from the user entryRemove privileges from a role.Remove profiles from a CA ACL.Remove service and service groups from an HBAC rule.Remove services from a CA ACL.Remove source hosts and hostgroups from an HBAC rule.Remove target from a named service delegation rule.Remove target hosts and hostgroups from a CA ACL.Remove target hosts and hostgroups from an HBAC rule.Remove target hosts and hostgroups from an SELinux User Map rule.Remove users and groups affected by Sudo Rule.Remove users and groups for Sudo to execute as.Remove users and groups from a CA ACL.Remove users and groups from an HBAC rule.Remove users and groups from an SELinux User Map rule.Remove users that can manage this token.Removed aliases from host "%(value)s"Removed aliases from stageuser "%(value)s"Removed aliases from user "%(value)s"Removed aliases to the service principal "%(value)s"Removed certificate mappings from user "%(value)s"Removed certificates from host "%(value)s"Removed certificates from idoverrideuser "%(value)s"Removed certificates from service principal "%(value)s"Removed certificates from stageuser "%(value)s"Removed certificates from user "%(value)s"Removed condition(s) from "%(value)s"Removed default (fallback) group for automember "%(value)s"Removed information about the trusted domain "%(value)s"Removed option "%(option)s" from Sudo Rule "%(rule)s"Removed system permission "%(value)s"Removing %(servers)s from replication topology, please wait...Removing principal %s RenameRename an ACI.Rename the %(ldap_obj_name)s objectRename the DNS resource record objectRename the Group ID override objectRename the ID View objectRename the OTP token objectRename the RADIUS proxy server objectRename the User ID override objectRename the automount key objectRename the group objectRename the permission objectRename the privilege objectRename the role objectRename the stage user objectRename the user objectRenamed ACI to "%(value)s"Renewal master for IPA certificate authorityReplacementReplica is active DNSSEC key master. Uninstall could break your DNS system. Please disable or replace DNSSEC key master first.Replication agreement enabledReplication configurationReplication refresh for segment: "%(pkey)s" requested.Replication topology of suffix "%(suffix)s" contains errors.Replication topology of suffix "%(suffix)s" is in order.Report PKINIT status on the IPA mastersRequest a full re-initialization of the node retrieving data from the other node.Request failed with status %(status)s: %(reason)sRequest idRequest is missing "method"Request is missing "params"Request must be a dictRequest statusRequiredRequired CSR generation rule %(name)s is missing dataRequired fieldRequires pre-authenticationResetReset Kerberos ticket policy to the default values.Reset OTPReset One-Time-PasswordReset PasswordReset Password and LoginReset your password.Resolve a host name in DNS.Resolve a host name in DNS. (Deprecated)Resolve security identifiers of users and groups in trusted domainsResponse from CA was not valid JSONRestoreResultResult of simulationResult of the commandResults are truncated, try a more specific searchResults should contain primary key attribute only ("%s")Results should contain primary key attribute only ("anchor")Results should contain primary key attribute only ("certificate")Results should contain primary key attribute only ("cn")Results should contain primary key attribute only ("command")Results should contain primary key attribute only ("delegation-name")Results should contain primary key attribute only ("domain")Results should contain primary key attribute only ("group")Results should contain primary key attribute only ("group-name")Results should contain primary key attribute only ("hostgroup-name")Results should contain primary key attribute only ("hostname")Results should contain primary key attribute only ("id")Results should contain primary key attribute only ("location")Results should contain primary key attribute only ("login")Results should contain primary key attribute only ("map")Results should contain primary key attribute only ("name")Results should contain primary key attribute only ("principal")Results should contain primary key attribute only ("realm")Results should contain primary key attribute only ("service")Results should contain primary key attribute only ("sudocmdgroup-name")Results should contain primary key attribute only ("sudorule-name")RetriesRetrieve a data from a vault.Retrieve an existing certificate.Retrieve and print all attributes from the server. Affects command output.Retrieve current keys without changing themRetrieve the entitlement certs.Retrieved data from vault "%(value)s"Retrieving CA cert chain failed: %sRetrieving CA status failed with status %dRetrieving CA status failed: %sRetryRetrying with pre-4.0 keytab retrieval method... Return to the main page and retry the operationReverse record for IP address %(ip)s already exists in reverse zone %(zone)s.Reverse zone %(name)s requires exactly %(count)d IP address components, %(user_count)d givenReverse zone IP networkReverse zone for PTR record should be a sub-zone of one the following fully qualified domains: %sRevertRevocation reasonRevokeRevoke CertificateRevoke Certificate for ${entity} ${primary_key}Revoke a certificate.RevokedRevoked on fromRevoked on from this date (YYYY-mm-dd)Revoked on toRevoked on to this date (YYYY-mm-dd)Right nodeRight replication node - an IPA serverRightsRights to grant (read, search, compare, write, add, delete, all)RoleRole SettingsRole nameRole statusRole-Based Access ControlRolesRoot domain of the trust is always enabled for the existing trustRule nameRule statusRule typeRule type (allow)Rule used to check if a certificate can be used for authenticationRule used to map the certificate with a user entryRulesRules to test. If not specified, --enabled is assumedRun CommandsRun TestRun as a userRun as any user within a specified groupRun with the gid of a specified POSIX groupRunAs External GroupRunAs External UserRunAs Group categoryRunAs Group category the rule applies toRunAs GroupsRunAs User categoryRunAs User category the rule applies toRunAs UsersRunAsGroup does not accept '%(name)s' as a group nameRunAsUser does not accept '%(name)s' as a group nameRunAsUser does not accept '%(name)s' as a user nameSELinux OptionsSELinux UserSELinux User MapSELinux User Map ruleSELinux User Map rulesSELinux User MapsSELinux user %(user)s not found in ordering list (in config)SELinux user '%(user)s' is not valid: %(error)sSELinux user map default user not in order listSELinux user map list not found in configurationSELinux user map orderSHA1 FingerprintSHA256 FingerprintSIDSID blacklist incomingSID blacklist outgoingSID blacklistsSID does not match any trusted domainSID does not match exactlywith any trusted domain's SIDSID for the specified trusted domain name could not be found. Please specify the SID directly using dom-sid option.SID is not recognized as a valid SID for a trusted domainSID is not validSIG AlgorithmSIG Key TagSIG LabelsSIG Original TTLSIG SignatureSIG Signature ExpirationSIG Signature InceptionSIG Signer's NameSIG Type CoveredSIG recordSOA classSOA expireSOA minimumSOA mname (authoritative server) overrideSOA mname overrideSOA record classSOA record expire timeSOA record refresh timeSOA record retry timeSOA record serial numberSOA record time to liveSOA refreshSOA retrySOA serialSOA time to liveSPF recordSRV PortSRV PrioritySRV TargetSRV WeightSRV recordSSH public keySSH public key fingerprintSSH public key:SSH public keysSSHFP AlgorithmSSHFP FingerprintSSHFP Fingerprint TypeSSHFP recordSSSD was unable to resolve the object to a valid SIDSaltSame as --%sSaveSchema is up to date (FP '%(fingerprint)s', TTL %(ttl)s s)SearchSearch OptionsSearch command parameters.Search domains of the trustSearch for %(searched_object)s with these %(relationship)s %(ldap_object)s.Search for %(searched_object)s without these %(relationship)s %(ldap_object)s.Search for %1$s on rootdse failed with error %2$d Search for CA ACLs.Search for CAs.Search for Certificate Identity Mapping Rules.Search for Certificate Profiles.Search for DNS forward zones.Search for DNS resources.Search for DNS servers.Search for DNS zones (SOA records).Search for HBAC rules.Search for HBAC services.Search for IPA locations.Search for IPA namingContext failed with error %d Search for IPA servers.Search for IPA services.Search for OTP token.Search for RADIUS proxy servers.Search for SELinux User Maps.Search for Sudo Command Groups.Search for Sudo Commands.Search for Sudo Rule.Search for a netgroup.Search for a self-service permission.Search for an Group ID override.Search for an HBAC service group.Search for an ID View.Search for an ID override.Search for an User ID override.Search for an automount key.Search for an automount location.Search for an automount map.Search for automember rules.Search for certificates with these owner %s.Search for certificates without these owner %s.Search for classes.Search for command outputs.Search for commands.Search for delegations.Search for entitlement accounts.Search for existing certificates.Search for forward zones onlySearch for group password policies.Search for groups with these member groups.Search for groups with these member of HBAC rules.Search for groups with these member of groups.Search for groups with these member of netgroups.Search for groups with these member of roles.Search for groups with these member of sudo rules.Search for groups with these member users.Search for groups without these member groups.Search for groups without these member of HBAC rules.Search for groups without these member of groups.Search for groups without these member of netgroups.Search for groups without these member of roles.Search for groups without these member of sudo rules.Search for groups without these member users.Search for groups.Search for help topics.Search for host groups with these member host groups.Search for host groups with these member hosts.Search for host groups with these member of HBAC rules.Search for host groups with these member of host groups.Search for host groups with these member of netgroups.Search for host groups with these member of sudo rules.Search for host groups without these member host groups.Search for host groups without these member hosts.Search for host groups without these member of HBAC rules.Search for host groups without these member of host groups.Search for host groups without these member of netgroups.Search for host groups without these member of sudo rules.Search for hostgroups.Search for hosts with these enrolled by users.Search for hosts with these managed by hosts.Search for hosts with these managing hosts.Search for hosts with these member of HBAC rules.Search for hosts with these member of host groups.Search for hosts with these member of netgroups.Search for hosts with these member of roles.Search for hosts with these member of sudo rules.Search for hosts without these enrolled by users.Search for hosts without these managed by hosts.Search for hosts without these managing hosts.Search for hosts without these member of HBAC rules.Search for hosts without these member of host groups.Search for hosts without these member of netgroups.Search for hosts without these member of roles.Search for hosts without these member of sudo rules.Search for hosts.Search for ipaCertificateSubjectBase failed with error %dSearch for netgroups with these member groups.Search for netgroups with these member host groups.Search for netgroups with these member hosts.Search for netgroups with these member netgroups.Search for netgroups with these member of netgroups.Search for netgroups with these member users.Search for netgroups without these member groups.Search for netgroups without these member host groups.Search for netgroups without these member hosts.Search for netgroups without these member netgroups.Search for netgroups without these member of netgroups.Search for netgroups without these member users.Search for permissions.Search for privileges.Search for ranges.Search for roles.Search for servers with these managed suffixes.Search for servers without these managed suffixes.Search for service delegation target.Search for service delegations rule.Search for services with these managed by hosts.Search for services without these managed by hosts.Search for stage users with these member of HBAC rules.Search for stage users with these member of groups.Search for stage users with these member of netgroups.Search for stage users with these member of roles.Search for stage users with these member of sudo rules.Search for stage users without these member of HBAC rules.Search for stage users without these member of groups.Search for stage users without these member of netgroups.Search for stage users without these member of roles.Search for stage users without these member of sudo rules.Search for stage users.Search for topology segments.Search for topology suffices.Search for topology suffixes.Search for trusts.Search for users with these member of HBAC rules.Search for users with these member of groups.Search for users with these member of netgroups.Search for users with these member of roles.Search for users with these member of sudo rules.Search for users without these member of HBAC rules.Search for users without these member of groups.Search for users without these member of netgroups.Search for users without these member of roles.Search for users without these member of sudo rules.Search for users.Search for vaults.Search result has been truncated: %(reason)sSearch scopeSearch size limitSearch time limitSecond CodeSecond OTPSecondary RID baseSeconds LatitudeSeconds LongitudeSecretSecrets can be added/retrieved to vault only by using vault-archive and vault-retrieve from CLI.Security IdentifierSecurity Identifiers (SIDs)Segment detailsSegment nameSelect AllSelect entries to be removed.SelectorSelfSelf Service PermissionSelf Service PermissionsSelf-service nameSemantic of %(label)s was changed. %(current_behavior)s %(hint)sSemicolon separated list of IP addresses or networks which are allowed to issue queriesSemicolon separated list of IP addresses or networks which are allowed to transfer the zoneSensitiveSerialSerial NumberSerial Number (hex)Serial numberSerial number (hex)Serial number in decimal or if prefixed with 0x in hexadecimalServerServer "%(srv)s" has %(n)d agreements with servers:Server %(srv)s can't contact servers: %(replicas)sServer NameServer RoleServer RolesServer has already been deletedServer has no information about domain '%(domain)s'Server locationServer nameServer name not provided and unavailable Server removal aborted: %(reason)s.Server will check DNS forwarder(s).ServersServers details:Servers in locationServers that belongs to the IPA locationServiceService %(service)s requires restart on IPA server %(server)s to apply configuration changes.Service '%(service)s' not found in Kerberos databaseService CertificateService GroupsService OptionsService SettingsService VaultsService categoryService category the ACL applies toService category the rule applies toService delegation ruleService delegation rulesService delegation targetService delegation targetsService group nameService nameService name of the service vaultService principalService principal aliasService principal for this certificate (e.g. HTTP/test.example.com)Service principal is not of the form: service/fully-qualified host name: %(reason)sService principal is requiredService relative weightService unprovisionedService weightService(s), shared, and user(s) options cannot be specified simultaneouslyService, shared and user options cannot be specified simultaneouslyService, shared, and user options cannot be specified simultaneouslyServicesSession errorSession key wrapped with transport certificateSession timeoutSetSet Domain LevelSet OTPSet One-Time-PasswordSet SSH keySet a user's password.Set an attribute to a name/value pair. Format is attr=value. For multi-valued attributes, the command replaces the values already present.Set default (fallback) group for all unmatched entries.Set default (fallback) group for automember "%(value)s"Set public keySettingsSharedShared VaultsShared secret for the trustShared vaultShowShow IPA server.Show QR codeShow ResultsShow all loaded plugins.Show configuration uriShow detailsShow environment variables.Show global trust configuration.Show managed suffix.Show role status on a serverShow the current Certificate Identity Mapping configuration.Show the current OTP configuration.Show the current configuration.Show the current global DNS configuration.Show the list of permitted encryption types and exitShow vault configuration.Show/Set keyShowing ${start} to ${end} of ${total} entries.SignatureSignature ExpirationSignature InceptionSigner's NameSimple bind failed Simulate use of Host-based access controlsSince IPA does not manage DNS records, ensure DNS is configured to resolve '{domain}' domain from IPA hosts and back.SizeSize LimitSize of data exceeds the limit. Current vault data size limit is %(limit)d BSize of the ID range reserved for the trusted domainSkip DNS checkSkip a check whether the last CA master or DNS server is removedSkip overlap checkSkipped %(key)sSkipped %(map)sSome entries were not deletedSome operations failed.Source Host GroupsSource HostsSource hostSource host categorySource host category the rule applies toSpecified CAsSpecified Commands and GroupsSpecified GroupsSpecified Hosts and GroupsSpecified ProfilesSpecified Services and GroupsSpecified Users and GroupsSpecifies where to store keytab information.Specify external ${entity}StageStage UserStage UsersStage user %s activatedStage usersStaged user account "%(value)s"StandardStandard Record TypesState/ProvinceStatusStatus of the roleStop already started refresh of chosen node(s)Stopping of replication refresh for segment: "%(pkey)s" requested.Store issued certificatesStreet addressStructuredSubjectSubject DNSubject DN is already used by CA '%s'Subject DNS nameSubject Distinguished NameSubject EDI Party nameSubject IP AddressSubject Kerberos principal nameSubject OIDSubject Other NameSubject Public Key InfoSubject UPNSubject URISubject X.400 addressSubject alt name type %s is forbiddenSubject directory nameSubject email addressSubject of the certificateSubmit a certificate signing request.SubtreeSubtree to apply ACI toSubtree to apply permissions toSubtypeSuccessSudoSudo Allow Command GroupsSudo Allow CommandsSudo CommandSudo Command GroupSudo Command GroupsSudo CommandsSudo Deny Command GroupsSudo Deny CommandsSudo OptionSudo RuleSudo RulesSudo orderSuffix nameSupersededSupported encryption types: Suppress processing of membership attributes.SymmetricSync OTP TokenSynchronize an OTP token.Syntax Error: %(error)sSystem DNS records updatedSystem encoding must be UTF-8, '%(encoding)s' is not supported. Set LC_ALL="C.UTF-8", or LC_ALL="" and LC_CTYPE="C.UTF-8".TA recordTKEY recordTLSA Certificate Association DataTLSA Certificate UsageTLSA Matching TypeTLSA SelectorTLSA recordTOTP Synchronization WindowTOTP authentication WindowTOTP authentication time variance (seconds)TOTP synchronization time variance (seconds)TOTP token / FreeIPA server time differenceTSIG recordTXT Text DataTXT recordTake a revoked certificate off hold.TargetTarget DNTarget DN subtreeTarget Uniform Resource IdentifierTarget Uniform Resource Identifier according to RFC 3986Target groupTarget hostTarget members of a groupTarget members of a group (sets memberOf targetfilter)Target reverse zone not found.Target your own entry (self)Task DNTask DN = '%s'Telephone NumberTemplate error when formatting certificate dataTest the ACI syntax but don't write anythingText DataText does not match field patternThe --domain option cannot be used together with --add-domain or --del-domain. Use --domain to specify the whole realm domain list explicitly, to add/remove individual domains, use --add-domain/del-domain.The ACI for permission %(name)s was not found in %(dn)s The IPA realmThe _kerberos TXT record from domain %(domain)s could not be created (%(error)s). This can happen if the zone is not managed by IPA. Please create the record manually, containing the following value: '%(realm)s'The _kerberos TXT record from domain %(domain)s could not be removed (%(error)s). This can happen if the zone is not managed by IPA. Please remove the record manually.The automount key %(key)s with info %(info)s does not existThe character %(char)r is not allowed.The default users group cannot be removedThe deny type has been deprecated.The domain %s is neither IPA domain nor a trusteddomain.The domain name of the target host or '.' if the service is decidedly not available at this domainThe following domains do not belong to this realm: %(domains)sThe group doesn't existThe host '%s' does not exist to add a service to.The hostname must be fully-qualified: %s The hostname must not be: %s The hostname or IP (with or without port)The hostname this reverse record points toThe hostname to register asThe key,info pair must be unique. A key named %(key)s with info %(info)s already existsThe keytab file to remove the principcal(s) fromThe most common types for this type of zone are: %s The number of times to retry authenticationThe password or username you entered is incorrect.The primary_key value of the entry, e.g. 'jdoe' for a userThe principal for this request doesn't exist.The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)The principal to remove from the keytab (ex: ftp/ftp.example.com@EXAMPLE.COM)The realm for the principal does not match the realm for this IPA serverThe realm of the following domains could not be detected: %(domains)s. If these are domains that belong to the this realm, please create a _kerberos TXT record containing "%(realm)s" in each of them.The schema used on the LDAP server. Supported values are RFC2307 and RFC2307bis. The default is RFC2307bisThe search criteria was not specific enough. Expected 1 and found %(found)d.The secret used to encrypt dataThe service is allowed to authenticate on behalf of a clientThe service principal for subject alt name %s in certificate request does not existThe topic or command name.The total timeout across all retries (in seconds)The username attribute on the user objectThe username, password or token codes are not correctThere is already a trust to {ipa_domain} with unsupported type {trust_type}. Please remove it manually on AD DC side.This command can not be used to change ID allocation for local IPA domain. Run `ipa help idrange` for more informationThis command relies on the existence of the "editors" group, but this group was not found.This command requires root accessThis entry already existsThis entry cannot be enabled or disabledThis entry is already a memberThis entry is already disabledThis entry is already enabledThis entry is not a memberThis group already allows external membersThis group cannot be posix because it is externalThis is already a posix groupThis is already a posix group and cannot be converted to external oneThis may take some time, please wait ...This page has unsaved changes. Please save or revert.This principal is required by the IPA masterTicket expiredTicket policy for %s could not be readTime LimitTime limit of search in secondsTime limit of search in seconds (0 is unlimited)Time nowTime to liveTime to live for records at zone apexTime to live for records without explicit TTL definitionTime-based (TOTP)TimeoutTimeout exceeded.To establish trust with Active Directory, the domain name and the realm name of the IPA server must matchTo get command help, use:Token IDToken description (informational only)Token hash algorithmToken model (informational only)Token secret (Base32; default: random)Token serial (informational only)Token synchronization failedToken vendor name (informational only)Token was synchronizedTopic commands:Topic or CommandTopologyTopology SegmentTopology SegmentsTopology does not allow server %(server)s to replicate with servers:Topology is disconnectedTopology management requires minimum domain level {0} Topology suffixTopology suffixesTotal number of variables env (>= count)Transport CertificateTrueTrue if not all results were returnedTrue means the operation was successfulTrustTrust SettingsTrust directionTrust setupTrust statusTrust typeTrust type (ad for Active Directory, default)Trusted domainTrusted domain %(domain)s is included among IPA realm domains. It needs to be removed prior to establishing the trust. See the "ipa realmdomains-mod --del-domain" command.Trusted domain and administrator account use different realmsTrusted domain did not return a unique objectTrusted domain did not return a valid SID for the objectTrusted domain partnerTrusted domainsTrusted for delegationTrusted forestTrusted to authenticate as userTrusting forestTrustsTwo factor authentication (password + OTP)Two-way trustTypeType CoveredType MapType of IPA object (sets subtree and objectClass targetfilter)Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)Type of the tokenType of trusted domain ID range, one of ipa-ad-trust-posix, ipa-ad-trustType of trusted domain ID range, one of {vals}Types of supported user authenticationUIDUPN suffixesURIURLUUIDUn-applyUn-apply ID View ${primary_key} from hostsUn-apply ID View ${primary_key} from hosts of ${entity}Un-apply ID Views from hostsUn-apply ID Views from hosts of hostgroupsUn-apply from host groupsUn-apply from hostsUnable to communicate with CMSUnable to communicate with CMS (status %d)Unable to create private group. A group '%(group)s' already exists.Unable to determine IPA server from %s Unable to determine certificate subject of %s Unable to determine if Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually.Unable to determine root DN of %s Unable to display QR code using the configured output encoding. Please use the token URI to configure your OTP deviceUnable to enable SSL in LDAP Unable to generate Kerberos Credential Cache Unable to init connection to %s Unable to initialize STARTTLS session Unable to initialize connection to ldap server: %sUnable to initialize ldap library! Unable to join host: Kerberos Credential Cache not found Unable to join host: Kerberos User Principal not found and host password not provided. Unable to join host: Kerberos context initialization failed Unable to parse principal Unable to parse principal name Unable to parse principal: %1$s (%2$d) Unable to remove entry Unable to resolve domain controller for {domain} domain. Unable to set LDAP version Unable to set LDAP_OPT_PROTOCOL_VERSION Unable to set LDAP_OPT_X_SASL_NOCANON Unable to set LDAP_OPT_X_TLS Unable to set LDAP_OPT_X_TLS_CERTIFICATE Unable to set LDAP_OPT_X_TLS_REQUIRE_CERT Unable to verify write permissions to the ADUndelete a delete user account.Undeleted user account "%(value)s"UndoUndo AllUndo all changes in this field.Undo this change.Unenroll this host from IPA serverUnenrollment failed. Unenrollment successful. Unique IDUnknownUnknown ErrorUnknown option: %(option)sUnlockUnlocked account "%(value)s"UnmatchedUnprovisionUnprovisioning ${entity}Unrecognized attributes: %(attrs)sUnresolved rules in --rulesUnrevokedUnsaved ChangesUnselect AllUnspecifiedUnsupported valueUpdateUpdate DNS entriesUpdate System DNS RecordsUpdate location and IPA server DNS recordsUpdate of system record '%(record)s' failed with error: %(error)sUserUser GroupUser GroupsUser IDUser ID NumberUser ID Number (system will assign one if not provided)User ID overrideUser ID overridesUser LoginUser OptionsUser VaultsUser attributeUser authentication typesUser categoriesUser categoryUser category (semantics placed on this attribute are for local interpretation)User category the ACL applies toUser category the rule applies toUser containerUser groupUser group ACI grants access toUser group ruleUser group rulesUser group to apply delegation toUser group to apply permissions toUser group to apply permissions to (sets target)User loginUser loginsUser nameUser object classUser object overridesUser passwordUser password expirationUser search fieldsUser to overrideUser-friendly description of action performedUser-specified attributes to which the permission appliesUser-specified attributes to which the permission explicitly does not applyUsernameUsername of the user vaultUsersUsers allowed to create keytabUsers allowed to retrieve keytabValid Certificate PresentValid fromValid not after fromValid not after from this date (YYYY-mm-dd)Valid not after toValid not after to this date (YYYY-mm-dd)Valid not before fromValid not before from this date (YYYY-mm-dd)Valid not before toValid not before to this date (YYYY-mm-dd)Valid toValidation errorValidityValidity endValidity startVaultVault ContainerVault ContainersVault TypeVault configurationVault data encrypted with session keyVault descriptionVault nameVault passwordVault private keyVault public keyVault saltVault serviceVault typeVault userVaultsVaults ConfigVendorVerify PasswordVerify Principal PasswordVersionVertical PrecisionVia ServiceViewView CertificateWaiting for confirmation by remote sideWarningWarning unrecognized encryption type. Warning unrecognized salt type. Warning: Consider service replicationWarning: failed to convert type (#%d) Warning: salt types are not honored with randomized passwords (see opt. -P) WeightWeight for server servicesWhen migrating a group already existing in IPA domain overwrite the group GID and report as successWhether PKINIT is enabled or disabledWhether a replication agreement is active, meaning whether replication is occurring per that agreementWhether to store certs issued using this profileWhoWorkingWrite CertificationRequestInfo to fileWrite certificate (chain if --chain used) to fileWrite profile configuration to fileX.509 certificate chainYou are trying to reference a magic private group which is not allowed to be overridden. Try overriding the GID attribute of the corresponding user instead.You can use FreeOTP as a software OTP token application.You may need to manually remove them from the treeYou must enroll a host in order to create a host serviceYou must specify both rid-base and secondary-rid-base options, because ipa-adtrust-install has already been run.You will be redirected to DNS Zone.Your password expires in ${days} days.Your session has expired. Please re-login.Your trust to %(domain)s is broken. Please re-create it by running 'ipa trust-add' again.YubiKey slotZIPZone forwardersZone found: ${zone}Zone nameZone name (FQDN)Zone record '%s' cannot be deletedZone refresh intervalaccess() on %1$s failed: errno = %2$d active user with name "%(user)s" already existsadded attribute value to entry %(value)salgorithm value: allowed interval 0-255all masters must have %(role)s role enabledan internal error has occurredan internal error has occurred on server at '%(server)s'answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG data)any of the configured serversapi has no such namespace: '%(name)s'at least one of options: type, users, hosts must be specifiedat least one of: type, filter, subtree, targetgroup, attrs or memberof are requiredat least one value equal to the canonical principal name must be presentattribute "%(attribute)s" not allowedattribute "%s" not allowedattribute is not configurableattrs and included attributes are mutually exclusiveattrs and included/excluded attributes are mutually exclusiveautomatically add the principal if it doesn't existautomatically add the principal if it doesn't exist (service principals only)automount keyautomount keysautomount locationautomount locationsautomount mapautomount mapsbasednber_init() failed, Invalid control ?! ber_scanf() failed, unable to find kvno ?! bind passwordcan be at most %(len)d characterscan be at most %(maxlength)d bytescan be at most %(maxlength)d characterscan be at most %(maxvalue)dcan be at most %(maxvalue)scannot add permission "%(perm)s" with bindtype "%(bindtype)s" to a privilegecannot be emptycannot be longer that 255 characterscannot connect to '%(uri)s': %(error)scannot delete global password policycannot delete managed permissionscannot delete root domain of the trust, use trust-del to delete the trust itselfcannot disable root domain of the trust, use trust-del to delete the trust itselfcannot have an empty subjectcannot open configuration file %s cannot rename managed permissionscannot set bindtype for a permission that is assigned to a privilegecannot specify both raw certificate and filecannot specify both subject/issuer and certificatecannot specify both subject/issuer and ipacertmapdatacannot specify full target filter and extra target filter simultaneouslycannot stat() configuration file %s change collided with another changechange to a POSIX groupchange to support external non-IPA members from trusted domainschild exited with %d cn is immutablecolon-separated list of domains used for short name qualificationcomma-separated list of HBAC service groups to addcomma-separated list of HBAC service groups to removecomma-separated list of HBAC services to addcomma-separated list of HBAC services to removecomma-separated list of groups to addcomma-separated list of groups to exclude from migrationcomma-separated list of groups to removecomma-separated list of host groups to addcomma-separated list of host groups to removecomma-separated list of hosts to addcomma-separated list of hosts to removecomma-separated list of members of a trusted domain in DOM\name or name@domain formcomma-separated list of netgroups to addcomma-separated list of netgroups to removecomma-separated list of permissionscomma-separated list of permissions to grant(read, write, add, delete, all)comma-separated list of privilegescomma-separated list of privileges to addcomma-separated list of privileges to removecomma-separated list of roles to addcomma-separated list of roles to removecomma-separated list of sudo command groups to addcomma-separated list of sudo command groups to removecomma-separated list of sudo commands to addcomma-separated list of sudo commands to removecomma-separated list of users to addcomma-separated list of users to exclude from migrationcomma-separated list of users to removecommandcommand '%(name)s' takes at most %(count)d argumentcommand '%(name)s' takes at most %(count)d argumentscommand '%(name)s' takes no argumentscommandscommands cannot be added when command category='all'commands for controlling sudo configurationcommunication with CIFS server was unsuccessfulconfiguration optionscontainer entry (%(container)s) not founddefault CA ACL can be only disableddelegationdelegationsdeletedescriptiondid not receive Kerberos credentialsdoes not match any of accepted formats: domaindomain is not configureddomain is not trusteddomain name '%(domain)s' should be normalized to: %(normalized)sdomain name cannot be longer than 255 characterseach ACL element must be terminated with a semicolonempty DNS labelempty filterentriesentryerror marshalling data for XML-RPC transport: %(error)serror on server '%(server)s': %(error)sexecuting ipa-getkeytab failed, errno %d expected format: <0-255> <0-255> <0-65535> even-length_hexadecimal_digits_or_hyphenfile to store DNS records in nsupdate formatfile to store certificate infilenamefilter and memberof are mutually exclusiveflags must be one of "S", "A", "U", or "P"flags value: allowed interval 0-255force NS record creation even if its hostname is not in DNSforce delete of SYSTEM permissionsforce host name even if not in DNSforce principal name even if not in DNSfork() failed format must be specified as "d1 [m1 [s1]] {"N"|"S"} d2 [m2 [s2]] {"E"|"W"} alt["m"] [siz["m"] [hp["m"] [vp["m"]]]]" where: d1: [0 .. 90] (degrees latitude) d2: [0 .. 180] (degrees longitude) m1, m2: [0 .. 59] (minutes latitude/longitude) s1, s2: [0 .. 59.999] (seconds latitude/longitude) alt: [-100000.00 .. 42849672.95] BY .01 (altitude in meters) siz, hp, vp: [0 .. 90000000.00] (size/precision in meters) See RFC 1876 for detailsformat must be specified as "%(format)s" %(rfcs)sforward zone "%(fwzone)s" is not effective because of missing proper NS delegation in authoritative zone "%(authzone)s". Please add NS record "%(ns_rec)s" to parent zone "%(authzone)s".gid cannot be set for external groupgivenname is requiredgroupgroup runAsgroup, permission and self are mutually exclusivegroupsgroups to addgroups to exclude from migrationgroups to removehosthost category cannot be set to 'all' while there are allowed hostshost grouphost groupshost groups to addhost groups to removehost masks of allowed hostshostgrouphostgroup with name "%s" already exists. Hostgroups and netgroups share a common namespacehostgroupshostnamehostname contains empty label (consecutive dots)hostname in subject of request '%(cn)s' does not match name or aliases of principal '%(principal)s'hostname in subject of request '%(cn)s' does not match principal hostname '%(hostname)s'hostshosts cannot be added when host category='all'hosts cannot be set when type is 'group'hosts to addhosts to removeid rangeid range typeincomplete time valueincorrect typeinteger to order the Sudo rulesinvalid '%(name)s': %(error)sinvalid DN (%s)invalid IP address formatinvalid IP address version (is %(value)d, must be %(required_value)d)!invalid IP network formatinvalid Profile IDinvalid SID: {SID}invalid SSH public keyinvalid address formatinvalid attribute nameinvalid domain nameinvalid domain-name: %sinvalid domain-name: not fully qualifiedinvalid e-mail format: %(email)sinvalid escape code in domain nameinvalid hostmaskinvalid port numberipa-getkeytab has bad permissions? ipa-getkeytab not found is requirediterations value: allowed interval 0-65535kerberos ticket policy settingskey %(key)s already existskey named %(key)s already existskrb5_kt_close %1$d: %2$s krb5_kt_get_entry %1$d: %2$s krb5_kt_remove_entry %1$d: %2$s krb5_parse_name %1$d: %2$s krb5_unparse_name %1$d: %2$s krbtgt certs can use only the %s profilekvno %d left node ({host}) does not support suffix '{suff}'left node and right node must not be the sameleft node is not a topology node: %(leftnode)sleft or right node has to be specifiedlimits exceeded for this querylocal domain rangelocationlocationsmanager %(manager)s not foundmap %(map)s already existsmaps not connected to /etc/auto.master:match the common name exactlymaximum serial numbermember %smember Certificate Profilemember HBAC servicemember HBAC service groupmember groupmember hostmember host groupmember netgroupmember principalmember privilegemember rolemember servicemember service delegation targetmember sudo commandmember sudo command groupmember userminimum serial numbermissing base_idmodifying primary key is not allowedmount point is relative to parent map, cannot begin with /must be "%s"must be '%(value)s'must be DNS namemust be Kerberos principalmust be TRUE or FALSEmust be True or Falsemust be Unicode textmust be a certificatemust be a certificate signing requestmust be a decimal numbermust be absolutemust be an integermust be at least %(minlength)d bytesmust be at least %(minlength)d charactersmust be at least %(minvalue)dmust be at least %(minvalue)smust be at least 1must be binary datamust be datetime valuemust be dictionarymust be enabled only on a single mastermust be enclosed in parenthesesmust be exactly %(length)d bytesmust be exactly %(length)d charactersmust be one of %(values)smust be relativemust contain a tuple (list, dict)must equal %rmust have %(role)s role enabledmust match pattern "%(pattern)s"netgroupnetgroup with name "%s" already exists. Hostgroups and netgroups share a common namespacenetgroupsnetgroups to addnetgroups to removeno command nor help topic '%(topic)s'no modifications to be performedno trusted domain is configuredno trusted domain matched the specified flat namenot allowed to modify group entriesnot allowed to modify user entriesnot allowed to perform operation: %snot allowed to perform server connection checknot foundnot fully qualifiednot modifiable on managed permissionsnumber class '%(cls)s' is not included in a list of allowed number classes: %(allowed)snumber of passwordsobjectclass %s not foundone or more values to removeonly "ad" is supportedonly available on managed permissionsonly letters, numbers, %(chars)s are allowed. DNS label may not start or end with %(chars2)sonly master zones can contain recordsonly one CNAME record is allowed per name (RFC 2136, section 1.1.5)only one DNAME record is allowed per name (RFC 6672, section 2.4)only one node can be specifiedoperation not definedoption was renamed; use %soptions are not allowedorder must be a unique value (%(order)d already used by %(rule)s)out of memory out-of-zone data: record name must be a subdomain of the zone or a relative nameoverlapping arguments and options: %(names)sowner %sowner groupowner of %(types)s records should not be a wildcard domain name (RFC 4592 section 4)owner serviceowner userparams must be a listparams must contain [args, options]params[0] (aka args) must be a listparams[1] (aka options) must be a dictpasswordpassword policiespassword policypassword to use if not using kerberospermissionpermission "%(value)s" already existspermissionspkinitpreservepreserve and no-preserve cannot be both setprincipal not found principal not found in XML-RPC response principal to addprincipal to removepriority cannot be set on global policypriority must be a unique value (%(prio)d already used by %(gname)s)privilegeprivileged groupprivileged hostgroupprivileged service delegation ruleprivileged service delegation targetprivilegesprivileges to addprivileges to removeprofile category cannot be set to 'all' while there are allowed profilesprofiles cannot be added when profile category='all'pyhbac is not installed.pysss_murmur is not available on the server and no base-id is given.python-yubico is not installed.query '%(owner)s %(rtype)s' with EDNS0: %(error)squery '%(owner)s %(rtype)s': %(error)srange existsrange modification leaving objects with ID out of the defined range is not allowedrange type changeread error realm not found realm or UPN suffix overlaps with trusted domain namespacerecord '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)sremoved attribute values from entry %(value)srequest failed with HTTP status %dresult not found in XML-RPC response retrieve and print all attributes from the server. Affects command output.right node ({host}) does not support suffix '{suff}'right node is not a topology node: %(rightnode)srolerolesroles to addroles to removerunAs groupsrunAs userrunAs userssalt value: %(err)ssearch for POSIX groupssearch for groups with support of external non-IPA members from trusted domainssearch for managed groupssearch for non-POSIX groupssearch for private groupssearch results for objects to be migrated have been truncated by the server; migration process might be incomplete secondssegmentsegmentsself service permissionself service permissionsserverserver roleserver rolesserversserviceservice category cannot be set to 'all' while there are allowed servicesservice delegation ruleservice delegation rulesservice delegation targetservice delegation targetsservice delegation targets to addservice delegation targets to removeservicesservices cannot be added when service category='all'services to addservices to removesetting Authoritative nameservershould not be a wildcard domain name (RFC 4592 section 4)sidgen_was_runskip reverse DNS detectionsn is requiredstage userstage userssubject alt name type %s is forbidden for non-user principalssubject alt name type %s is forbidden for user principalssubtree and type are mutually exclusivesudo commandsudo command groupsudo command groupssudo command groups to addsudo command groups to removesudo commandssudo commands to addsudo commands to removesudo rulesudo rulessuffixsuffixessystem ID Viewsystem IPA objects (e.g. system groups, user private groups) cannot be overriddentarget and targetgroup are mutually exclusivethe IPA server and the remote domain cannot share the same NetBIOS name: %sthe certificate with serial number the entry was deleted while being modifiedthe value does not follow "YYYYMMDDHHMMSS" time formatthere must be at least one target entry specifier (e.g. target, targetfilter, attrs)this option has been deprecated.this option is deprecatedtoo many '@' characterstrusttrust configurationtrust domaintrust domainstrust typetrusted domain objecttrusted domain object not foundtrusted domain user not foundtruststype of IPA object (user, group, host, hostgroup, service, netgroup)type, filter, subtree and targetgroup are mutually exclusiveunknown command '%(name)s'unknown error %(code)d from %(server)s: %(error)sunsupported functional levelunsupported trust typeurluseruser "%s" is already activeuser category cannot be set to 'all' while there are allowed usersusersusers and hosts cannot both be setusers cannot be added when runAs user or runAs group category='all'users cannot be added when user category='all'users cannot be set when type is 'hostgroup'users to addusers to exclude from migrationusers to removevaluevaultvaultcontainervaultcontainersvaults{attr}: no such attribute{role}: role not foundProject-Id-Version: freeipa 4.6.5.dev201907290557+git8334a8789 Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket POT-Creation-Date: 2020-04-02 07:45+0000 PO-Revision-Date: 2017-12-12 12:31+0000 Last-Translator: Yuri Chornoivan Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Zanata 4.6.2 Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) ПРИКЛАДИ: Приклади: Знайти усі сервери IPA: ipa server-find ЗАГАЛЬНІ НАЛАШТУВАННЯ DNS Перевизначення з метою додавання у повернуте повідомлення даних щодо успіху чи невдачі. Перевизначення з метою встановлення станів успіху та невдачі. Додати правило автоматичної участі. Додати умови до правила автоматичної участі. Додати новий діапазон ідентифікаторів. Щоб додати новий діапазон ідентифікаторів, вам слід завжди вказати --base-id --range-size Крім того, можна вказати --rid-base --secondary-rid-base для нового діапазону ідентифікаторів для локального домену, а --rid-base --dom-sid слід вказати для додавання нового діапазону для довіреного домену AD. {0} Вилучити правило автоматичної участі. Показати дані щодо правила автоматичної участі. Показати дані щодо типових (резервних) груп автоматичної участі. Стан блокування облікового запису користувача Обліковий запис може бути заблоковано, якщо введено неправильний пароль забагато разів протягом певного проміжку часу, який визначається правилами роботи з паролями. Блокування облікового запису є тимчасовим станом, його може бути розблоковано адміністратором. Ця програма з’єднується з кожним основним вузлом IPA і показує стан блокування на кожному з них. Щоб визначити, чи слід блокувати обліковий запис на певному сервері, слід виконати порівняння кількості помилкових спроб входу та час останньої невдалої спроби з еталонними значеннями. Обліковий запис буде заблоковано, якщо буде перевищено кількість maxfail помилкових спроб протягом проміжку часу failinterval. Відповідні значення задаються правилами обробки паролів, пов’язаними з обліковим записом користувача. Зміни до лічильника помилкових спроб входу вносяться, лише коли користувач виконує спробу увійти, тому може статися так, що обліковий запис заблоковано, хоча час, що минув з останньої помилкової спроби, перевищує час блокування (lockouttime), заданий правилам обробки паролів. Це означає, що користувач може увійти до системи знову. Змінити запис довіри (для наступного використання). У поточній версії можлива зміна лише типова зміна атрибутів LDAP. Додаткові варіанти буде додано у наступних випусках. Змінити правило автоматичної участі. Вилучити умови з правила автоматичної участі. Вилучити типову (резервну) групу для невідповідних записів. Шукати правила автоматичної участі. Шукати користувачів, яких пов’язано із наданим сертифікатом. Для отримання списку відповідних користувачів ця команда покладається на дані SSSD, отже, вона може повертати кешовані дані. Докладніше про очищення кешу SSSD можна дізнатися із документації до sss_cache. Встановити типову (резервну) групу для невідповідних записів. Розблокувати обліковий запис користувача Обліковий запис може бути заблоковано, якщо відповідно до правил безпеки користувач перевищить обмеження на кількість введення помилкових паролів протягом певного часу. Запис блокується тимчасово, його може бути розблоковано адміністратором. Об’єкт контейнера сховищ. Об’єкт сховища. Ця команда еквівалентна до такої команди: ipa dnszone-mod example.com --dynamic-update=TRUE \ --update-policy="grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;" Додати запис місця: ipa location-add location --description 'My location' Додати сегмент топології до суфікса «ca»: ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B Додати сегмент топології до суфікса «domain»: ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B Створити новий запис служби сертифікації, підлеглий щодо служби сертифікації IPA. ipa ca-add puppet --desc "Puppet" \ --subject "CN=Puppet CA,O=EXAMPLE.COM" Вилучити запис служби сертифікації. ipa ca-del puppet Вилучити запис місця: ipa location-del location Вилучити сегмент топології у суфіксі «ca»: ipa topologysegment-del ca segment_name Вилучити сегмент топології у суфіксі «domain»: ipa topologysegment-del domain segment_name Вимкнути службу сертифікації. ipa ca-disable puppet Знайти усі місця: ipa location-find Знайти усі сервери: ipa server-find Знайти усі суфікси: ipa topologysuffix-find Вивести список усіх сегментів топології у суфіксі «ca»: ipa topologysegment-find ca Вивести список усіх сегментів топології у суфіксі «domain»: ipa topologysegment-find domain Повторно увімкнути службу сертифікації. ipa ca-enable puppet Показати налаштування певного сервера DNS: ipa dnsserver-show Показати певне місце: ipa location-show location Показати вказаний сервер: ipa server-show ipa.example.com Показати стан ролі «DNS server» на сервері: ipa server-role-show ipa.example.com "DNS server" Показати стан усіх налаштованих ролей на сервері: ipa server-role-find ipa.example.com Оновити налаштування для вказаного сервера DNS: ipa dnsserver-mod Перевірити топологію суфікса «ca»: ipa topologysuffix-verify ca Перевірити топологію суфікса «domain»: ipa topologysuffix-verify domain Додавання запису LOC для example.com: ipa dnsrecord-add example.com @ --loc-rec="49 11 42.4 N 16 36 29.6 E 227.64m" Додати умову до правила: ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers ipa automember-add-condition --key=manager --type=group --inclusive-regex=^uid=mscott devel Додати вузол, який може керувати сховищем ключів та сертифікатом цього вузла : ipa host-add-managedby --hosts=test2 test Додати запис вузла до правила: ipa sudorule-add-host readfiles --hosts server.example.com Додати вузол: ipa host-add web1.example.com Додавання поштового сервера для example.com: ipa dnsrecord-add example.com @ --mx-rec="10 mail1" Додати новий вузол з одноразовим паролем: ipa host-add --os='Fedora 12' --password=Secret123 test.example.com Додати новий вузол з випадковим одноразовим паролем: ipa host-add --os='Fedora 12' --random test.example.com Додати новий вузол: ipa host-add --location="3rd floor lab" --locality=Dallas test.example.com Додати новий сервер: ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812 Додати новий жетон: ipa otptoken-add --type=totp --owner=jdoe --desc="My soft token" Додати новий жетон: ipa otptoken-add-yubikey --owner=jdoe --desc="My YubiKey" Додати право доступу, яке надає можливість керувати участю у групах: ipa permission-add --attrs=member --permissions=write --type=group "Manage Group Members" Додати право доступу до створення записів користувачів: ipa permission-add --type=user --permissions=add "Add Users" Додати особливе правило sudo для типового налаштовування сервера sudo: ipa sudorule-add defaults Додати стандартне сховище: ipa vault-add <назва> [--user <користувач>|--service <служба>|--shared] --type standard Додати симетричне сховище: ipa vault-add <назва> [--user <користувач>|--service <служба>|--shared] --type symmetric --password-file пароль.txt Додати запис користувача до правила: ipa sudorule-add-user readfiles --users jsmith Додати запис користувача: ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott Додати асиметричне сховище: ipa vault-add <назва> [--user <користувач>|--service <служба>|--shared] --type asymmetric --public-key-file відкритий_ключ.pem Додати умову виключення до правила для запобігання автоматичному пов’язуванню: ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-regex=^web5\.example\.com webservers Додавання ще одного запису за допомогою специфічних для запису MX параметрів: ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2 Додавання ще одного запису за допомогою інтерактивного режиму (у який програма переходить у відповідь на команди dnsrecord-add, dnsrecord-mod або dnsrecord-del без параметрів): ipa dnsrecord-add example.com @ Будь ласка, виберіть тип запису ресурсу DNS, який слід додати Найпоширенішими типами для цього типу зон є: NS, MX, LOC Тип запису ресурсу DNS: MX Пріоритетність MX: 30 Обмінник MX: mail3 Назва запису: example.com Запис MX: 10 mail1, 20 mail2, 30 mail3 Запис NS: nameserver.example.com., nameserver2.example.com. Додавання нового запису A для www.example.com, крім того, створення зворотного запису у відповідній зворотній зоні. У цьому випадку запис PTR «2» вказує на www.example.com буде створено у зоні 2.0.192.in-addr.arpa. ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse Додавання нового запису PTR для www.example.com ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com. Додавання нових записів SRV для серверів LDAP. Три чверті запитів мають надсилатися до fast.example.com, а одна чверть — на slow.example.com. Якщо жодна зі служб не буде доступною, перемкнутися на backup.example.com. ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 3 389 fast.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 1 389 slow.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="1 1 389 backup.example.com" Додавання нової реверсивної зони, вказаної за допомогою мережевої IP-адреси: ipa dnszone-add --name-from-ip=192.0.2.0/24 Додавання нової зони: ipa dnszone-add example.com --admin-email=admin@example.com Додати другий сервер назв для example.com: ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com Додати об’єкт команди sudo і записати його як дозволену команду до правила: ipa sudocmd-add /usr/bin/less ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less Додавання загальносистемних прав доступу, якими можна скористатися для делегування привілеїв для окремих зон: ipa dnszone-add-permission example.com Додати початкову групу або групу вузлів: ipa hostgroup-add --desc="Web Servers" webservers ipa group-add --desc="Developers" devel Додати початкове правило: ipa automember-add --type=hostgroup webservers ipa automember-add --type=group devel Додати записи учасників сховища: ipa vault-add-member <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Додати записи власників сховища: ipa vault-add-owner <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Після внесення цих змін три п’ятих запитів має надсилатися до fast.example.com, а дві п’ятих — до slow.example.com. Дозволити користувачеві створення таблиці ключів: ipa host-allow-create-keytab test2 --users=tuser1 Дозволити користувачеві створювати таблицю ключів: ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1 Приклад інтерактивного режиму для команди dnsrecord-del: ipa dnsrecord-del example.com www Не вказано параметр вилучення певного запису. Вилучити усі? Так/Ні (типово «Ні»): (не вилучати усі записи) Поточний вміст запису DNS: Запис A: 192.0.2.2, 192.0.2.3 Вилучити запис A «192.0.2.2»? Так/Ні (типово «Ні»): Вилучити запис A «192.0.2.3»? Так/Ні (типово «Ні»): y Назва запису: www Запис A: 192.0.2.2 (Запис A 192.0.2.3 вилучено) Архівувати дані до асиметричного сховища: ipa vault-archive [--user <користувач>|--service <служба>|--shared] --in <файл вхідних даних> Архівувати дані до стандартного сховища: ipa vault-archive [--user <користувач>|--service <служба>|--shared] --in <файл вхідних даних> Архівувати дані до симетричного сховища: ipa vault-archive [--user <користувач>|--service <служба>|--shared] --in <файл вхідних даних> --password-file пароль.txt Змінити правила переспрямовування для external.example.com: ipa dnsforwardzone-mod external.example.com --forward-policy=only Змінити реєстраційні дані: ipa radiusproxy-mod MyRADIUS --secret Змінити постачальника: ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor="Red Hat" Перевірити стан запиту щодо підписування: ipa cert-status 10 Створити правило прив’язування сертифікатів до профілів: ipa certmaprule-add rule1 --desc="Link certificate with subject and issuer" Створити правило: ipa sudorule-add readfiles Делегування зони sub.example до іншого сервера назв: ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1 ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com. Вилучити правило прив’язування сертифікатів до профілів: ipa certmaprule-del rule1 Вилучити налаштування: ipa radiusproxy-del MyRADIUS Вилучити вузол: ipa host-del test.example.com Вилучити жетон: ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a Вилучити сховище: ipa vault-del <назва> [--user <користувач>|--service <служба>|--shared] Вилучити правило автоматичної участі: ipa automember-del --type=hostgroup webservers ipa automember-del --type=group devel Вилучення зони переспрямовування external.example.com: ipa dnsforwardzone-del external.example.com Вилучення раніше доданого сервера назв з example.com: ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com. Вилучити записи учасників сховища: ipa vault-remove-member <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Вилучити записи учасників сховища: ipa vault-remove-owner <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Вилучення зони example.com з усіма записами ресурсів: ipa dnszone-del example.com Вимкнути правило прив’язування сертифікатів до профілів: ipa certmaprule-disable rule1 Вимикання загального переспрямовування для вказаного піддерева: ipa dnszone-mod example.com --forward-policy=none Вимкнути ключ Kerberos вузла, сертифікат SSL та усі його служби: ipa host-disable test.example.com Показати правило автоматичної участі: ipa automember-show --type=hostgroup webservers ipa automember-show --type=group devel Вивести дані щодо правила прив’язування сертифікатів до профілів: ipa certmaprule-show rule1 Вивести загальні налаштування прив’язки сертифікатів до профілів: ipa certmapconfig-show Вивести налаштування сховищ: ipa vaultconfig-show Увімкнути правило прив’язування сертифікатів до профілів: ipa certmaprule-enable rule1 Перевірити сертифікат: ipa cert-find --file=cert.pem --all Перевірити налаштування: ipa radiusproxy-show MyRADIUS Перевірити жетон: ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a Знайти записи A зі значенням 192.0.2.2 у зоні example.com ipa dnsrecord-find example.com --a-rec=192.0.2.2 Знайти усі правила прив’язування сертифікатів до профілів із вказаним доменом: ipa certmaprule-find --domain example.com Знайти усіх правила автоматичної участі: ipa automember-find Знайти усі сервери, чиї запис містять рядок «example.com»: ipa radiusproxy-find example.com Знайти записи для ресурсів з «www» у назві у зоні example.com: ipa dnsrecord-find example.com www Знайти параметри user-find: ipa param-find user-find Знайти зону зі словом «example» у назві домену: ipa dnszone-find example Переспрямувати усі запити для зони external.example.com до іншого переспрямовувача з використанням правила «first» (надсилати запити до вибраного переспрямовувача і, якщо він не відповість, скористатися загальними кореневими серверами): ipa dnsforwardzone-add external.example.com --forward-policy=first \ --forwarder=203.0.113.1 Створити і отримати таблицю ключів служби IPA: ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab Якщо налаштовано загальний переспрямовувач, усі запити, для яких цей сервер не є надійним (наприклад sub.example.com) не маршрутизуватимуться до загального переспрямовувача. Загальні налаштування переспрямовування можна перевизначати для окремих зон. Показати список усіх зон переспрямовування: ipa dnsforwardzone-find Вивести список сховищ: ipa vault-find [--user <користувач>|--service <служба>|--shared] Змінити загальні налаштування прив’язки сертифікатів до профілів: ipa certmapconfig-mod --promptusername=TRUE Змінити правило прив’язування сертифікатів до профілів: ipa certmaprule-mod rule1 --maprule="" Змінити ключ асиметричного сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --private-key-file <файл старого закритого ключа> --public-key-file <файл нового відкритого ключа> Зміна загальних налаштувань DNS і встановлення списку загальних переспрямовувачів: ipa dnsconfig-mod --forwarder=203.0.113.113 Змінити відомості щодо вузла: ipa host-mod --os='Fedora 12' test.example.com Змінити пароль до симетричного сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --change-password ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --old-password <старий пароль> --new-password <новий пароль> ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --old-password-file <файл старого пароля> --new-password-file <файл нового пароля> Змінити правило автоматичної участі: ipa automember-mod Зміна зони таким чином, щоб дозволити динамічне оновлення для власних записів вузлів у області EXAMPLE.COM: ipa dnszone-mod example.com --dynamic-update=TRUE Зміна зони таким чином, щоб дозволити перенесення зони лише для локальної мережі: ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24 Змінити опис сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --desc <опис> Змінити тип сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --type <тип> [старий пароль/закритий ключ] [новий пароль/відкритий ключ] Перебудувати записи участі для усіх вузлів: ipa automember-rebuild --type=hostgroup Перебудувати записи участі для усіх користувачів: ipa automember-rebuild --type=group Перебудувати записи участі для вказаних вузлів: ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example.com Перебудувати записи участі для вказаних користувачів: ipa automember-rebuild --users=tuser1 --users=tuser2 Вилучити відкриті ключі SSH вузла і оновити DNS відповідно до внесених змін: ipa host-mod --sshpubkey= --updatedns test.example.com Вилучити сертифікат зі списку відкликання: ipa cert-remove-hold 1032 Вилучити умову з правила: ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers Вилучити типову (резервну) групу призначення: ipa automember-default-group-remove --type=hostgroup ipa automember-default-group-remove --type=group Створити запит щодо нового сертифіката і додати реєстраційний запис: ipa cert-request --add --principal=HTTP/lion.example.com example.csr Визначити адресу вузла за назвою, якщо адреса існує (додасть типовий домен IPA, якщо домен не включено): ipa dns-resolve www.example.com ipa dns-resolve www Отримати вже створений сертифікат: ipa cert-show 1032 Отримати дані з асиметричного сховища: ipa vault-retrieve <назва> [--user <користувач>|--service <служба>|--shared] --out <файл результатів> --private-key-file private.pem Отримати дані зі стандартного сховища: ipa vault-retrieve <назва> [--user <користувач>|--service <служба>|--shared] --out <файл результатів> Отримати дані з симетричного сховища: ipa vault-retrieve <назва> [--user <користувач>|--service <служба>|--shared] --out <файл результатів> --password-file password.txt Відкликати сертифікат (причини визначено у RFC 5280): ipa cert-revoke --revocation-reason=6 1032 Пошук сертифікатів за датою видання ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07 Пошук сертифікатів за назвою вузла: ipa cert-find --subject=ipaserver.example.com Пошук сертифікатів, власником яких є вказаний користувач: ipa cert-find --user=user Пошук відкликаних сертифікатів за причиною: ipa cert-find --revocation-reason=5 Семантика переспрямовування у IPA збігається із семантикою BIND і залежить від типу зони: * Основна зона: локальний BIND надає надійні відповіді для даних у заданій зоні (включено з надійними відповідями NXDOMAIN), а переспрямовування стосуватиметься лише запитів щодо назв за межами (записами NS) зон, що обслуговуються локально. * Зона переспрямовування: зона переспрямовування не містить надійних даних. BIND переспрямовує запити, на які не вдалося отримати відповіді з локального кешу, до налаштованих переспрямовувачів. Семантика параметра --forward-policy: * none — вимкнути переспрямовування для вказаної зони. * first — спрямувати усі запити до налаштованих переспрямовувачів. Якщо це не спрацює, виконати перетворення за допомогою кореневих серверів DNS. * only — спрямувати усі запити до налаштованих переспрямовувачів. Якщо це не спрацює, повернути повідомлення про помилку. Встановити переходи типу і ролі SELinux на правило: ipa sudorule-add-option sysadmin_sudo --sudooption type=unconfined_t ipa sudorule-add-option sysadmin_sudo --sudooption role=unconfined_r Встановити типовий варіант дій для sudo: ipa sudorule-add-option defaults --sudooption '!authenticate' Встановити типову (резервну) групу призначення: ipa automember-default-group-set --default-group=webservers --type=hostgroup ipa automember-default-group-set --default-group=ipausers --type=group Показати сховище: ipa vault-show <назва> [--user <користувач>|--service <служба>|--shared] Показати зону переспрямовування external.example.com: ipa dnsforwardzone-show external.example.com Показати загальні налаштування DNS: ipa dnsconfig-show Показати записи для ресурсу www у зоні example.com ipa dnsrecord-show example.com www Показати типову (резервну) групу призначення: ipa automember-default-group-show --type=hostgroup ipa automember-default-group-show --type=group Показати подробиці щодо user-find: ipa command-show user-find Показати зону example.com: ipa dnszone-show example.com Для полегшення внесення змін можна скористатися інтерактивним режимом: ipa dnsrecord-mod example.com _ldap._tcp Можливості внесення змін у певний запис не передбачено. Поточний вміст запису DNS: Запис SRV: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 backup.example.com Змінити запис SRV «0 3 389 fast.example.com»? Так/Ні (типово «Ні»): Змінити запис SRV «0 1 389 slow.example.com»? Так/Ні (типово «Ні»): y Пріоритетність SRV [0]: (зберегти типове значення) Вага SRV [1]: 2 (змінене значення) Порт SRV [389]: (зберегти типове значення) Призначення SRV [slow.example.com]: (зберегти типове значення) Пропущено 1 запис SRV. Одночасно можна змінювати лише одне значення на тип запису DNS. Назва запису: _ldap._tcp Запис SRV: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 389 slow.example.com За цих налаштувань усі запити щодо назв поза піддеревом example.com буде спрямовано до загальних переспрямовувачів. Для назв у межах піддерева example.com буде використано звичайну рекурсивну (тобто з переходом за записами NS) процедуру визначення. Перевірити правила автоматичної участі: ipa hostgroup-show webservers Група вузлів: webservers Опис: Web Servers Вузли-учасники: web1.example.com ipa group-show devel Назва групи: devel Опис: Developers GID: 1004200000 Користувачі-учасники: tuser Перевірити, чи є власником сертифіката вказаний користувач: ipa cert-find --file=cert.pem --user=user * Права доступу надають можливість читати, записувати, вилучати, шукати або порівнювати. * Привілеї поєднують подібні права доступу (наприклад усі права доступу, потрібні для додавання запису користувача). * Роль надає набір привілеїв користувачам, групам, вузлам або групам вузлів. * Вузол має існувати * Служба має існувати (або слід скористатися параметром --add дляавтоматичного додавання) Сертифікат зберігається з реєстраційним записом, а реєстраційний запис потребує вузла. Умова є формальним виразом, використовується 389-ds для встановлення відповідності нового вхідного запису з правилом автоматичної участі. Якщо умові відповідає правило включення, запис додається до відповідної групи або групи вузлів. Можна визначити типову групу або групу вузлів, яку буде використано для записів, які не відповідають жодному правилу. У випадку записів користувачів ця група буде резервною групою, оскільки усіх користувачі типово є учасниками групи, вказаної у налаштуваннях IPA. Запис правил доступу уможливлює точне делегування прав. Запис прав доступу є зручною для читання обгорткою навколо правила керування доступом 389-ds або інструкції (ACI). Право доступу надає право виконувати специфічне завдання, зокрема додавання запису користувача, внесення зміни до групи тощо. Запис права доступу складається з декількох різних частин: 1. Назви запису права доступу. 2. Призначення права доступу. 3. Права, які надаються записом. Запис прав доступу не може містити інших прав доступу. Правило безпосередньо пов’язується з групою за назвою, отже ви не можете створити правило без визначення групи або групи вузлів. Схема API Додати новий діапазон ідентифікаторів. Для додавання нового діапазону ідентифікаторів вам слід завжди вказувати --base-id --range-size Крім того, може бути надано --rid-base --econdary-rid-base для додавання нового діапазону ідентифікаторів для локального домену і --rid-base --dom-sid для додавання нового діапазону для довіреного домену AD. ПОПЕРЕДЖЕННЯ: Додаток DNA у 389-ds визначатиме ідентифікатори у діапазонах, налаштованих для локального домену. У поточній версії додаток DNA *не може* змінити власні налаштування на основі локальних діапазонів, встановлених за допомогою цього сімейства команд. Для внесення змін щодо локального діапазону слід змінити налаштування додатка DNA вручну. Зокрема, слід внести зміни до атрибута 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' відповідно до параметрів нового діапазону. Додати новий діапазон ідентифікаторів. Для додавання нового діапазону ідентифікаторів вам слід завжди вказувати --base-id --range-size Крім того, може бути надано --rid-base --econdary-rid-base для додавання нового діапазону ідентифікаторів для локального домену і --rid-base --dom-sid для додавання нового діапазону для довіреного домену AD. ПОПЕРЕДЖЕННЯ: Додаток DNA у 389-ds визначатиме ідентифікатори у діапазонах, налаштованих для локального домену. У поточній версії додаток DNA *не може* змінити власні налаштування на основі локальних діапазонів, встановлених за допомогою цього сімейства команд. Для внесення змін щодо локального діапазону слід змінити налаштування додатка DNA вручну. Зокрема, слід внести зміни до атрибута 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' відповідно до параметрів нового діапазону. Додати новий діапазон ідентифікаторів. Для додавання нового діапазону ідентифікаторів вам слід завжди вказувати --base-id --range-size Крім того, може бути надано --rid-base --econdary-rid-base для додавання нового діапазону ідентифікаторів для локального домену і --rid-base --dom-sid для додавання нового діапазону для довіреного домену AD. ======= ПОПЕРЕДЖЕННЯ: Додаток DNA у 389-ds визначатиме ідентифікатори у діапазонах, налаштованих для локального домену. У поточній версії додаток DNA *не може* змінити власні налаштування на основі локальних діапазонів, встановлених за допомогою цього сімейства команд. Для внесення змін щодо локального діапазону слід змінити налаштування додатка DNA вручну. Зокрема, слід внести зміни до атрибута 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' відповідно до параметрів нового діапазону. ======= Додати новий запис довіри для використання. За допомогою цієї команди можна встановити відносини довіри з іншим доменом, який після цього вважається «довіреним». У результаті користувачі довіреного домену зможуть отримувати доступ до ресурсів цього домену. У поточній версії передбачено підтримку лише відносин довіри з доменами Active Directory. Команду можна безпечно запускати декілька разів для одного і того самого домену, такий запуск призводить до зміни у реєстраційних записах відносин довіри з обох боків. Зауважте, що якщо команда раніше виконувалася із вказаним типом діапазону або автоматичним визначенням типу діапазону, і ви хочете налаштувати інший тип діапазону, ймовірно, вам доведеться вилучити першй діапазон ідентифікаторів за допомогою ipa idrange-del, перш ніж ви зможете повторити команду із бажаним типом. Додати новий запис довіри для використання. За допомогою цієї команди можна встановити відносини довіри з іншим доменом, який після цього вважається «довіреним». У результаті користувачі довіреного домену зможуть отримувати доступ до ресурсів цього домену. У поточній версії передбачено підтримку лише відносин довіри з доменами Active Directory. Команду можна безпечно запускати декілька разів для одного і того самого домену, такий запуск призводить до зміни у реєстраційних записах відносин довіри з обох боків. Крім того, передбачено вказані нижче параметри. Встановлення одного з цих параметрів призводить до встановлення відповідних атрибутів. 1. type: тип об’єкта (користувач, група тощо); встановлює фільтрування за піддеревом (subtree) та фільтрування за призначенням (target filter). 2. memberof: застосовувати до учасників групи; встановлює фільтр за призначенням (target filter). 3. targetgroup: надає доступ до внесення змін до певної групи (зокрема, доступ до надання можливості керування участю у групі); встановлює призначення (target). Угоди представляються сегментами топології. Типово, сегмент топології представляється 2 угодами реплікації — по одній для кожного напрямку, наприклад від A до B і від B до A. Створення односпрямованих сегментів заборонене. Усі слжуби сертифікації, окрім служби сертифікації «IPA», можна вимикати і повторно вмикати. Вимикання служби сертифікації призводить до заборони для неї видавати сертифікати, але не впливає на чинність її сертифіката. До правила sudo можна додати порядок, який керуватиме порядком обробки записів (якщо такий порядок передбачено на клієнтському боці). Порядок визначається числовим індексом, який не повинен повторюватися. Асиметричне сховище є подібним до стандартного сховища, але у ньому реєстраційні дані попередньо шифруються до передавання за допомогою відкритого ключа. Реєстраційні дані можна отримати лише за допомогою закритого ключа. Правило автоматичної участі. Правило автоматичної участі. Внесіть ясність у правила участі вузлів та користувачів налаштовуванням формальних виразів шаблонів включення або виключення. Ви можете автоматично пов’язувати нові записи з групою або групою вузлів на основі даних щодо атрибутів. Правило безпосередньо пов’язується з групою за назвою, отже ви не можете створити правило без визначення групи або групи вузлів. Умова є формальним виразом, використовується 389-ds для встановлення відповідності нового вхідного запису з правилом автоматичної участі. Якщо умові відповідає правило включення, запис додається до відповідної групи або групи вузлів. Можна визначити типову групу або групу вузлів, яку буде використано для записів, які не відповідають жодному правилу. У випадку записів користувачів ця група буде резервною групою, оскільки усіх користувачі типово є учасниками групи, вказаної у налаштуваннях IPA. ПРИКЛАДИ: Додати початкову групу або групу вузлів: ipa hostgroup-add --desc="Web Servers" webservers ipa group-add --desc="Developers" devel Додати початкове правило: ipa automember-add --type=hostgroup webservers ipa automember-add --type=group devel Додати умову до правила: ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers ipa automember-add-condition --key=manager --type=group --inclusive-regex=^uid=mscott devel Додати умову виключення до правила для запобігання автоматичному пов’язуванню: ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-regex=^web5\.example\.com webservers Додати вузол: ipa host-add web1.example.com Додати запис користувача: ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott Перевірити правила автоматичної участі: ipa hostgroup-show webservers Група вузлів: webservers Опис: Web Servers Вузли-учасники: web1.example.com ipa group-show devel Назва групи: devel Опис: Developers GID: 1004200000 Користувачі-учасники: tuser Вилучити умову з правила: ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers Змінити правило автоматичної участі: ipa automember-mod Встановити типову (резервну) групу призначення: ipa automember-default-group-set --default-group=webservers --type=hostgroup ipa automember-default-group-set --default-group=ipausers --type=group Вилучити типову (резервну) групу призначення: ipa automember-default-group-remove --type=hostgroup ipa automember-default-group-remove --type=group Показати типову (резервну) групу призначення: ipa automember-default-group-show --type=hostgroup ipa automember-default-group-show --type=group Знайти усіх правила автоматичної участі: ipa automember-find Показати правило автоматичної участі: ipa automember-show --type=hostgroup webservers ipa automember-show --type=group devel Вилучити правило автоматичної участі: ipa automember-del --type=hostgroup webservers ipa automember-del --type=group devel Правило автоматичної участі. Внесіть ясність у правила участі вузлів та користувачів налаштовуванням формальних виразів шаблонів включення або виключення. Ви можете автоматично пов’язувати нові записи з групою або групою вузлів на основі даних щодо атрибутів. Правило безпосередньо пов’язується з групою за назвою, отже ви не можете створити правило без визначення групи або групи вузлів. Умова є формальним виразом, використовується 389-ds для встановлення відповідності нового вхідного запису з правилом автоматичної участі. Якщо умові відповідає правило включення, запис додається до відповідної групи або групи вузлів. Можна визначити типову групу або групу вузлів, яку буде використано для записів, які не відповідають жодному правилу. У випадку записів користувачів ця група буде резервною групою, оскільки усіх користувачі типово є учасниками групи, вказаної у налаштуваннях IPA. За допомогою програми automember-rebuild ви можете повторно застосувати правила автоматичної участі до вже створених записів, тобто перебудувати схему участі. Додати початкову групу або групу вузлів: ipa hostgroup-add --desc="Web Servers" webservers ipa group-add --desc="Developers" devel Додати початкове правило: ipa automember-add --type=hostgroup webservers ipa automember-add --type=group devel Додати умову до правила: ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers ipa automember-add-condition --key=manager --type=group --inclusive-regex=^uid=mscott devel Додати умову виключення до правила для запобігання автоматичному пов’язуванню: ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-regex=^web5\.example\.com webservers Додати вузол: ipa host-add web1.example.com Додати запис користувача: ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott Перевірити правила автоматичної участі: ipa hostgroup-show webservers Група вузлів: webservers Опис: Web Servers Вузли-учасники: web1.example.com ipa group-show devel Назва групи: devel Опис: Developers GID: 1004200000 Користувачі-учасники: tuser Вилучити умову з правила: ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers Змінити правило автоматичної участі: ipa automember-mod Встановити типову (резервну) групу призначення: ipa automember-default-group-set --default-group=webservers --type=hostgroup ipa automember-default-group-set --default-group=ipausers --type=group Вилучити типову (резервну) групу призначення: ipa automember-default-group-remove --type=hostgroup ipa automember-default-group-remove --type=group Показати типову (резервну) групу призначення: ipa automember-default-group-show --type=hostgroup ipa automember-default-group-show --type=group Знайти усіх правила автоматичної участі: ipa automember-find Показати правило автоматичної участі: ipa automember-show --type=hostgroup webservers ipa automember-show --type=group devel Вилучити правило автоматичної участі: ipa automember-del --type=hostgroup webservers ipa automember-del --type=group devel Перебудувати записи участі для усіх користувачів: ipa automember-rebuild --type=group Перебудувати записи участі для усіх вузлів: ipa automember-rebuild --type=hostgroup Перебудувати записи участі для вказаних користувачів: ipa automember-rebuild --users=tuser1 --users=tuser2 Перебудувати записи участі для вказаних вузлів: ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example.com Автоматичне монтування Зберігає налаштування automount(8) для autofs(8) у IPA. Основою налаштувань автоматичного монтування є файл налаштувань auto.master. Це також основне місце у IPA. Декілька налаштувань auto.master можна зберігати у окремих місцях. Місце залежить від реалізації, типовим є місце з назвою «default». Наприклад, ви можете створити місця для географічної області, поверху, типу тощо. У автоматичного монтування є три основних типи об’єктів: місця, карти і ключі. Місце визначає набір карт, прив’язаних у auto.master. За його допомогою можна зберігати одразу декілька налаштувань автоматичного монтування. Місце саме собою не є дуже цікавим, це просто початок нової карти автоматичного монтування. Карта є наближеним еквівалентом окремого файла автоматичного монтування, у ній зберігаються ключі. Ключ — точка монтування, пов’язана з картою. Під час створення нового місця автоматично створюються дві карти: auto.master і auto.direct. auto.master — коренева карта для всіх карт автоматичного монтування місця. auto.direct — типова карта для безпосередніх монтувань, її змонтовано до /-. Карта автоматичного монтування може містити ключ підмонтування. Цей ключ визначає адресу монтування у карті, що посилається на іншу карту. Такий ключ може бути додано або за допомогою команди automountmap-add-indirect --parentmap або вручну за допомогою automountkey-add зі встановленням info у значення "-type=autofs :<назва карти>". ПРИКЛАДИ: Місця: Створення нового місця, "Kyiv": ipa automountlocation-add kyiv Показ нового місця: ipa automountlocation-show kyiv Пошук доступних місць: ipa automountlocation-find Вилучення іменованого місця автоматичного монтування: ipa automountlocation-del kyiv Показ того, як мають виглядати карти автоматичного монтування, якщо б вони перебували у файловій системі: ipa automountlocation-tofiles kyiv Імпортування вже створених налаштувань до місця: ipa automountlocation-import kyiv /etc/auto.master Спроба імпортування зазнає невдачі, якщо буде знайдено дублікати записів. Щоб програма працювала безперервно (з пропусканням всіх помилок), скористайтеся параметром --continue. Карти: Створення карти "auto.share": ipa automountmap-add kyiv auto.share Показ нової карти: ipa automountmap-show kyiv auto.share Пошук карт у місці kyiv: ipa automountmap-find baltimore Створити непряму карту з auto.share як точкою підмонтування: ipa automountmap-add-indirect baltimore --parentmap=auto.share --mount=sub auto.man Ця команда еквівалентна до таких команд: ipa automountmap-add-indirect baltimore --mount=/man auto.man ipa automountkey-add baltimore auto.man --key=sub --info="-fstype=autofs ldap:auto.share" Вилучення карти auto.share: ipa automountmap-del kyiv auto.share Ключі: Створення ключа для карти auto.share у місці kyiv. Карту буде пов’язано з раніше створеною у auto.master: ipa automountkey-add kyiv auto.master --key=/share --info=auto.share Створення ключа для нашої карти auto.share, змонтованого ресурсу NFS для сторінок man: ipa automountkey-add kyiv auto.share --key=man --info="-ro,soft,rsize=8192,wsize=8192 ipa.example.com:/shared/man" Знайти всі ключі для карти auto.share: ipa automountkey-find kyiv auto.share Пошук всіх безпосередніх ключів автоматичного монтування: ipa automountkey-find kyiv --key=/- Вилучення ключа man для карти auto.share: ipa automountkey-del kyiv auto.share --key=man За правами власності сховища поділяються на три категорії: * приватні сховища користувачів * сховища служб * сховища спільного використання За механізмами захисту сховища поділяються на три типи: * стандартні сховища * симетричні сховища * асиметричні сховища Основний користувач Містить загальні визначення щодо користувача або користувача етапу. Внесіть ясність у правила участі вузлів та користувачів налаштовуванням формальних виразів шаблонів включення або виключення. Ви можете автоматично пов’язувати нові записи з групою або групою вузлів на основі даних щодо атрибутів. Усі записи служб сертифікації (окрім служби «IPA») можна вилучати. Вилучення запису служби сертифікації призводить до відкликання її підписувального сертифіката і вилучення закритого ключа. Служби сертифікації увімкнено при створенні, але їхнє використання регулюється ACL служб сертифікації, якщо у оператора немає дозволу обходити ACL служб сертифікації (CA). Прив’язка сертифікатів до профілів Запити щодо сертифікатів існують у формі Certificate Signing Request (CSR) і форматі PEM. Шукати сертифікати можна за призначенням сертифіката, серійним номером, причиною відкликання, датами чинності та датою видання. Класи для керування довіреними приєднаннями за допомогою викликів DCE-RPC Код цього модуля жорстко залежить від вмісту пакунка samba4-python та обгорток для мови Python у Samba4. Команди для автоматичної побудови запитів щодо сертифікації Довіра між областями Керування відносинами довіри між доменами IPA і Active Directory. З метою надання доступу користувачам віддаленого домену до ресурсів у домені IPA слід встановити відносини довіри. У поточній версії у IPA передбачено підтримку довіри лише між доменами IPA і Active Directory під керуванням Windows Server 2008 або новішої версії з функціональними можливостями рівня 2008 або новішої версії. Будь ласка, зауважте, що слід належним чином налаштувати DNS на обох доменах, IPA і Active Directory, щоб домени могли виявити один одного. Працездатність відносин довіри залежить від можливості виявлення спеціальних ресурсів у іншому домені за допомогою записів DNS. Приклад: 1. Встановити довіру між областями з Active Directory за допомогою реєстраційних даних адміністратора AD: ipa trust-add --type=ad <домен.ad> --admin <адміністратор домену AD> --password 2. Показати список всіх наявних відносин довіри: ipa trust-find 3. Показати подробиці щодо певних відносин довіри: ipa trust-show <домен.ad> 4. Вилучити наявні відносини довіри: ipa trust-del <домен.ad> Щойно відносини довіри буде встановлено, віддалених користувачів слід прив’язати до локальних груп POSIX, щоб скористатися ресурсами IPA. Прив’язку слід виконати за допомогою використання зовнішньої участі групи не-POSIX, а потім цю групу має бути включено до однієї з локальних груп POSIX. Приклади: 1. Створити групу для прив’язки адміністраторів та їхньої локальної групи POSIX довіреного домену: ipa group-add --desc='<домен.ad> admins external map' ad_admins_external --external ipa group-add --desc='<домен.ad> admins' ad_admins 2. Додати ідентифікатор безпеки Domain Admins домену <домен.ad> до групи ad_admins_external: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Дозволити прив’язування учасників групи ad_admins_external до групи POSIX ad_admins: ipa group-add-member ad_admins --groups ad_admins_external 4. Показати список зовнішніх учасників групи ad_admins_external для перегляду їхніх SID: ipa group-show ad_admins_external НАЛАШТУВАННЯ ДОВІРИ ЗАГАЛЬНОГО РІВНЯ Якщо встановлено підпакунок довіри AD IPA та запущено ipa-adtrust-install, створюються налаштування локального домену (SID, GUID, назва NetBIOS). Після цього створені ідентифікатори використовуються для обміну даними з довіреним доменом певного типу. 1. Показати налаштування довіри загального рівня для типів довіри Active Directory: ipa trustconfig-show --type ad 2. Змінити загальні налаштування для всіх довір типу Active Directory і встановити іншу резервну основну групу (GID резервної основної групи використовується як GID основного користувача, якщо користувача розпізнано у домені IPA, але він не має жодного вже встановленого основного GID): ipa trustconfig-mod --type ad --fallback-primary-group "alternative AD group" 3. Повернути для резервної основної групи значення типової прихованої групи (будь-якої групи, у якій дозволено клас об’єктів posixGroup): ipa trustconfig-mod --type ad --fallback-primary-group "Default SMB Group" Довіра між областями Керування відносинами довіри між доменами IPA і Active Directory. З метою надання доступу користувачам віддаленого домену до ресурсів у домені IPA слід встановити відносини довіри. У поточній версії у IPA передбачено підтримку довіри лише між доменами IPA і Active Directory під керуванням Windows Server 2008 або новішої версії з функціональними можливостями рівня 2008 або новішої версії. Будь ласка, зауважте, що слід належним чином налаштувати DNS на обох доменах, IPA і Active Directory, щоб домени могли виявити один одного. Працездатність відносин довіри залежить від можливості виявлення спеціальних ресурсів у іншому домені за допомогою записів DNS. Приклад: 1. Встановити довіру між областями з Active Directory за допомогою реєстраційних даних адміністратора AD: ipa trust-add --type=ad <домен.ad> --admin <адміністратор домену AD> --password 2. Показати список всіх наявних відносин довіри: ipa trust-find 3. Показати подробиці щодо певних відносин довіри: ipa trust-show <домен.ad> 4. Вилучити наявні відносини довіри: ipa trust-del <домен.ad> Щойно відносини довіри буде встановлено, віддалених користувачів слід прив’язати до локальних груп POSIX, щоб скористатися ресурсами IPA. Прив’язку слід виконати за допомогою використання зовнішньої участі групи не-POSIX, а потім цю групу має бути включено до однієї з локальних груп POSIX. Приклади: 1. Створити групу для прив’язки адміністраторів та їхньої локальної групи POSIX довіреного домену: ipa group-add --desc='<домен.ad> admins external map' ad_admins_external --external ipa group-add --desc='<домен.ad> admins' ad_admins 2. Додати ідентифікатор безпеки Domain Admins домену <домен.ad> до групи ad_admins_external: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Дозволити прив’язування учасників групи ad_admins_external до групи POSIX ad_admins: ipa group-add-member ad_admins --groups ad_admins_external 4. Показати список зовнішніх учасників групи ad_admins_external для перегляду їхніх SID: ipa group-show ad_admins_external НАЛАШТУВАННЯ ДОВІРИ ЗАГАЛЬНОГО РІВНЯ Якщо встановлено підпакунок довіри AD IPA та запущено ipa-adtrust-install, створюються налаштування локального домену (SID, GUID, назва NetBIOS). Після цього створені ідентифікатори використовуються для обміну даними з довіреним доменом певного типу. 1. Показати налаштування довіри загального рівня для типів довіри Active Directory: ipa trustconfig-show --type ad 2. Змінити загальні налаштування для всіх довір типу Active Directory і встановити іншу резервну основну групу (GID резервної основної групи використовується як GID основного користувача, якщо користувача розпізнано у домені IPA, але він не має жодного вже встановленого основного GID): ipa trustconfig-mod --type ad --fallback-primary-group "another AD group" 3. Повернути для резервної основної групи значення типової прихованої групи (будь-якої групи, у якій дозволено клас об’єктів posixGroup): ipa trustconfig-mod --type ad --fallback-primary-group "Default SMB Group" Налаштування DNS, що передаються до скрипту командного рядка для встановлення, зберігаються у локальному файлі налаштувань на кожному з серверів IPA, де налаштовано службу DNS. Ці локальні параметри можна перевизначити за допомогою загальних налаштувань, що зберігаються на сервері LDAP: Налаштування сервера DNS Дані, що зберігаються на серверах IPA, відтворюються на інших серверах IPA. Спосіб відтворення (реплікації) визначається угодами. Угоди реплікації потрібно встановлювати для обох суфіксів окремо. На рівні домену 0 угодами керують програми ipa-replica-manage та ipa-csreplica-manage. На рівні доменів 1 керування виконується централізовано за допомогою команд «ipa topology*». Дати обробляються як дати за Гринвічем, відповідно до дат визначених усертифікатах. Вилучення або перейменування керованих прав доступу, а також зміну призначення таких прав, заборонено. Інструкції керування доступом до сервера каталогів (ACI) ACI використовуються для надання або заборони доступу до даних. Поточну версію цього модуля розроблено з метою надання, а не заборони доступу. Команди aci розроблено для надання прав доступу до оновлення вже створених записів та додавання або вилучення записів. Метою ACI, які постачаються з IPA є створення набору низькорівневих прав доступу до особливих груп, які називаються групами завдань. Ці низькорівневі права доступу можна поєднувати у ролі, які надаватимуть ширший доступ. Ролі є іншим типом груп, який називається групами ролей. Наприклад, якщо у вас є групи завдань, які надають доступ до додавання або зміни записів користувачів, ви можете створити роль, адміністратора користувачів (useradmin). Далі, можна призначати користувачів до ролі useradmin, щоб надати їм доступ до операцій, визначених групами завдань. Ви можете створити ACI, які надаватимуть дозволи так, що користувачі групи A зможуть записувати атрибути для групи B. Параметр типу визначає карту, яка застосовується до всіх записів у списках користувачів, груп та розташування вузла. Основним призначенням є надання прав доступу на додавання (створення нових записів). ACI складається з трьох частин: 1. призначення 2. прав доступу 3. правил прив’язування Призначення — набір правил, який визначає, які з об’єктів LDAP є призначенням. Призначення може включати список атрибутів, області цієї ієрархії LDAP або фільтра LDAP. До призначень включаються: - attrs: список атрибутів, яких стосується призначення; - type: тип об’єктів (користувач, група, вузол, служба тощо); - memberof: учасники групи; - targetgroup: надати доступ до зміни певної групи. Ця частина в основному розроблена для надання дозволу користувачам на додавання або вилучення учасників певної групи. - filter: чинний фільтр LDAP, використаний для звуження області призначення. - subtree: використовується для застосування правила для цілого набору об’єктів. Наприклад, для надання доступу на додавання користувачів вам слід надати право доступу "add" до підієрархії ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. Параметр subtree є безпечним для об’єктів, які можуть не стосуватися параметром type. Права доступу визначають набір доступних ACI записів, можуть містити з одного або декількох варіантів: 1. write - запис одного або декількох атрибутів; 2. read - читання одного або декількох атрибутів; 3. add - додавання нового запису до ієрархії; 4. delete - вилучення наявного запису; 5. all - надання всіх прав доступу. Зауважте відмінність між атрибутами та записами. Права доступу є незалежними, отже можливість додавання користувача не означає можливості зміни параметрів його облікового запису. Правило прив’язування визначає, кому це ACI надає права доступу. Сервер LDAP надає можливість визначати будь-який коректний запис LDAP, але вам варто використовувати групи завдань, щоб права можна було без проблем спільно використовувати для декількох ролей. Повніший опис керування доступом можна знайти тут: http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html ПРИКЛАДИ: ЗАУВАЖЕННЯ: у поточній версії ACI додаються за допомогою додатка прав доступу. Ці приклади мають продемонструвати роботу різних параметрів, але у поточній версії це завдання виконується за допомогою команди надання прав доступу (останній приклад). Додавання ACI для надання доступу групі "secretaries" до оновлення адреси будь-якого користувача: ipa group-add --desc="Офісні секретарки" secretaries ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none "Секретарки записують адреси" Показ нового ACI: ipa aci-show --prefix=none "Секретарки записують адреси" Додавання ACI, яке надасть доступ учасникам групи "addusers" доступ до додавання нових користувачів: ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none "Додавання користувачів" Додавання ACI, яке надасть доступ учасникам групи "editors" до керування записами учасників групи "admins": ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none "Редактори керують адміністраторами" Додавання ACI, яке надасть доступ учасникам групи "admins" до зміни поштової адреси та індексу користувачів групи "editors": ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street --attrs=postalcode --prefix=none "Адміністратори редагують адреси редакторів" Додавання ACI, яке надасть доступ групі "admins" до зміни поштової адреси та індексу всіх, хто працює начальником: ipa aci-add --permissions=write --group=admins --attrs=street --attrs=postalcode --filter="(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)" --prefix=none "Зміна адрес тих, хто працює начальником" Додавання повністю нового типу записів до IPA, який не визначається жодним з параметрів --type, створення прав доступу: ipa permission-add --permissions=add --subtree="cn=*,cn=orange,cn=accounts,dc=example,dc=com" --desc="Додавання помаранчевих записів" add_orange Команда show показує прості 389-ds ACI. ВАЖЛИВО: під час зміни атрибутів призначення вже створеного ACI вам слід включити всі вже створені атрибути. Під час внесення змін до aci targetattr ЗАМІНЮЄ поточні атрибути, а не додає ці атрибути. Інструкції керування доступом до сервера каталогів (ACI) ACI використовуються для надання або заборони доступу до даних. Поточну версію цього модуля розроблено з метою надання, а не заборони доступу. Команди aci розроблено для надання прав доступу до оновлення вже створених записів та додавання або вилучення записів. Метою ACI, які постачаються з IPA є створення набору низькорівневих прав доступу до особливих груп, які називаються групами завдань. Ці низькорівневі права доступу можна поєднувати у ролі, які надаватимуть ширший доступ. Ролі є іншим типом груп, який називається групами ролей. Наприклад, якщо у вас є групи завдань, які надають доступ до додавання або зміни записів користувачів, ви можете створити роль, адміністратора користувачів (useradmin). Далі, можна призначати користувачів до ролі useradmin, щоб надати їм доступ до операцій, визначених групами завдань. Ви можете створити ACI, які надаватимуть дозволи так, що користувачі групи A зможуть записувати атрибути для групи B. Параметр типу визначає карту, яка застосовується до всіх записів у списках користувачів, груп та розташування вузла. Основним призначенням є надання прав доступу на додавання (створення нових записів). ACI складається з трьох частин: 1. призначення 2. прав доступу 3. правил прив’язування Призначення — набір правил, який визначає, які з об’єктів LDAP є призначенням. Призначення може включати список атрибутів, області цієї ієрархії LDAP або фільтра LDAP. До призначень включаються: - attrs: список атрибутів, яких стосується призначення; - type: тип об’єктів (користувач, група, вузол, служба тощо); - memberof: учасники групи; - targetgroup: надати доступ до зміни певної групи. Ця частина в основному розроблена для надання дозволу користувачам на додавання або вилучення учасників певної групи. - filter: чинний фільтр LDAP, використаний для звуження області призначення. - subtree: використовується для застосування правила для цілого набору об’єктів. Наприклад, для надання доступу на додавання користувачів вам слід надати право доступу "add" до підієрархії ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. Параметр subtree є безпечним для об’єктів, які можуть не стосуватися параметром type. Права доступу визначають набір доступних ACI записів, можуть містити з одного або декількох варіантів: 1. write - запис одного або декількох атрибутів; 2. read - читання одного або декількох атрибутів; 3. add - додавання нового запису до ієрархії; 4. delete - вилучення наявного запису; 5. all - надання всіх прав доступу. Зауважте відмінність між атрибутами та записами. Права доступу є незалежними, отже можливість додавання користувача не означає можливості зміни параметрів його облікового запису. Правило прив’язування визначає, кому це ACI надає права доступу. Сервер LDAP надає можливість визначати будь-який коректний запис LDAP, але вам варто використовувати групи завдань, щоб права можна було без проблем спільно використовувати для декількох ролей. Повніший опис керування доступом можна знайти тут: http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html ПРИКЛАДИ: ЗАУВАЖЕННЯ: у поточній версії ACI додаються за допомогою додатка прав доступу. Ці приклади мають продемонструвати роботу різних параметрів, але у поточній версії це завдання виконується за допомогою команди надання прав доступу (останній приклад). Додавання ACI для надання доступу групі "secretaries" до оновлення адреси будь-якого користувача: ipa group-add --desc="Офісні секретарки" secretaries ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none "Секретарки записують адреси" Показ нового ACI: ipa aci-show --prefix=none "Секретарки записують адреси" Додавання ACI, яке надасть доступ учасникам групи "addusers" доступ до додавання нових користувачів: ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none "Додавання користувачів" Додавання ACI, яке надасть доступ учасникам групи "editors" до керування записами учасників групи "admins": ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none "Редактори керують адміністраторами" Додавання ACI, яке надасть доступ учасникам групи "admins" до зміни поштової адреси та індексу користувачів групи "editors": ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street,postalcode --prefix=none "Адміністратори редагують адреси редакторів" Додавання ACI, яке надасть доступ групі "admins" до зміни поштової адреси та індексу всіх, хто працює начальником: ipa aci-add --permissions=write --group=admins --attrs=street,postalcode --filter="(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)" --prefix=none "Зміна адрес тих, хто працює начальником" Додавання повністю нового типу записів до IPA, який не визначається жодним з параметрів --type, створення прав доступу: ipa permission-add --permissions=add --subtree="cn=*,cn=orange,cn=accounts,dc=example,dc=com" --desc="Додавання помаранчевих записів" add_orange Команда show показує прості 389-ds ACI. ВАЖЛИВО: під час зміни атрибутів призначення вже створеного ACI вам слід включити всі вже створені атрибути. Під час внесення змін до aci targetattr ЗАМІНЮЄ поточні атрибути, а не додає ці атрибути. Система назв доменів (DNS) Система назв доменів (DNS) Керування записами зон та ресурсів DNS. ВИКОРИСТАННЯ СТРУКТУРОВАНИХ ПАРАМЕТРІВ ДЛЯ ОКРЕМИХ ТИПІВ Існує багато структурованих типів RR DNS, для яких дані DNS, що зберігаються на сервері LDAP, не є скалярним значенням, наприклад дані щодо IP-адресу або назву домену, а структурою даних, яка часто може бути складною. Прикладом може бути запис LOC [RFC1876], який складається з багатьох обов’язкових і необов’язкових частин (градусів, мінут, секунд широти і довготи, висоти та похибки). Робота з такими записами DNS без помилки і введення некоректного значення може бути складною. Модуль DNS надає у ваше розпорядження абстракцію над цими необробленими записами і спосіб керування кожним з типів RR за допомогою специфічних параметрів. Для кожного з підтримуваних типів RR у модулі DNS передбачено стандартний параметр для роботи із необробленими записами за допомогою формату --<тип_rr>-rec, наприклад, --mx-rec та зі спеціальними параметрами для кожної із частин структури RR за допомогою формату --<тип_rr>-<назва_частини>, наприклад --mx-preference та --mx-exchanger. Під час додавання запису можна скористатися специфічними для RR параметрами або стандартним параметром для необробленого значення. Втім, поєднувати ці варіанти у одній дії із додавання не можна. Під час внесення змін до наявного запису можна скористатися для зміни однієї частини запису DNS новими специфічними параметрами RR, причому для визначення зміненого значення буде використано стандартний варіант необробленого значення. У наведеному нижче прикладі продемонстровано зміну пріоритетності запису MX з 0 на 1 у записі без внесення змін до обмінника: ipa dnsrecord-mod --mx-rec="0 mx.example.com." --mx-preference=1 ПРИКЛАДИ: Додавання нової зони: ipa dnszone-add example.com --name-server=ns --admin-email=admin@example.com --ip-address=10.0.0.1 Додавання загальносистемних прав доступу, якими можна скористатися для делегування привілеїв для окремих зон: ipa dnszone-add-permission example.com Зміна зони таким чином, щоб дозволити динамічне оновлення для власних записів вузлів у області EXAMPLE.COM: ipa dnszone-mod example.com --dynamic-update=TRUE Ця команда еквівалентна до такої команди: ipa dnszone-mod example.com --dynamic-update=TRUE --update-policy="grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;" Зміна зони таким чином, щоб дозволити перенесення зони лише для локальної мережі: ipa dnszone-mod example.com --allow-transfer=10.0.0.0/8 Додавання нової реверсивної зони, вказаної за допомогою мережевої IP-адреси: ipa dnszone-add --name-from-ip=80.142.15.0/24 --name-server=ns.example.com. Додати другий сервер назв для example.com: ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com Додавання поштового сервера для example.com: ipa dnsrecord-add example.com @ --mx-rec="10 mail1" Додавання ще одного запису за допомогою специфічних для запису MX параметрів: ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2 Додавання ще одного запису за допомогою інтерактивного режиму (у який програма переходить у відповідь на команди dnsrecord-add, dnsrecord-mod або dnsrecord-del без параметрів): ipa dnsrecord-add example.com @ Будь ласка, виберіть тип запису ресурсу DNS, який слід додати Найпоширенішими типами для цього типу зон є: NS, MX, LOC Тип запису ресурсу DNS: MX Пріоритетність MX: 30 Обмінник MX: mail3 Назва запису: example.com Запис MX: 10 mail1, 20 mail2, 30 mail3 Запис NS: nameserver.example.com., nameserver2.example.com. Вилучення раніше доданого сервера назв з example.com: ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com. Додавання запису LOC для example.com: ipa dnsrecord-add example.com @ --loc-rec="49 11 42.4 N 16 36 29.6 E 227.64m" Додавання нового запису A для www.example.com, крім того, створення зворотного запису у відповідній зворотній зоні. У цьому випадку запис PTR «2» вказує на www.example.com буде створено у зоні 15.142.80.in-addr.arpa. ipa dnsrecord-add example.com www --a-rec=80.142.15.2 --a-create-reverse Додавання нового запису PTR для www.example.com ipa dnsrecord-add 15.142.80.in-addr.arpa. 2 --ptr-rec=www.example.com. Додавання нових записів SRV для серверів LDAP. Три чверті запитів мають надсилатися до fast.example.com, а одна чверть — на slow.example.com. Якщо жодна зі служб не буде доступною, перемкнутися на backup.example.com. ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 3 389 fast.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 1 389 slow.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="1 1 389 backup.example.com" Для полегшення внесення змін можна скористатися інтерактивним режимом: ipa dnsrecord-mod example.com _ldap._tcp Можливості внесення змін у певний запис не передбачено. Поточний вміст запису DNS: Запис SRV: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 backup.example.com Змінити запис SRV «0 3 389 fast.example.com»? Так/Ні (типово «Ні»): Змінити запис SRV «0 1 389 slow.example.com»? Так/Ні (типово «Ні»): y Пріоритетність SRV [0]: (зберегти типове значення) Вага SRV [1]: 2 (змінене значення) Порт SRV [389]: (зберегти типове значення) Призначення SRV [slow.example.com]: (зберегти типове значення) Пропущено 1 запис SRV. Одночасно можна змінювати лише одне значення на тип запису DNS. Назва запису: _ldap._tcp Запис SRV: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 389 slow.example.com Після внесення цих змін три п’ятих запитів має надсилатися до fast.example.com, а дві п’ятих — до slow.example.com. Приклад інтерактивного режиму для команди dnsrecord-del: ipa dnsrecord-del example.com www Не вказано параметр вилучення певного запису. Вилучити усі? Так/Ні (типово «Ні»): (не вилучати усі записи) Поточний вміст запису DNS: Запис A: 192.0.2.2, 192.0.2.3 Вилучити запис A «192.0.2.2»? Так/Ні (типово «Ні»): Вилучити запис A «192.0.2.3»? Так/Ні (типово «Ні»): y Назва запису: www Запис A: 192.0.2.2 (Запис A 192.0.2.3 вилучено) Показати зону example.com: ipa dnszone-show example.com Знайти зону зі словом «example» у назві домену: ipa dnszone-find example Знайти записи для ресурсів з «www» у назві у зоні example.com: ipa dnsrecord-find example.com www Знайти записи A зі значенням 10.10.0.1 у зоні example.com ipa dnsrecord-find example.com --a-rec=10.10.0.1 Показати записи для ресурсу www у зоні example.com ipa dnsrecord-show example.com www Делегування зони sub.example до іншого сервера назв: ipa dnsrecord-add example.com ns.sub --a-rec=10.0.100.5 ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com. Якщо налаштовано загальний переспрямовувач, усі запити, для яких цей сервер не є надійним (наприклад sub.example.com) не маршрутизуватимуться до загального переспрямовувача. Щоб змінити поведінку лише для зони example.com і переспрямувати запит безпосередньо до ns.sub.example.com, можна вимкнути загальне переспрямовування для окремої зони: ipa dnszone-mod example.com --forward-policy=none Переспрямувати усі запити для зони external.com до іншого сервера назв за правилами «first» (надіслати запити до вибраного переспрямовувача, а якщо він не відповів, використати загальні засоби визначення): ipa dnszone-add external.com ipa dnszone-mod external.com --forwarder=10.20.0.1 --forward-policy=first Вилучити зону example.com із усіма записами ресурсів: ipa dnszone-del example.com Визначити адресу за назвою вузла, щоб визначити, чи він існує (додасть типовий домен IPA, якщо його не включено): ipa dns-resolve www.example.com ipa dns-resolve www ЗАГАЛЬНІ НАЛАШТУВАННЯ DNS Налаштування DNS, що передаються до скрипту командного рядка для встановлення, зберігаються у локальному файлі налаштувань на кожному з серверів IPA, де налаштовано службу DNS. Ці локальні параметри можна перевизначити за допомогою загальних налаштувань, що зберігаються на сервері LDAP: Показати загальні налаштування DNS: ipa dnsconfig-show Зміна загальних налаштувань DNS і встановлення списку загальних переспрямовувачів: ipa dnsconfig-mod --forwarder=10.0.0.1 Система назв доменів (DNS) Керування записами зон та ресурсів DNS. ПІДТРИМУВАНІ ТИПИ ЗОН * Основна зона (dnszone-*), містить довірені дані. * Зона переспрямовування (dnsforwardzone-*), переспрямовує запити до налаштованих засобів обробки (набору серверів DNS). ВИКОРИСТАННЯ СТРУКТУРОВАНИХ ПАРАМЕТРІВ ДЛЯ ОКРЕМИХ ТИПІВ Існує багато структурованих типів RR DNS, для яких дані DNS, що зберігаються на сервері LDAP, не є скалярним значенням, наприклад дані щодо IP-адресу або назву домену, а структурою даних, яка часто може бути складною. Прикладом може бути запис LOC [RFC1876], який складається з багатьох обов’язкових і необов’язкових частин (градусів, мінут, секунд широти і довготи, висоти та похибки). Робота з такими записами DNS без помилки і введення некоректного значення може бути складною. Модуль DNS надає у ваше розпорядження абстракцію над цими необробленими записами і спосіб керування кожним з типів RR за допомогою специфічних параметрів. Для кожного з підтримуваних типів RR у модулі DNS передбачено стандартний параметр для роботи із необробленими записами за допомогою формату --<тип_rr>-rec, наприклад, --mx-rec та зі спеціальними параметрами для кожної із частин структури RR за допомогою формату --<тип_rr>-<назва_частини>, наприклад --mx-preference та --mx-exchanger. Під час додавання запису можна скористатися специфічними для RR параметрами або стандартним параметром для необробленого значення. Втім, поєднувати ці варіанти у одній дії із додавання не можна. Під час внесення змін до наявного запису можна скористатися для зміни однієї частини запису DNS новими специфічними параметрами RR, причому для визначення зміненого значення буде використано стандартний варіант необробленого значення. У наведеному нижче прикладі продемонстровано зміну пріоритетності запису MX з 0 на 1 у записі без внесення змін до обмінника: ipa dnsrecord-mod --mx-rec="0 mx.example.com." --mx-preference=1 ПРИКЛАДИ: Додавання нової зони: ipa dnszone-add example.com --admin-email=admin@example.com Додавання загальносистемних прав доступу, якими можна скористатися для делегування привілеїв для окремих зон: ipa dnszone-add-permission example.com Зміна зони таким чином, щоб дозволити динамічне оновлення для власних записів вузлів у області EXAMPLE.COM: ipa dnszone-mod example.com --dynamic-update=TRUE Ця команда еквівалентна до такої команди: ipa dnszone-mod example.com --dynamic-update=TRUE \ --update-policy="grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;" Зміна зони таким чином, щоб дозволити перенесення зони лише для локальної мережі: ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24 Додавання нової реверсивної зони, вказаної за допомогою мережевої IP-адреси: ipa dnszone-add --name-from-ip=192.0.2.0/24 Додати другий сервер назв для example.com: ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com Додавання поштового сервера для example.com: ipa dnsrecord-add example.com @ --mx-rec="10 mail1" Додавання ще одного запису за допомогою специфічних для запису MX параметрів: ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2 Додавання ще одного запису за допомогою інтерактивного режиму (у який програма переходить у відповідь на команди dnsrecord-add, dnsrecord-mod або dnsrecord-del без параметрів): ipa dnsrecord-add example.com @ Будь ласка, виберіть тип запису ресурсу DNS, який слід додати Найпоширенішими типами для цього типу зон є: NS, MX, LOC Тип запису ресурсу DNS: MX Пріоритетність MX: 30 Обмінник MX: mail3 Назва запису: example.com Запис MX: 10 mail1, 20 mail2, 30 mail3 Запис NS: nameserver.example.com., nameserver2.example.com. Вилучення раніше доданого сервера назв з example.com: ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com. Додавання запису LOC для example.com: ipa dnsrecord-add example.com @ --loc-rec="49 11 42.4 N 16 36 29.6 E 227.64m" Додавання нового запису A для www.example.com, крім того, створення зворотного запису у відповідній зворотній зоні. У цьому випадку запис PTR «2» вказує на www.example.com буде створено у зоні 2.0.192.in-addr.arpa. ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse Додавання нового запису PTR для www.example.com ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com. Додавання нових записів SRV для серверів LDAP. Три чверті запитів мають надсилатися до fast.example.com, а одна чверть — на slow.example.com. Якщо жодна зі служб не буде доступною, перемкнутися на backup.example.com. ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 3 389 fast.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="0 1 389 slow.example.com" ipa dnsrecord-add example.com _ldap._tcp --srv-rec="1 1 389 backup.example.com" Для полегшення внесення змін можна скористатися інтерактивним режимом: ipa dnsrecord-mod example.com _ldap._tcp Можливості внесення змін у певний запис не передбачено. Поточний вміст запису DNS: Запис SRV: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 backup.example.com Змінити запис SRV «0 3 389 fast.example.com»? Так/Ні (типово «Ні»): Змінити запис SRV «0 1 389 slow.example.com»? Так/Ні (типово «Ні»): y Пріоритетність SRV [0]: (зберегти типове значення) Вага SRV [1]: 2 (змінене значення) Порт SRV [389]: (зберегти типове значення) Призначення SRV [slow.example.com]: (зберегти типове значення) Пропущено 1 запис SRV. Одночасно можна змінювати лише одне значення на тип запису DNS. Назва запису: _ldap._tcp Запис SRV: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 389 slow.example.com Після внесення цих змін три п’ятих запитів має надсилатися до fast.example.com, а дві п’ятих — до slow.example.com. Приклад інтерактивного режиму для команди dnsrecord-del: ipa dnsrecord-del example.com www Не вказано параметр вилучення певного запису. Вилучити усі? Так/Ні (типово «Ні»): (не вилучати усі записи) Поточний вміст запису DNS: Запис A: 192.0.2.2, 192.0.2.3 Вилучити запис A «192.0.2.2»? Так/Ні (типово «Ні»): Вилучити запис A «192.0.2.3»? Так/Ні (типово «Ні»): y Назва запису: www Запис A: 192.0.2.2 (Запис A 192.0.2.3 вилучено) Показати зону example.com: ipa dnszone-show example.com Знайти зону зі словом «example» у назві домену: ipa dnszone-find example Знайти записи для ресурсів з «www» у назві у зоні example.com: ipa dnsrecord-find example.com www Знайти записи A зі значенням 192.0.2.2 у зоні example.com ipa dnsrecord-find example.com --a-rec=192.0.2.2 Показати записи для ресурсу www у зоні example.com ipa dnsrecord-show example.com www Делегування зони sub.example до іншого сервера назв: ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1 ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com. Вилучення зони example.com з усіма записами ресурсів: ipa dnszone-del example.com Якщо налаштовано загальний переспрямовувач, усі запити, для яких цей сервер не є надійним (наприклад sub.example.com) не маршрутизуватимуться до загального переспрямовувача. Загальні налаштування переспрямовування можна перевизначати для окремих зон. Семантика переспрямовування у IPA збігається із семантикою BIND і залежить від типу зони: * Основна зона: локальний BIND надає надійні відповіді для даних у заданій зоні (включено з надійними відповідями NXDOMAIN), а переспрямовування стосуватиметься лише запитів щодо назв за межами (записами NS) зон, що обслуговуються локально. * Зона переспрямовування: зона переспрямовування не містить надійних даних. BIND переспрямовує запити, на які не вдалося отримати відповіді з локального кешу, до налаштованих переспрямовувачів. Семантика параметра --forwarder-policy: * none — вимкнути переспрямовування для вказаної зони. * first — спрямувати усі запити до налаштованих переспрямовувачів. Якщо це не спрацює, виконати перетворення за допомогою кореневих серверів DNS. * only — спрямувати усі запити до налаштованих переспрямовувачів. Якщо це не спрацює, повернути повідомлення про помилку. Вимикання загального переспрямовування для вказаного піддерева: ipa dnszone-mod example.com --forward-policy=none За цих налаштувань усі запити щодо назв поза піддеревом example.com буде спрямовано до загальних переспрямовувачів. Для назв у межах піддерева example.com буде використано звичайну рекурсивну (тобто з переходом за записами NS) процедуру визначення. Переспрямувати усі запити для зони external.example.com до іншого переспрямовувача з використанням правила «first» (надсилати запити до вибраного переспрямовувача і, якщо він не відповість, скористатися загальними кореневими серверами): ipa dnsforwardzone-add external.example.com --forward-policy=first \ --forwarder=203.0.113.1 Змінити правила переспрямовування для external.example.com: ipa dnsforwardzone-mod external.example.com --forward-policy=only Показати зону переспрямовування external.example.com: ipa dnsforwardzone-show external.example.com Показати список усіх зон переспрямовування: ipa dnsforwardzone-find Вилучення зони переспрямовування external.example.com: ipa dnsforwardzone-del external.example.com Визначити адресу вузла за назвою, якщо адреса існує (додасть типовий домен IPA, якщо домен не включено): ipa dns-resolve www.example.com ipa dns-resolve www ЗАГАЛЬНІ НАЛАШТУВАННЯ DNS Налаштування DNS, що передаються до скрипту командного рядка для встановлення, зберігаються у локальному файлі налаштувань на кожному з серверів IPA, де налаштовано службу DNS. Ці локальні параметри можна перевизначити за допомогою загальних налаштувань, що зберігаються на сервері LDAP: Показати загальні налаштування DNS: ipa dnsconfig-show Зміна загальних налаштувань DNS і встановлення списку загальних переспрямовувачів: ipa dnsconfig-mod --forwarder=203.0.113.113 РЕЄСТРАЦІЯ: Передбачено три сценарії реєстрації нових клієнтів: 1. Ви реєструєтеся як повноцінний адміністратор. Запис вузла може існувати або не існувати. Повноцінний адміністратор виконує роль hostadmin або є учасником групи admins. 2. Ви реєструєтеся як адміністратор з обмеженими правами. Вузол вже має існувати. Обмежений адміністратор виконує роль з привілеями Host Enrollment. 3. Вузол було створено з одноразовим паролем. ПРИКЛАДИ: Іменування Керування іменуванням для клієнтських комп’ютерів Іменуванням можна керувати або шляхом реєстрації на сервері іменування з визначенням імені користувача і пароля, або вручну, імпортуванням сертифікатів іменування. Сертифікат іменування містить вбудовані дані, зокрема те, як слід іменувати продукт, щодо кількості та дат чинності. Сервер іменування керує кількістю доступних іменувань клієнтів. Для позначення іменувань як таких, що використовуються сервером IPA, ви надаєте кількість, а система позначає їх як використані на сервері іменування. Зареєструватися на сервері іменування: ipa entitle-register consumer Імпортувати сертифікат іменування: ipa entitle-import /home/user/ipaclient.pem Показати поточні іменування: ipa entitle-status Отримати подробиці щодо сертифікатів іменування: ipa entitle-get Вжити деякі іменування із сервера іменувань: ipa entitle-consume 50 Реєстраційним ідентифікатором є унікальний ідентифікатор (UUID). Цей ідентифікатор буде ІМПОРТОВАНО, якщо ви скористалися entitle-import. Зміни у /etc/rhsm/rhsm.conf для набуття чинності потребуватимуть перезапуску служби httpd. У FreeIPA передбачено визначений binddn для використання з sudo, який розташовано у uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com У FreeIPA передбачено декілька параметрів налаштовування роботи sudo: Users: користувачі або групи, які можуть викликати sudo. Hosts: вузли або групи вузлів, користувачі якого можуть викликати sudo. Allow Command: специфічні команди, які можна виконувати за допомогою sudo. Deny Command: специфічні команди, які не можна виконувати за допомогою sudo. RunAsUser: користувачі або групи, від імені яких sudo виконуватиме команди. RunAsGroup: групи, ідентифікатори яких буде використано sudo для виконання команд. Options: різноманітні параметри sudoers, які можуть змінити поведінку sudo. Отримати дані щодо встановлених серверів IPA. Отримати стан ролей (сервер DNS, CA тощо), що надається основними серверами IPA. Міжгрупове уповноваження Права доступу може бути точно налаштовано. Правила керування доступом або інструкції (ACI), надання дозволу на виконання певних завдань, зокрема додавання користувача, внесення змін до групи тощо. Міжгрупові уповноваження надають учасникам однієї групи можливість оновлювати набір атрибутів учасників іншої групи. ПРИКЛАДИ: Додати правило уповноваження, яке надасть змогу керівникам (managers) редагувати адреси співробітників: ipa delegation-add --attrs=street --group=managers --membergroup=employees "managers edit employees' street" Під час керування списком атрибутів слід включати всі атрибути списку разом з вже створеними. Додавання до списку postalCode: ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --membergroup=employees "managers edit employees' street" Показ нашого оновленого правила: ipa delegation-show "managers edit employees' street" Вилучення правила: ipa delegation-del "managers edit employees' street" Міжгрупове уповноваження Права доступу може бути точно налаштовано. Правила керування доступом або інструкції (ACI), надання дозволу на виконання певних завдань, зокрема додавання користувача, внесення змін до групи тощо. Міжгрупові уповноваження надають учасникам однієї групи можливість оновлювати набір атрибутів учасників іншої групи. ПРИКЛАДИ: Додати правило уповноваження, яке надасть змогу керівникам (managers) редагувати адреси співробітників: ipa delegation-add --attrs=street --group=managers --membergroup=employees "managers edit employees' street" Під час керування списком атрибутів слід включати всі атрибути списку разом з вже створеними. Додавання до списку postalCode: ipa delegation-mod --attrs=street,postalCode --group=managers --membergroup=employees "managers edit employees' street" Показ нашого оновленого правила: ipa delegation-show "managers edit employees' street" Вилучення правила: ipa delegation-del "managers edit employees' street" Групи команд sudo Керування групами команд sudo. ПРИКЛАДИ: Додати нову групу команд sudo: ipa sudocmdgroup-add --desc='administrators commands' admincmds Вилучити групу команд sudo: ipa sudocmdgroup-del admincmds Керування участю групи команд sudo, команди: ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/vim admincmds Керування участю групи команд sudo, команди: ipa group-remove-member --sudocmds=/usr/bin/less admincmds Показ групи команд sudo: ipa group-show localadmins Групи команд sudo Керування групами команд sudo. ПРИКЛАДИ: Додати нову групу команд sudo: ipa sudocmdgroup-add --desc='administrators commands' admincmds Вилучити групу команд sudo: ipa sudocmdgroup-del admincmds Керування участю групи команд sudo, команди: ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/vim admincmds Керування участю групи команд sudo, команди: ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds Показ групи команд sudo: ipa sudocmdgroup-show admincmds Групи команд sudo Керування групами команд sudo. ПРИКЛАДИ: Додати нову групу команд sudo: ipa sudocmdgroup-add --desc='administrators commands' admincmds Вилучити групу команд sudo: ipa sudocmdgroup-del admincmds Керування участю групи команд sudo, команди: ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less,/usr/bin/vim admincmds Керування участю групи команд sudo, команди: ipa group-remove-member --sudocmds=/usr/bin/less admincmds Показ групи команд sudo: ipa group-show localadmins Групи вузлів. Керування групами вузлів. Корисні для застосування керування до декількох вузлів на основі заснованого на вузлах керування доступом (Host-based Access Control або HBAC). ПРИКЛАДИ: додавання нової групи вузлів: ipa hostgroup-add --desc="Baltimore hosts" baltimore Додавання нової групи вузлів: ipa hostgroup-add --desc="Maryland hosts" maryland Додавання учасників до групи вузлів з використанням виразу Bash у фігурних дужках): ipa hostgroup-add-member --hosts={box1,box2,box3} baltimore Додавання групи вузлів як учасника іншої групи вузлів: ipa hostgroup-add-member --hostgroups=baltimore maryland Вилучення вузла з групи вузлів: ipa hostgroup-remove-member --hosts=box2 baltimore Показ списку групи вузлів: ipa hostgroup-show baltimore Вилучення групи вузлів: ipa hostgroup-del baltimore Групи вузлів. Керування групами вузлів. Корисні для застосування керування до декількох вузлів на основі заснованого на вузлах керування доступом (Host-based Access Control або HBAC). ПРИКЛАДИ: додавання нової групи вузлів: ipa hostgroup-add --desc="Baltimore hosts" baltimore Додавання нової групи вузлів: ipa hostgroup-add --desc="Maryland hosts" maryland Додавання учасників до групи вузлів: ipa hostgroup-add-member --hosts=box1,box2,box3 baltimore Додавання групи вузлів як учасника іншої групи вузлів: ipa hostgroup-add-member --hostgroups=baltimore maryland Вилучення вузла з групи вузлів: ipa hostgroup-remove-member --hosts=box2 baltimore Показ списку групи вузлів: ipa hostgroup-show baltimore Вилучення групи вузлів: ipa hostgroup-del baltimore Групи користувачів Керування групами користувачів. Типово нові групи є групами POSIX. Ви можете додати параметр --nonposix до команди group-add з метою позначення нової групи як групи не-POSIX. Ви можете скористатися аргументом --posix команди group-mod для перетворення групи не-POSIX на групу POSIX. Групи POSIX не можна перетворювати на групи не-POSIX. Кожна група повинна мати опис. Групи POSIX повинні мати номер ідентифікатора групи (GID). Передбачено підтримку зміни GID, але ця зміна може вплинути на права доступу до ваших файлів. Для створення групи слід вказати GID. IPA створить одну групу автоматично, якщо таку не вказано. ПРИКЛАДИ: Додавання нової групи: ipa group-add --desc='local administrators' localadmins Додавання нової групи не-POSIX: ipa group-add --nonposix --desc='remote administrators' remoteadmins Перетворити групу не-POSIX на групу posix: ipa group-mod --posix remoteadmins Додати нову групу POSIX з вказаним ідентифікатором групи: ipa group-add --gid=500 --desc='unix admins' unixadmins Додати нову групу POSIX і надати IPA змогу призначити ідентифікатор: ipa group-add --desc='printer admins' printeradmins Вилучення групи: ipa group-del unixadmins Додати групу "remoteadmins" до групи "localadmins": ipa group-add-member --groups=remoteadmins localadmins Додати список користувачів до групи "localadmins": ipa group-add-member --users=test1,test2 localadmins Вилучення користувача з групи "localadmins": ipa group-remove-member --users=test2 localadmins Показати інформацію щодо іменованої групи. ipa group-show localadmins Участь із зовнішніх груп створено для того, щоб уможливити прив’язку користувачів з довірених доменів до локальних груп POSIX з метою використання ресурсів IPA. Зовнішніх користувачів слід додавати до груп які спеціально створено як зовнішні або групи не-POSIX. Таку групу слід пізніше включити до одної з груп POSIX. У поточній версії учасник зовнішньої групи є ідентифікатором безпеки (Security Identifier або SID) визначеним довіреним доменом. Додавання учасників зовнішньої групи можна виконати у форматі SID, DOM\ім’я або ім’я@домен. IPA намагатиметься визначити за переданим іменем SID за допомогою використання Загального каталогу довіреного домену. Приклад: 1. Створити групу для прив’язки адміністраторів довіреного домену до відповідної локальної групи POSIX: ipa group-add --desc='<домен.ad> admins external map' ad_admins_external --external ipa group-add --desc='<домен.ad> admins' ad_admins 2. Додати ідентифікатор Domain Admins домену <домен.ad> до групи ad_admins_external: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Дозволити прив’язку групи ad_admins_external до групи POSIX ad_admins: ipa group-add-member ad_admins --groups ad_admins_external 4. Показати список зовнішніх учасників групи ad_admins_external, щоб визначити їхні SIDs: ipa group-show ad_admins_external Групи користувачів Керування групами користувачів. Типово нові групи є групами POSIX. Ви можете додати параметр --nonposix до команди group-add з метою позначення нової групи як групи не-POSIX. Ви можете скористатися аргументом --posix команди group-mod для перетворення групи не-POSIX на групу POSIX. Групи POSIX не можна перетворювати на групи не-POSIX. Кожна група повинна мати опис. Групи POSIX повинні мати номер ідентифікатора групи (GID). Передбачено підтримку зміни GID, але ця зміна може вплинути на права доступу до ваших файлів. Для створення групи слід вказати GID. IPA створить одну групу автоматично, якщо таку не вказано. ПРИКЛАДИ: Додавання нової групи: ipa group-add --desc='local administrators' localadmins Додавання нової групи не-POSIX: ipa group-add --nonposix --desc='remote administrators' remoteadmins Перетворити групу не-POSIX на групу posix: ipa group-mod --posix remoteadmins Додати нову групу POSIX з вказаним ідентифікатором групи: ipa group-add --gid=500 --desc='unix admins' unixadmins Додати нову групу POSIX і надати IPA змогу призначити ідентифікатор: ipa group-add --desc='printer admins' printeradmins Вилучення групи: ipa group-del unixadmins Додати групу "remoteadmins" до групи "localadmins": ipa group-add-member --groups=remoteadmins localadmins Додати список користувачів до групи "localadmins": ipa group-add-member --users=test1 --users=test2 localadmins Вилучення користувача з групи "localadmins": ipa group-remove-member --users=test2 localadmins Показати інформацію щодо іменованої групи. ipa group-show localadmins Участь із зовнішніх груп створено для того, щоб уможливити прив’язку користувачів з довірених доменів до локальних груп POSIX з метою використання ресурсів IPA. Зовнішніх користувачів слід додавати до груп які спеціально створено як зовнішні або групи не-POSIX. Таку групу слід пізніше включити до одної з груп POSIX. У поточній версії учасник зовнішньої групи є ідентифікатором безпеки (Security Identifier або SID) визначеним довіреним доменом. Додавання учасників зовнішньої групи можна виконати у форматі SID, DOM\ім’я або ім’я@домен. IPA намагатиметься визначити за переданим іменем SID за допомогою використання Загального каталогу довіреного домену. Приклад: 1. Створити групу для прив’язки адміністраторів довіреного домену до відповідної локальної групи POSIX: ipa group-add --desc='<домен.ad> admins external map' ad_admins_external --external ipa group-add --desc='<домен.ad> admins' ad_admins 2. Додати ідентифікатор Domain Admins домену <домен.ad> до групи ad_admins_external: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Дозволити прив’язку групи ad_admins_external до групи POSIX ad_admins: ipa group-add-member ad_admins --groups ad_admins_external 4. Показати список зовнішніх учасників групи ad_admins_external, щоб визначити їхні SIDs: ipa group-show ad_admins_external Групи користувачів Керування групами користувачів. Типово нові групи є групами POSIX. Ви можете додати параметр --nonposix до команди group-add з метою позначення нової групи як групи не-POSIX. Ви можете скористатися аргументом --posix команди group-mod для перетворення групи не-POSIX на групу POSIX. Групи POSIX не можна перетворювати на групи не-POSIX. Кожна група повинна мати опис. Групи POSIX повинні мати номер ідентифікатора групи (GID). Передбачено підтримку зміни GID, але ця зміна може вплинути на права доступу до ваших файлів. Для створення групи слід вказати GID. IPA створить одну групу автоматично, якщо таку не вказано. ПРИКЛАДИ: Додавання нової групи: ipa group-add --desc='local administrators' localadmins Додавання нової групи не-POSIX: ipa group-add --nonposix --desc='remote administrators' remoteadmins Перетворити групу не-POSIX на групу posix: ipa group-mod --posix remoteadmins Додати нову групу POSIX з вказаним ідентифікатором групи: ipa group-add --gid=500 --desc='unix admins' unixadmins Додати нову групу POSIX і надати IPA змогу призначити ідентифікатор: ipa group-add --desc='printer admins' printeradmins Вилучення групи: ipa group-del unixadmins Додати групу "remoteadmins" до групи "localadmins": ipa group-add-member --groups=remoteadmins localadmins Додати список користувачів до групи "localadmins": ipa group-add-member --users=test1 --users=test2 localadmins Вилучення користувача з групи "localadmins": ipa group-remove-member --users=test2 localadmins Показати інформацію щодо іменованої групи. ipa group-show localadmins Участь із зовнішніх груп створено для того, щоб уможливити прив’язку користувачів з довірених доменів до локальних груп POSIX з метою використання ресурсів IPA. Зовнішніх користувачів слід додавати до груп які спеціально створено як зовнішні або групи не-POSIX. Таку групу слід пізніше включити до одної з груп POSIX. У поточній версії учасник зовнішньої групи є ідентифікатором безпеки (Security Identifier або SID) визначеним довіреним доменом. Додавання учасників зовнішньої групи можна виконати у форматі SID, DOM\ім’я або ім’я@домен. IPA намагатиметься визначити за переданим іменем SID за допомогою використання Загального каталогу довіреного домену. Приклад: 1. Створити групу для прив’язки адміністраторів довіреного домену до відповідної локальної групи POSIX: ipa group-add --desc='<домен.ad> admins external map' ad_admins_external --external ipa group-add --desc='<домен.ad> admins' ad_admins 2. Додати ідентифікатор Domain Admins домену <домен.ad> до групи ad_admins_external: ipa group-add-member ad_admins_external --external 'AD\Domain Admins' 3. Дозволити прив’язку групи ad_admins_external до групи POSIX ad_admins: ipa group-add-member ad_admins --groups ad_admins_external 4. Показати список зовнішніх учасників групи ad_admins_external, щоб визначити їхні SIDs: ipa group-show ad_admins_external Групи служб HBAC Групи служб HBAC можуть містити будь-яку кількість окремих служб або «учасників». Кожна з груп повинна мати опис. ПРИКЛАДИ: Додавання нової групи служб HBAC: ipa hbacsvcgroup-add --desc="login services" login Додавання учасників до групи служб HBAC: ipa hbacsvcgroup-add-member --hbacsvcs=sshd --hbacsvcs=login login Показ даних щодо вказаної групи: ipa hbacsvcgroup-show login Вилучення групи служб HBAC: ipa hbacsvcgroup-del login Групи служб HBAC Групи служб HBAC можуть містити будь-яку кількість окремих служб або «учасників». Кожна з груп повинна мати опис. ПРИКЛАДИ: Додавання нової групи служб HBAC: ipa hbacsvcgroup-add --desc="login services" login Додавання учасників до групи служб HBAC: ipa hbacsvcgroup-add-member --hbacsvcs=sshd --hbacsvcs=login login Показ даних щодо вказаної групи: ipa hbacsvcgroup-show login Додавання нової групи до групи «login»: ipa hbacsvcgroup-add --desc="switch users" login ipa hbacsvcgroup-add-member --hbacsvcs=su,su-l login Вилучення групи служб HBAC: ipa hbacsvcgroup-del login Служби HBAC Служби PAM, якими може керувати HBAC. Назва, використана тут, має відповідати назві служби, з якою працює PAM. ПРИКЛАДИ: Додати нову службу HBAC: ipa hbacsvc-add tftp Змінити вже створену службу HBAC: ipa hbacsvc-mod --desc="TFTP service" tftp Шукати служби HBAC. У нашому прикладі буде повернуто два результати службу FTP і щойно додану службу tftp: ipa hbacsvc-find ftp Вилучення служби HBAC: ipa hbacsvc-del tftp Служби HBAC Служби PAM, якими може керувати HBAC. Назва, використана тут, має відповідати назві служби, з якою працює PAM. ПРИКЛАДИ: Додати нову службу HBAC: ipa hbacsvc-add tftp Змінити вже створену службу HBAC: ipa hbacsvc-mod --desc="TFTP service" tftp Шукати служби HBAC. У нашому прикладі буде повернуто два результати службу FTP і щойно додану службу tftp: ipa hbacsvc-find ftp Вилучення служби HBAC: ipa hbacsvc-del tftp Керування доступом на основі вузлів Керуйте тим, хто, на яких вузлах і з яких вузлів зможе отримувати доступ до певних служб. Ви можете скористатися HBAC для визначення користувачів і груп на вузлі походження запиту зможе отримувати доступ до певної служби або групи служб. Ви також можете визначити категорію користувачів та вузли призначення. У поточній версії можливі варіанти обмежено варіантом "all", але перелік варіантів може бути розширено у майбутніх версіях. Вузли призначення та вузли походження у правилах HBAC мають бути вузлами, керованими IPA. Доступними службами і групами служб є служби, керовані hbacsvc та додатками hbacsvcgroup, відповідно. ПРИКЛАДИ: Створення правила "test1", яке надає всім користувачам доступ до вузла "server" звідусюди: ipa hbacrule-add --usercat=all --srchostcat=all test1 ipa hbacrule-add-host --hosts=server.example.com test1 Показ властивостей вказаного правила HBAC: ipa hbacrule-show test1 Створення правила для певної служби. Це правило надасть користувачу john доступ до служби sshd у будь-якій системі звідусіль: ipa hbacrule-add --hostcat=all --srchostcat=all john_sshd ipa hbacrule-add-user --users=john john_sshd ipa hbacrule-add-service --hbacsvcs=sshd john_sshd Створення правила для нової групи служб. Користувачу john надається доступ до служби FTP у будь-якій системі звідусіль: ipa hbacsvcgroup-add ftpers ipa hbacsvc-add sftp ipa hbacsvcgroup-add-member --hbacsvcs=ftp,sftp ftpers ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_ftp ipa hbacrule-add-user --users=john john_ftp ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp Вимикання вказаного правила HBAC: ipa hbacrule-disable test1 Вилучення вказаного правила HBAC: ipa hbacrule-del allow_server Керування доступом на основі вузлів Керуйте тим, хто, з яких вузлів зможе отримувати доступ до певних служб. Ви можете скористатися HBAC для визначення користувачів і груп на вузлі походження запиту зможе отримувати доступ до певної служби або групи служб. Ви також можете визначити категорію користувачів та вузли призначення. У поточній версії можливі варіанти обмежено варіантом "all", але перелік варіантів може бути розширено у майбутніх версіях. Вузли призначення та вузли походження у правилах HBAC мають бути вузлами, керованими IPA. Доступними службами і групами служб є служби, керовані hbacsvc та додатками hbacsvcgroup, відповідно. ПРИКЛАДИ: Створення правила "test1", яке надає всім користувачам доступ до вузла "server" звідусюди: ipa hbacrule-add --usercat=all test1 ipa hbacrule-add-host --hosts=server.example.com test1 Показ властивостей вказаного правила HBAC: ipa hbacrule-show test1 Створення правила для певної служби. Це правило надасть користувачу john доступ до служби sshd у будь-якій системі звідусіль: ipa hbacrule-add --hostcat=all john_sshd ipa hbacrule-add-user --users=john john_sshd ipa hbacrule-add-service --hbacsvcs=sshd john_sshd Створення правила для нової групи служб. Користувачу john надається доступ до служби FTP у будь-якій системі звідусіль: ipa hbacsvcgroup-add ftpers ipa hbacsvc-add sftp ipa hbacsvcgroup-add-member --hbacsvcs=ftp --hbacsvcs=sftp ftpers ipa hbacrule-add --type=allow --hostcat=all john_ftp ipa hbacrule-add-user --users=john john_ftp ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp Вимикання вказаного правила HBAC: ipa hbacrule-disable test1 Вилучення вказаного правила HBAC: ipa hbacrule-del allow_server Вузли/Комп’ютери Вузол — це окремий комп’ютер. Термін може використовуватися у декількох контекстах: - записи служб, пов’язані з певним вузлом - вузол зберігає реєстраційні дані вузол/служба - вузол можна використовувати у правилах Host-based Access Control (HBAC) - для усіх зареєстрованих клієнтів створюється запис вузла Вузли/Комп’ютери Вузол — це окремий комп’ютер. Термін може використовуватися у декількох контекстах: - записи служб, пов’язані з певним вузлом - вузол зберігає реєстраційні дані вузол/служба - вузол можна використовувати у правилах Host-based Access Control (HBAC) - для усіх зареєстрованих клієнтів створюється запис вузла РЕЄСТРАЦІЯ: Передбачено три сценарії реєстрації нових клієнтів: 1. Ви реєструєтеся як повноцінний адміністратор. Запис вузла може існувати або не існувати. Повноцінний адміністратор виконує роль hostadmin або є учасником групи admins. 2. Ви реєструєтеся як адміністратор з обмеженими правами. Вузол вже має існувати. Обмежений адміністратор виконує роль з привілеями Host Enrollment. 3. Вузол було створено з одноразовим паролем. Вузлу можна надати роль лише один раз. Якщо клієнту вже надано роль і роль слід змінити, запис вузла має бути вилучено і створено повторно. Зауважте, що повторне створення запису вузла призведе до вилучення усіх служб для вузла, а усі сертифікати SSL, пов’язані із цими службами буде відкликано. Запис вузла може, якщо потрібно, містити дані щодо його розташування, типу операційної системи тощо. ПРИКЛАДИ: Додати новий вузол: ipa host-add --location="3rd floor lab" --locality=Dallas test.example.com Вилучити вузол: ipa host-del test.example.com Додати новий вузол з одноразовим паролем: ipa host-add --os='Fedora 12' --password=Secret123 test.example.com Додати новий вузол з випадковим одноразовим паролем: ipa host-add --os='Fedora 12' --random test.example.com Змінити відомості щодо вузла: ipa host-mod --os='Fedora 12' test.example.com Вилучити відкриті ключі SSH вузла і оновити DNS відповідно до внесених змін: ipa host-mod --sshpubkey= --updatedns test.example.com Вимкнути ключ Kerberos вузла, сертифікат SSL та усі його служби: ipa host-disable test.example.com Додати вузол, який може керувати сховищем ключів та сертифікатом цього вузла : ipa host-add-managedby --hosts=test2 test Вузли/Комп’ютери Вузол — це окремий комп’ютер. Термін може використовуватися у декількох контекстах: - записи служб, пов’язані з певним вузлом - вузол зберігає реєстраційні дані вузол/служба - вузол можна використовувати у правилах Host-based Access Control (HBAC) - для усіх зареєстрованих клієнтів створюється запис вузла РЕЄСТРАЦІЯ: Передбачено три сценарії реєстрації нових клієнтів: 1. Ви реєструєтеся як повноцінний адміністратор. Запис вузла може існувати або не існувати. Повноцінний адміністратор виконує роль hostadmin або є учасником групи admins. 2. Ви реєструєтеся як адміністратор з обмеженими правами. Вузол вже має існувати. Обмежений адміністратор виконує роль з привілеями Host Enrollment. 3. Вузол було створено з одноразовим паролем. ПОВТОРНА РЕЄСТРАЦІЯ: Вузол, якому вже колись було надано певну роль, але налаштування було втрачено (наприклад через знищення віртуальної машини), можна знову зареєструвати (надати роль). Щоб дізнатися більше, зверніться до сторінок підручника (man) щодо ipa-client-install. Запис вузла може, якщо потрібно, зберігати відомості щодо розташування, запущеної операційної системи тощо. ПРИКЛАДИ: Додати новий вузол: ipa host-add --location="3rd floor lab" --locality=Dallas test.example.com Вилучити вузол: ipa host-del test.example.com Додати новий вузол з одноразовим паролем: ipa host-add --os='Fedora 12' --password=Secret123 test.example.com Додати новий вузол з випадковим одноразовим паролем: ipa host-add --os='Fedora 12' --random test.example.com Змінити відомості щодо вузла: ipa host-mod --os='Fedora 12' test.example.com Вилучити відкриті ключі SSH вузла і оновити DNS відповідно до внесених змін: ipa host-mod --sshpubkey= --updatedns test.example.com Вимкнути ключ Kerberos вузла, сертифікат SSL та усі його служби: ipa host-disable test.example.com Додати вузол, який може керувати сховищем ключів та сертифікатом цього вузла : ipa host-add-managedby --hosts=test2 test Дозволити користувачеві створення таблиці ключів: ipa host-allow-create-keytab test2 --users=tuser1 Перегляди ідентифікаторів Керування переглядами ідентифікаторів IPA надає вам змогу перевизначити певні властивості записів користувачів та груп для окремих вузлів. В основному, ці функціональні можливості призначено для уможливлення перенесення даних із застарілих систем або інших рішень для керування профілями. Діапазони ідентифікаторів Керування діапазонами ідентифікаторів, використаних для відображення ідентифікаторів POSIX на SID, і навпаки. За допомогою цієї програми можна керувати обома типами діапазонів ідентифікаторів: - діапазони ідентифікаторів локального домену - діапазони ідентифікаторів довірених віддалених доменів Обидва типи мають такі спільні атрибути: - base-id: перший ідентифікатор діапазону ідентифікаторів POSIX - range-size: розмір діапазону На основі цих двох атрибутів об’єкт діапазону може зарезервувати ідентифікатори POSIX, починаючи з base-id аж до, але не включно, base-id+range-size. Крім того, можна встановити діапазон ідентифікаторів локального домену - rid-base: перший RID(*) відповідного діапазону RID - secondary-rid-base: перший RID вторинного діапазону RID а діапазон ідентифікаторів довіреного домену слід задавати за допомогою - rid-base: перший RID відповідного діапазону RID - dom_sid: SID довіреного домену ПРИКЛАД: додавання нового діапазону ідентифікаторів для довіреного домену Оскільки може бути декілька довірених доменів, під час створення діапазону ідентифікаторів слід вказати SID домену. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \ --dom-sid=S-1-5-21-123-456-789 trusted_dom_range Цей діапазон ідентифікаторів потім використовуватиметься сервером IPA та надавачем даних IPA SSSD для призначення UID Posix користувачам з довіреного домену. Якщо, наприклад, налаштовано діапазон для довіреного домену з такими значеннями: base-id = 1200000 range-size = 200000 rid-base = 0 RID від 0 до 199999 прив’язуються до ідентифікаторів Posix від 1200000 до 13999999. Отже RID 1000 <-> Posix ID 1201000 ПРИКЛАД: додавання нового діапазону ідентифікаторів до локального домену Щоб створити діапазон ідентифікаторів для локального домену не потрібно вказувати SID домену. Але оскільки можливий конфлікт між ідентифікаторами користувача і групи та ідентифікаторами POSIX, потрібен вторинний інтервал RID. ipa range-add --base-id=1200000 --range-size=200000 --rid-base=1000 \ --secondary-rid-base=1000000 local_range Дані з діапазонів ідентифікаторів локального домену використовуються сервером IPA на внутрішньому рівні для призначення SID користувачам і групам IPA. SID буде збережено у об’єктах користувача або групи. Якщо, наприклад, для діапазону ідентифікаторів локального домену визначено значення з наведеного вище прикладу, новий користувач з UID 1200007 отримає RID 1007. Якщо цей RID вже буде використано групою, його буде змінено на 1000007. Таке може трапитися лише, якщо об’єкт користувача або групи було створено з фіксованим ідентифікатором, оскільки у разі автоматичного призначення один ідентифікатор не може бути призначено двічі. Оскільки спільний простір назв є лише у користувачів і груп, достатньо одного резервного діапазону для того, щоб повністю позбутися конфліктів. Для визначення ідентифікатора POSIX за вказаним RID з локального домену слід спочатку перевірити, чи потрапляє RID у основний або вторинний діапазон RID, також, щоб отримати ідентифікатор POSIX, слід відняти від ідентифікатор rid-base або secondary-rid-base, відповідно, і додати base-id. Типово, створення діапазонів ідентифікаторів є зовні непомітним і потреби у цьому інтерфейсі командного рядка не виникає. Діапазон ідентифікаторів для локального домену буде створено під час встановлення або оновлення попередньої версії. Діапазон ідентифікаторів для довіреного домену буде створено разом з записом довіри командою «ipa trust-add ...». Нижче наведено можливі випадки використання цього командного інтерфейсу. ВИПАДКИ ВИКОРИСТАННЯ: Додавання діапазону ідентифікаторів з перехідного довіреного домену Якщо довірений домен (A) довіряється іншому домену (B) і цей запис довіри є перехідним, «ipa trust-add домен-A» створить лише діапазон для домену A. Діапазон ідентифікаторів домену B має бути додано вручну. Додавання додаткового діапазону ідентифікаторів для локального домену Якщо діапазон ідентифікаторів локального домену вичерпано, тобто додатком DNA не може бути призначено нові ідентифікатори користувачам або групам POSIX, має бути створено новий діапазон для додавання нових користувачів та груп. (У поточній версії між цим командним інтерфейсом і додатком DNA немає безпосереднього зв’язку, але у майбутній версії може бути передбачено можливість внесення змін і до налаштувань додатка DNS.) Загалом, потреби у зміні або вилученні діапазонів ідентифікаторів немає. Якщо немає іншого виходу, окрім внесення змін або вилучення діапазону ідентифікаторів, робити це слід дуже обережно. Оскільки UID зберігаються у файловій системі і використовуються для керування доступом, можлива ситуація, коли одні користувачі отримуватимуть доступ до файлів інших користувачів у разі вилучення діапазону ідентифікаторів і повторного його використання у іншому домені. (*) RID типово є останнім цілим числом SID користувача або групи, перед якими має бути вказано SID домену. Наприклад, якщо SID домену S-1-5-21-123-456-789, а користувач з цього домену має SID S-1-5-21-123-456-789-1010, RID користувача буде 1010. RID є унікальними в межах домену, є 32-бітовими значенням і використовуються для користувачів і груп. ПОПЕРЕДЖЕННЯ: Додаток DNA у 389-ds розміщуватиме ідентифікатори на основі діапазонів налаштованих для локального домену. У поточній версії додаток DNA *не можна* переналаштовувати самостійно на основі локальних діапазонів, встановлених за допомогою цього сімейства команд. Зміни налаштувань вручну має бути виконано у налаштуваннях додатка DNA для локального діапазону. Зокрема слід змінити атрибут dnaNextRange «cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config» так, щоб він відповідав новому діапазону. Діапазони ідентифікаторів Керування діапазонами ідентифікаторів, використаних для відображення ідентифікаторів POSIX на SID, і навпаки. За допомогою цієї програми можна керувати обома типами діапазонів ідентифікаторів: - діапазони ідентифікаторів локального домену - діапазони ідентифікаторів довірених віддалених доменів Обидва типи мають такі спільні атрибути: - base-id: перший ідентифікатор діапазону ідентифікаторів POSIX - range-size: розмір діапазону На основі цих двох атрибутів об’єкт діапазону може зарезервувати ідентифікатори POSIX, починаючи з base-id аж до, але не включно, base-id+range-size. Крім того, можна встановити діапазон ідентифікаторів локального домену - rid-base: перший RID(*) відповідного діапазону RID - secondary-rid-base: перший RID вторинного діапазону RID а діапазон ідентифікаторів довіреного домену слід задавати за допомогою - rid-base: перший RID відповідного діапазону RID - dom_sid: SID довіреного домену ПРИКЛАД: додавання нового діапазону ідентифікаторів для довіреного домену Оскільки може бути декілька довірених доменів, під час створення діапазону ідентифікаторів слід вказати SID домену. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \ --dom-sid=S-1-5-21-123-456-789 trusted_dom_range Цей діапазон ідентифікаторів потім використовуватиметься сервером IPA та надавачем даних IPA SSSD для призначення UID Posix користувачам з довіреного домену. Якщо, наприклад, налаштовано діапазон для довіреного домену з такими значеннями: base-id = 1200000 range-size = 200000 rid-base = 0 RID від 0 до 199999 прив’язуються до ідентифікаторів Posix від 1200000 до 13999999. Отже RID 1000 <-> Posix ID 1201000 ПРИКЛАД: додавання нового діапазону ідентифікаторів до локального домену Щоб створити діапазон ідентифікаторів для локального домену не потрібно вказувати SID домену. Але оскільки можливий конфлікт між ідентифікаторами користувача і групи та ідентифікаторами POSIX, потрібен вторинний інтервал RID. ipa range-add --base-id=1200000 --range-size=200000 --rid-base=1000 \ --secondary-rid-base=1000000 local_range Дані з діапазонів ідентифікаторів локального домену використовуються сервером IPA на внутрішньому рівні для призначення SID користувачам і групам IPA. SID буде збережено у об’єктах користувача або групи. Якщо, наприклад, для діапазону ідентифікаторів локального домену визначено значення з наведеного вище прикладу, новий користувач з UID 1200007 отримає RID 1007. Якщо цей RID вже буде використано групою, його буде змінено на 1000007. Таке може трапитися лише, якщо об’єкт користувача або групи було створено з фіксованим ідентифікатором, оскільки у разі автоматичного призначення один ідентифікатор не може бути призначено двічі. Оскільки спільний простір назв є лише у користувачів і груп, достатньо одного резервного діапазону для того, щоб повністю позбутися конфліктів. Для визначення ідентифікатора POSIX за вказаним RID з локального домену слід спочатку перевірити, чи потрапляє RID у основний або вторинний діапазон RID, також, щоб отримати ідентифікатор POSIX, слід відняти від ідентифікатор rid-base або secondary-rid-base, відповідно, і додати base-id. Типово, створення діапазонів ідентифікаторів є зовні непомітним і потреби у цьому інтерфейсі командного рядка не виникає. Діапазон ідентифікаторів для локального домену буде створено під час встановлення або оновлення попередньої версії. Діапазон ідентифікаторів для довіреного домену буде створено разом з записом довіри командою «ipa trust-add ...». Нижче наведено можливі випадки використання цього командного інтерфейсу. ВИПАДКИ ВИКОРИСТАННЯ: Додавання діапазону ідентифікаторів з перехідного довіреного домену Якщо довірений домен (A) довіряється іншому домену (B) і цей запис довіри є перехідним, «ipa trust-add домен-A» створить лише діапазон для домену A. Діапазон ідентифікаторів домену B має бути додано вручну. Додавання додаткового діапазону ідентифікаторів для локального домену Якщо діапазон ідентифікаторів локального домену вичерпано, тобто додатком DNA не може бути призначено нові ідентифікатори користувачам або групам POSIX, має бути створено новий діапазон для додавання нових користувачів та груп. (У поточній версії між цим командним інтерфейсом і додатком DNA немає безпосереднього зв’язку, але у майбутній версії може бути передбачено можливість внесення змін і до налаштувань додатка DNS.) Загалом, потреби у зміні або вилученні діапазонів ідентифікаторів немає. Якщо немає іншого виходу, окрім внесення змін або вилучення діапазону ідентифікаторів, робити це слід дуже обережно. Оскільки UID зберігаються у файловій системі і використовуються для керування доступом, можлива ситуація, коли одні користувачі отримуватимуть доступ до файлів інших користувачів у разі вилучення діапазону ідентифікаторів і повторного його використання у іншому домені. (*) RID типово є останнім цілим числом SID користувача або групи, перед якими має бути вказано SID домену. Наприклад, якщо SID домену S-1-5-21-123-456-789, а користувач з цього домену має SID S-1-5-21-123-456-789-1010, RID користувача буде 1010. RID є унікальними в межах домену, є 32-бітовими значенням і використовуються для користувачів і груп. ======= ПОПЕРЕДЖЕННЯ: Додаток DNA у 389-ds розміщуватиме ідентифікатори на основі діапазонів налаштованих для локального домену. У поточній версії додаток DNA *не можна* переналаштовувати самостійно на основі локальних діапазонів, встановлених за допомогою цього сімейства команд. Зміни налаштувань вручну має бути виконано у налаштуваннях додатка DNA для локального діапазону. Зокрема слід змінити атрибут dnaNextRange «cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config» так, щоб він відповідав новому діапазону. ======= Діапазони ідентифікаторів Керування діапазонами ідентифікаторів, використаних для відображення ідентифікаторів POSIX на SID, і навпаки. За допомогою цієї програми можна керувати обома типами діапазонів ідентифікаторів: - діапазони ідентифікаторів локального домену - діапазони ідентифікаторів довірених віддалених доменів Обидва типи мають такі спільні атрибути: - base-id: перший ідентифікатор діапазону ідентифікаторів POSIX - range-size: розмір діапазону На основі цих двох атрибутів об’єкт діапазону може зарезервувати ідентифікатори POSIX, починаючи з base-id аж до, але не включно, base-id+range-size. Крім того, можна встановити діапазон ідентифікаторів локального домену - rid-base: перший RID(*) відповідного діапазону RID - secondary-rid-base: перший RID вторинного діапазону RID а діапазон ідентифікаторів довіреного домену слід задавати за допомогою - rid-base: перший RID відповідного діапазону RID - dom_sid: SID довіреного домену ПРИКЛАД: додавання нового діапазону ідентифікаторів для довіреного домену Оскільки може бути декілька довірених доменів, під час створення діапазону ідентифікаторів слід вказати SID домену. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \ --dom-sid=S-1-5-21-123-456-789 trusted_dom_range Цей діапазон ідентифікаторів потім використовуватиметься сервером IPA та надавачем даних IPA SSSD для призначення UID Posix користувачам з довіреного домену. Якщо, наприклад, налаштовано діапазон для довіреного домену з такими значеннями: base-id = 1200000 range-size = 200000 rid-base = 0 RID від 0 до 199999 прив’язуються до ідентифікаторів Posix від 1200000 до 13999999. Отже RID 1000 <-> Posix ID 1201000 ПРИКЛАД: додавання нового діапазону ідентифікаторів до локального домену Щоб створити діапазон ідентифікаторів для локального домену не потрібно вказувати SID домену. Але оскільки можливий конфлікт між ідентифікаторами користувача і групи та ідентифікаторами POSIX, потрібен вторинний інтервал RID. ipa range-add --base-id=1200000 --range-size=200000 --rid-base=1000 \ --secondary-rid-base=1000000 local_range Дані з діапазонів ідентифікаторів локального домену використовуються сервером IPA на внутрішньому рівні для призначення SID користувачам і групам IPA. SID буде збережено у об’єктах користувача або групи. Якщо, наприклад, для діапазону ідентифікаторів локального домену визначено значення з наведеного вище прикладу, новий користувач з UID 1200007 отримає RID 1007. Якщо цей RID вже буде використано групою, його буде змінено на 1000007. Таке може трапитися лише, якщо об’єкт користувача або групи було створено з фіксованим ідентифікатором, оскільки у разі автоматичного призначення один ідентифікатор не може бути призначено двічі. Оскільки спільний простір назв є лише у користувачів і груп, достатньо одного резервного діапазону для того, щоб повністю позбутися конфліктів. Для визначення ідентифікатора POSIX за вказаним RID з локального домену слід спочатку перевірити, чи потрапляє RID у основний або вторинний діапазон RID, також, щоб отримати ідентифікатор POSIX, слід відняти від ідентифікатор rid-base або secondary-rid-base, відповідно, і додати base-id. Типово, створення діапазонів ідентифікаторів є зовні непомітним і потреби у цьому інтерфейсі командного рядка не виникає. Діапазон ідентифікаторів для локального домену буде створено під час встановлення або оновлення попередньої версії. Діапазон ідентифікаторів для довіреного домену буде створено разом з записом довіри командою «ipa trust-add ...». Нижче наведено можливі випадки використання цього командного інтерфейсу. ВИПАДКИ ВИКОРИСТАННЯ: Додавання діапазону ідентифікаторів з перехідного довіреного домену Якщо довірений домен (A) довіряється іншому домену (B) і цей запис довіри є перехідним, «ipa trust-add домен-A» створить лише діапазон для домену A. Діапазон ідентифікаторів домену B має бути додано вручну. Додавання додаткового діапазону ідентифікаторів для локального домену Якщо діапазон ідентифікаторів локального домену вичерпано, тобто додатком DNA не може бути призначено нові ідентифікатори користувачам або групам POSIX, має бути створено новий діапазон для додавання нових користувачів та груп. (У поточній версії між цим командним інтерфейсом і додатком DNA немає безпосереднього зв’язку, але у майбутній версії може бути передбачено можливість внесення змін і до налаштувань додатка DNS.) Загалом, потреби у зміні або вилученні діапазонів ідентифікаторів немає. Якщо немає іншого виходу, окрім внесення змін або вилучення діапазону ідентифікаторів, робити це слід дуже обережно. Оскільки UID зберігаються у файловій системі і використовуються для керування доступом, можлива ситуація, коли одні користувачі отримуватимуть доступ до файлів інших користувачів у разі вилучення діапазону ідентифікаторів і повторного його використання у іншому домені. (*) RID типово є останнім цілим числом SID користувача або групи, перед якими має бути вказано SID домену. Наприклад, якщо SID домену S-1-5-21-123-456-789, а користувач з цього домену має SID S-1-5-21-123-456-789-1010, RID користувача буде 1010. RID є унікальними в межах домену, є 32-бітовими значенням і використовуються для користувачів і груп. ПОПЕРЕДЖЕННЯ: Додаток DNA у 389-ds розміщуватиме ідентифікатори на основі діапазонів налаштованих для локального домену. У поточній версії додаток DNA *не можна* переналаштовувати самостійно на основі локальних діапазонів, встановлених за допомогою цього сімейства команд. Зміни налаштувань вручну має бути виконано у налаштуваннях додатка DNA для локального діапазону. Зокрема слід змінити атрибут dnaNextRange «cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config» так, щоб він відповідав новому діапазону. Діапазони ідентифікаторів Керування діапазонами ідентифікаторів, використаних для відображення ідентифікаторів POSIX на SID, і навпаки. За допомогою цієї програми можна керувати обома типами діапазонів ідентифікаторів: - діапазони ідентифікаторів локального домену - діапазони ідентифікаторів довірених віддалених доменів Обидва типи мають такі спільні атрибути: - base-id: перший ідентифікатор діапазону ідентифікаторів POSIX - range-size: розмір діапазону На основі цих двох атрибутів об’єкт діапазону може зарезервувати ідентифікатори POSIX, починаючи з base-id аж до, але не включно, base-id+range-size. Крім того, можна встановити діапазон ідентифікаторів локального домену - rid-base: перший RID(*) відповідного діапазону RID - secondary-rid-base: перший RID вторинного діапазону RID а діапазон ідентифікаторів довіреного домену слід задавати за допомогою - rid-base: перший RID відповідного діапазону RID - dom_sid: SID довіреного домену ПРИКЛАД: додавання нового діапазону ідентифікаторів для довіреного домену Оскільки може бути декілька довірених доменів, під час створення діапазону ідентифікаторів слід вказати SID домену. ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \ --dom-sid=S-1-5-21-123-456-789 trusted_dom_range Цей діапазон ідентифікаторів потім використовуватиметься сервером IPA та надавачем даних IPA SSSD для призначення UID Posix користувачам з довіреного домену. Якщо, наприклад, налаштовано діапазон для довіреного домену з такими значеннями: base-id = 1200000 range-size = 200000 rid-base = 0 RID від 0 до 199999 прив’язуються до ідентифікаторів Posix від 1200000 до 13999999. Отже RID 1000 <-> Posix ID 1201000 ПРИКЛАД: додавання нового діапазону ідентифікаторів до локального домену Щоб створити діапазон ідентифікаторів для локального домену не потрібно вказувати SID домену. Але оскільки можливий конфлікт між ідентифікаторами користувача і групи та ідентифікаторами POSIX, потрібен вторинний інтервал RID. ipa range-add --base-id=1200000 --range-size=200000 --rid-base=1000 \ --secondary-rid-base=1000000 local_range Дані з діапазонів ідентифікаторів локального домену використовуються сервером IPA на внутрішньому рівні для призначення SID користувачам і групам IPA. SID буде збережено у об’єктах користувача або групи. Якщо, наприклад, для діапазону ідентифікаторів локального домену визначено значення з наведеного вище прикладу, новий користувач з UID 1200007 отримає RID 1007. Якщо цей RID вже буде використано групою, його буде змінено на 1000007. Таке може трапитися лише, якщо об’єкт користувача або групи було створено з фіксованим ідентифікатором, оскільки у разі автоматичного призначення один ідентифікатор не може бути призначено двічі. Оскільки спільний простір назв є лише у користувачів і груп, достатньо одного резервного діапазону для того, щоб повністю позбутися конфліктів. Для визначення ідентифікатора POSIX за вказаним RID з локального домену слід спочатку перевірити, чи потрапляє RID у основний або вторинний діапазон RID, також, щоб отримати ідентифікатор POSIX, слід відняти від ідентифікатор rid-base або secondary-rid-base, відповідно, і додати base-id. Типово, створення діапазонів ідентифікаторів є зовні непомітним і потреби у цьому інтерфейсі командного рядка не виникає. Діапазон ідентифікаторів для локального домену буде створено під час встановлення або оновлення попередньої версії. Діапазон ідентифікаторів для довіреного домену буде створено разом з записом довіри командою «ipa trust-add ...». Нижче наведено можливі випадки використання цього командного інтерфейсу. ВИПАДКИ ВИКОРИСТАННЯ: Додавання діапазону ідентифікаторів з перехідного довіреного домену Якщо довірений домен (A) довіряється іншому домену (B) і цей запис довіри є перехідним, «ipa trust-add домен-A» створить лише діапазон для домену A. Діапазон ідентифікаторів домену B має бути додано вручну. Додавання додаткового діапазону ідентифікаторів для локального домену Якщо діапазон ідентифікаторів локального домену вичерпано, тобто додатком DNA не може бути призначено нові ідентифікатори користувачам або групам POSIX, має бути створено новий діапазон для додавання нових користувачів та груп. (У поточній версії між цим командним інтерфейсом і додатком DNA немає безпосереднього зв’язку, але у майбутній версії може бути передбачено можливість внесення змін і до налаштувань додатка DNS.) Загалом, потреби у зміні або вилученні діапазонів ідентифікаторів немає. Якщо немає іншого виходу, окрім внесення змін або вилучення діапазону ідентифікаторів, робити це слід дуже обережно. Оскільки UID зберігаються у файловій системі і використовуються для керування доступом, можлива ситуація, коли одні користувачі отримуватимуть доступ до файлів інших користувачів у разі вилучення діапазону ідентифікаторів і повторного його використання у іншому домені. (*) RID типово є останнім цілим числом SID користувача або групи, перед якими має бути вказано SID домену. Наприклад, якщо SID домену S-1-5-21-123-456-789, а користувач з цього домену має SID S-1-5-21-123-456-789-1010, RID користувача буде 1010. RID є унікальними в межах домену, є 32-бітовими значенням і використовуються для користувачів і груп. {0} Дії з сертифікатами IPA Дії з сертифікатами IPA Реалізує набір команд для керування сертифікатами серверів SSL. Запити щодо сертифікатів існують у формі Certificate Signing Request (CSR) і форматі PEM. Якщо використовується модуль самопідписування, призначення у CSR має збігатися із призначенням, вказаним на сервері. Служба сертифікації dogtag використовує лише значення CN CSR і примусово встановлює решту параметрів призначення за налаштуваннями сервера. Сертифікат зберігається з реєстраційним записом, а реєстраційний запис потребує вузла. Для того, щоб створити запит щодо сертифіката: * Вузол має існувати * Служба має існувати (або слід скористатися параметром --add дляавтоматичного додавання) ПРИКЛАДИ: Створити запит щодо нового сертифіката і додати реєстраційний запис: ipa cert-request --add --principal=HTTP/lion.example.com example.csr Отримати вже створений сертифікат: ipa cert-show 1032 Відкликати сертифікат (причини визначено у RFC 5280): ipa cert-revoke --revocation-reason=6 1032 Вилучити сертифікат зі списку відкликання: ipa cert-remove-hold 1032 Перевірити стан запиту щодо підписування: ipa cert-status 10 У поточній версії IPA негайно виконує (або відхиляє) всі запити щодо сертифікатів, отже дані щодо стану запиту не мають сенсу. Ці дані можуть знадобитися у наступних версіях або у разі, якщо CA видає сертифікат не одразу. Передбачено підтримку таких причин відкликання: * 0 - не визначено * 1 - keyCompromise * 2 - cACompromise * 3 - affiliationChanged * 4 - superseded * 5 - cessationOfOperation * 6 - certificateHold * 8 - removeFromCRL * 9 - privilegeWithdrawn * 10 - aACompromise Зауважте, що коди причини 7 не використовується. Докладніші дані у RFC 5280: http://www.ietf.org/rfc/rfc5280.txt Дії з сертифікатами IPA Реалізує набір команд для керування сертифікатами серверів SSL. Запити щодо сертифікатів існують у формі Certificate Signing Request (CSR) і форматі PEM. Якщо використовується автопідписний модуль, призначення CSR має збігатися з призначенням на сервері. Служба сертифікації використовує лише CN CSR і примусово визначає призначення. Сертифікат зберігається з реєстраційним записом, а реєстраційний запис потребує вузла. Для того, щоб створити запит щодо сертифіката: * Вузол має існувати * Служба має існувати (або слід скористатися параметром --add для автоматичного додавання) ПОШУК: Шукати сертифікати можна за призначенням сертифіката, серійним номером, причиною відкликання, датами чинності та датою видання. Якщо пошук виконується за датою _від, використовується порівняння >=, а якщо виконується пошук _до дати — порівняння <=. Поєднання обох пошуків призводить до пошуку з логічним поєднанням ТА. Дати обробляються як дати за Гринвічем, відповідно до дат визначених у сертифікатах. Формат дати є таким: РРРР-мм-дд. ПРИКЛАДИ: Створити запит щодо нового сертифіката і додати реєстраційний запис: ipa cert-request --add --principal=HTTP/lion.example.com example.csr Отримати вже створений сертифікат: ipa cert-show 1032 Відкликати сертифікат (причини визначено у RFC 5280): ipa cert-revoke --revocation-reason=6 1032 Вилучити сертифікат зі списку відкликання: ipa cert-remove-hold 1032 Перевірити стан запиту щодо підписування: ipa cert-status 10 Пошук сертифікатів за назвою вузла: ipa cert-find --subject=ipaserver.example.com Пошук відкликаних сертифікатів за причиною: ipa cert-find --revocation-reason=5 Пошук сертифікатів за датою видання ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07 У поточній версії IPA негайно виконує (або відхиляє) всі запити щодо сертифікатів, отже дані щодо стану запиту не мають сенсу. Ці дані можуть знадобитися у наступних версіях або у разі, якщо CA видає сертифікат не одразу. Передбачено підтримку таких причин відкликання: * 0 - unspecified * 1 - keyCompromise * 2 - cACompromise * 3 - affiliationChanged * 4 - superseded * 5 - cessationOfOperation * 6 - certificateHold * 8 - removeFromCRL * 9 - privilegeWithdrawn * 10 - aACompromise Зауважте, що коди причини 7 не використовується. Докладніші дані у RFC 5280: http://www.ietf.org/rfc/rfc5280.txt У поточній версії IPA негайно виконує (або відхиляє) всі запити щодо сертифікатів, отже дані щодо стану запиту не мають сенсу. Ці дані можуть знадобитися у наступних версіях або у разі, якщо CA видає сертифікат не одразу. Місця IPA Ролі сервера IPA Дані сервера IPA зберігаються на сервері LDAP у двох суфіксах: * суфіксі домену, наприклад «dc=example,dc=com», тут містяться усі пов’язані із доменом дані * суфіксі ca, «o=ipaca», наявні лише на серверах із встановленим CA. Тут містяться дані для компонента сервера сертифікатів. Сервери IPA Сервери IPA Отримати дані щодо встановлених серверів IPA. ПРИКЛАДИ: Знайти усі сервери: ipa server-find Показати вказаний сервер: ipa server-show ipa.example.com У IPA передбачено підтримку використання жетонів OTP для багатофакторного розпізнавання. За допомогою цього коду уможливлюється керування жетонами OTP. У IPA передбачено підтримку зовнішнього проксі-сервера RADIUS для виконання розпізнавання OTP krb5. Це надає системі значної гнучкості з метою інтеграції зі сторонніми службами розпізнавання. У IPA передбачено підтримку використання сертифікатів для розпізнавання. Сертифікати можуть зберігатися або у записі користувача (весь сертифікат у атрибуті usercertificate), або просто прив’язуватися до запису користувача. Цей код уможливлює керування правилами доступу до прив’язування сертифіката до запису користувача. Реалізує набір команд для керування сертифікатами серверів SSL. Для того, щоб створити запит щодо сертифіката: Робота з такими записами DNS без помилки і введення некоректного значення може бути складною. Модуль DNS надає у ваше розпорядження абстракцію над цими необробленими записами і спосіб керування кожним з типів RR за допомогою специфічних параметрів. Для кожного з підтримуваних типів RR у модулі DNS передбачено стандартний параметр для роботи із необробленими записами за допомогою формату --<тип_rr>-rec, наприклад, --mx-rec та зі спеціальними параметрами для кожної із частин структури RR за допомогою формату --<тип_rr>-<назва_частини>, наприклад --mx-preference та --mx-exchanger. Долучення до домену IPA Засоби звітування щодо стану можливості PKINIT Kerberos Звітування щодо того, увімкнено чи вимкнено PKINIT у Kerberos на основних елементах IPA ПРИКЛАДИ: Вивести список станів PKINIT для усіх основних елементів: ipa pkinit-status Перевірити стан PKINIT на «ipa.example.com»: ipa pkinit-status --server ipa.example.com Вивести список усіх основних елементів IPA із вимкненим PKINIT: ipa pkinit-status --status='disabled' Докладніші дані щодо підтримки PKINIT: https://www.freeipa.org/page/V4/Kerberos_PKINIT Параметри pkinit Kerberos Вмикання або вимикання анонімного pkinit за допомогою реєстраційного запису WELLKNOWN/ANONYMOUS@REALM. Має бути встановлено сервер з підтримкою pkinit. ПРИКЛАДИ: Вмикання анонімного pkinit: ipa pkinit-anonymous enable Вимикання анонімного pkinit: ipa pkinit-anonymous disable Щоб дізнатися більше про анонімний pkinit відвідайте цю сторінку: http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit Правила квитків Kerberos Передбачено єдині правила квитків Kerberos. Ці правила визначають максимальний строк дії квитка та максимальний вік оновлення, період, протягом якого квиток можна поновити. Крім того, ви можете створити правила для окремих користувачів шляхом визначення імені користувача. Щоб зміни у загальних правилах набули чинності, слід перезапустити службу KDC. Це можна зробити за допомогою такої команди: service krb5kdc restart Зміни у окремих правилах для користувачів набудуть чинності негайно для квитків нових запитів (наприклад, у відповідь на наступний запуск користувачем kinit). ПРИКЛАДИ: Показ поточних правил квитків Kerberos: ipa krbtpolicy-show Відновити типові правила: ipa krbtpolicy-reset Зміна правил на 8-годинний строк дії, 1-денний строк поновлення: ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400 Показ поточних правил квитків Kerberos для користувача «admin»: ipa krbtpolicy-show admin Відновити окремі правила для користувача «admin»: ipa krbtpolicy-reset admin Зміна окремих правил для користувача «admin»: ipa krbtpolicy-mod admin --maxlife=3600 Стан блокування облікового запису користувача Обліковий запис може бути заблоковано, якщо введено неправильний пароль забагато разів протягом певного проміжку часу, який визначається правилами роботи з паролями. Блокування облікового запису є тимчасовим станом, його може бути розблоковано адміністратором. Ця програма з’єднується з кожним основним вузлом IPA і показує стан блокування на кожному з них. Щоб визначити, чи слід блокувати обліковий запис на певному сервері, слід виконати порівняння кількості помилкових спроб входу та час останньої невдалої спроби з еталонними значеннями. Обліковий запис буде заблоковано, якщо буде перевищено кількість maxfail помилкових спроб протягом проміжку часу failinterval. Відповідні значення задаються правилами обробки паролів, пов’язаними з обліковим записом користувача. Зміни до лічильника помилкових спроб входу вносяться, лише коли користувач виконує спробу увійти, тому може статися так, що обліковий запис заблоковано, хоча час, що минув з останньої помилкової спроби, перевищує час блокування (lockouttime), заданий правилам обробки паролів. Це означає, що користувач може увійти до системи знову. Керування правилами ACL CA. Цим додатком можна скористатися для визначення правил керування тим, які служби сертифікації та профілі можна використовувати для видавання сертифікатів певним реєстраційним записам або група реєстраційних записів. ОБЛАСТЬ ДІЇ РЕЄСТРАЦІЙНИХ ЗАПИСІВ ОБ’ЄКТА: Щоб запит щодо сертифікації було задоволено, реєстраційні записи, які є об’єктом запиту щодо сертифікації (необов’язково ті самі, що і реєстраційний запис, з якого надсилається запит щодо сертифікації) має бути включено до області дії ACL служби сертифікації, що також включає службу сертифікації та профіль призначення. Користувачів можна включати за іменем, групою або категорією «усі користувачі». Вузли можна включати за назвою, групою вузлів або категорією «усі вузли». Служби можна включати за назвою служби або категорією «усі служби». ACL служб сертифікації може бути пов’язано із одним типом реєстраційних записів або із декількома типами. ОБЛАСТЬ ДІЇ СЛУЖБИ СЕРТИФІКАЦІЇ: ACL служби сертифікації може бути пов’язано із однією або декількома службами сертифікації за назвою або за категорією «усі CA». З міркувань сумісності ACL служби сертифікації без прив’язки до служби сертифікації вважається таким, що пов’язано із службою сертифікації «ipa» (і лише з цією службою сертифікації). ОБЛАСТЬ ДІЇ ПРОФІЛІВ: ACL служби сертифікації може бути пов’язано із одним або декількома профілями за ідентифікатором профілю. Ідентифікатором профілю вважається рядок без пробілів і символів пунктуації, що починається із літери і є послідовністю літер, цифр та символів підкреслювання («_»). ПРИКЛАДИ: Створити ACL служби сертифікації «test», який надає доступ усім користувачам до профілю «UserCert» на усіх службах сертифікації: ipa caacl-add test --usercat=all --cacat=all ipa caacl-add-profile test --certprofiles UserCert Вивести властивості вказаного за назвою ACL служби сертифікації: ipa caacl-show test Створити ACL служби сертифікації, який надаватиме змогу користувачеві «alice» використовувати профіль «DNP3» на «DNP3-CA»: ipa caacl-add alice_dnp3 ipa caacl-add-ca alice_dnp3 --cas DNP3-CA ipa caacl-add-profile alice_dnp3 --certprofiles DNP3 ipa caacl-add-user alice_dnp3 --user=alice Вимкнути ACL служби сертифікації: ipa caacl-disable test Вилучити ACL служби сертифікації: ipa caacl-del test Керування правилами CA ACL. Цей додаток призначено для визначення правил, що керують тим, які реєстраційні записи можуть мати сертифікати, випущені за допомогою даного профілю сертифікатів. СИНТАКСИС ІДЕНТИФІКАТОРА ПРОФІЛЮ: Ідентифікатор профілю — рядок без пробілів і символів пунктуації, що починається з літери і складається з послідовності літер, цифр, та символів підкреслювання («_»). ПРИКЛАДИ: Створити CA ACL «test», який надає доступ усім користувачам до профілю «UserCert»: ipa caacl-add test --usercat=all ipa caacl-add-profile test --certprofiles UserCert Показати усі властивості вказаного за назвою CA ACL: ipa caacl-show test Створити CA ACL, який надає користувачеві «alice» право використовувати профіль «DNP3»: ipa caacl-add-profile alice_dnp3 --certprofiles DNP3 ipa caacl-add-user alice_dnp3 --user=alice Вимкнути певний CA ACL: ipa caacl-disable test Вилучити певний CA ACL: ipa caacl-del test Керування службами сертифікації Керування налаштуваннями і правилами прив’язки сертифікатів до профілів. Керування профілями сертифікатів Профілі сертифікатів використовуються службами сертифікації (CA) під час підписування сертифікатів для визначення того, чи є прийнятним запит на підписування сертифіката (CSR), і, якщо це так, визначення можливостей і розширень, які буде надано сертифікатом. Форматом профілю сертифікатів є список значень, які може обробляти Dogtag або система сертифікації служби сертифікації Red Hat. СИНТАКСИС ІДЕНТИФІКАТОРА ПРОФІЛЮ: Ідентифікатор профілю — рядок без пробілів і символів пунктуації, що починається з літери і складається з послідовності літер, цифр, та символів підкреслювання («_»). ПРИКЛАДИ: Імпортувати профіль, у якому не зберігатимуться видані сертифікати: ipa certprofile-import ShortLivedUserCert \ --file UserCert.profile --summary "User Certificates" \ --store=false Вилучити профіль сертифікатів: ipa certprofile-del ShortLivedUserCert Показати дані щодо профілю: ipa certprofile-show ShortLivedUserCert Зберегти налаштування профілю до файла: ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg Шукати профілі, у яких не зберігаються сертифікати: ipa certprofile-find --store=false ФОРМАТ НАЛАШТУВАНЬ ПРОФІЛЮ: Налаштування профілю зберігаються у вигляді простого списку властивостей, що використовується системою сертифікації Dogtag. Підтримки формату XML не передбачено. Профілів, які керуються FreeIPA, стосуються такі обмеження: - Під час імпортування профілю поле «profileId», якщо таке є, має містити значення, що збігається з ідентифікатором, вказаним у рядку команди. - Значенням поля «classId» має бути «caEnrollImpl» - Значенням поля «auth.instance_id» має бути «raCertAuth» - Має бути використано вхідний клас «certReqInputImpl» і вихідний клас «certOutputImpl». Керування профілями сертифікатів Профілі сертифікатів використовуються службами сертифікації (CA) під час підписування сертифікатів для визначення того, чи є прийнятним запит на підписування сертифіката (CSR), і, якщо це так, визначення можливостей і розширень, які буде надано сертифікатом. Форматом профілю сертифікатів є список значень, які може обробляти Dogtag або система сертифікації служби сертифікації Red Hat. СИНТАКСИС ІДЕНТИФІКАТОРА ПРОФІЛЮ: Ідентифікатор профілю — рядок без пробілів і символів пунктуації, що починається з літери і складається з послідовності літер, цифр, та символів підкреслювання («_»). ПРИКЛАДИ: Імпортувати профіль, у якому не зберігатимуться видані сертифікати: ipa certprofile-import ShortLivedUserCert \ --file UserCert.profile --summary "User Certificates" \ --store=false Вилучити профіль сертифікатів: ipa certprofile-del ShortLivedUserCert Показати дані щодо профілю: ipa certprofile-show ShortLivedUserCert Зберегти налаштування профілю до файла: ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg Шукати профілі, у яких не зберігаються сертифікати: ipa certprofile-find --store=false ФОРМАТ НАЛАШТУВАНЬ ПРОФІЛЮ: Налаштування профілю зберігаються у вигляді простого списку властивостей, що використовується системою сертифікації Dogtag. Підтримки формату XML не передбачено. Профілів, які керуються FreeIPA, стосуються такі обмеження: - Під час імпортування профілю поле «profileId», якщо таке є, має містити значення, що збігається з ідентифікатором, вказаним у рядку команди. - Значенням поля «classId» має бути «caEnrollImpl» - Значенням поля «auth.instance_id» має бути «raCertAuth» - Має бути використано вхідний клас «certReqInputImpl» і вихідний клас «certOutputImpl». Керування записами зон та ресурсів DNS. Керування жетонами OTP. Керування проксі-серверами RADIUS. Керування жетонами YubiKey. Керування сховищами. Керовані права доступу Робота з місцями DNS Керування налаштуваннями сервера DNS Перехід на IPA Перенесення користувачів і груп з сервера LDAP на IPA. Надсилає запит LDAP до віддаленого сервера з метою пошуку користувачів і груп у контейнері. З метою перенесення паролів вам слід прив’язатися до сервера від імені користувача, який може читати атрибут userPassword на сервері. Перелік таких користувачів зазвичай обмежено адміністраторами вищого рівня, зокрема cn=Directory Manager на 389-ds (типовий користувач bind). Типовим контейнером користувачів є ou=People. Типовим контейнером груп є ou=Groups. Записи користувачів і груп, які вже створено на сервері IPA буде пропущено. Дві схеми LDAP визначають спосіб зберігання записів учасників групи: RFC2307 і RFC2307bis. RFC2307bis використовує атрибути member і uniquemember для визначення учасників групи, RFC2307 використовує memberUid. Типовою є схема RFC2307bis. За допомогою додатка compat IPA може повторно форматувати дані для систем, де не передбачено підтримки RFC2307bis. Рекомендується вимикати цей додаток під час перенесення, щоб зменшити навантаження на систему. Ви зможете увімкнути його після перенесення. Щоб перенести дані з увімкненим додатком скористайтеся параметром «--with-compat». Перенесені користувачі не матимуть реєстраційних записів Kerberos, перенесено буде лише пароль LDAP. Щоб завершити процес перенесення, користувачам слід відкрити сторінку http://ipa.example.com/ipa/migration і пройти розпізнавання за допомогою пароля LDAP з метою створення запису реєстраційних даних Kerberos. Типово перенесення вимкнено. Для його вмикання скористайтеся командою ipa config-mod: ipa config-mod --enable-migration=TRUE Якщо основний DN не буде надано за допомогою --basedn, IPA використовуватиме значення defaultNamingContext, якщо його встановлено, або перше значення у наборі namingContexts у кореневій теці віддаленого сервера LDAP. Записи користувачів додають до типової групи користувачів. Процес такого додавання може бути доволі тривалим, отже під час перенесення він виконується у пакетному режимі, пакетами по 100 користувачів. У результаті буде певний період, коли записи користувачів вже буде додано до IPA, але ці користувачі ще не будуть учасниками типової групи користувачів. ПРИКЛАДИ: Найпростіше перенесення з типовими параметрами: ipa migrate-ds ldap://ds.example.com:389 Визначення контейнерів користувача і групи. Можна скористатися для перенесення даних користувача і групи з сервера IPA версії 1: ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389 Оскільки на сервері IPA версії 2 вже передбачено попередньо визначені групи, які можуть збігатися з групами, які переносяться з сервера (IPA версії 1), наприклад admins, ipausers, користувачів з таких груп може бути перенесено до невідомої (unknown) групи на новому сервері IPA версії 2. Скористайтеся параметром --group-overwrite-gid для перезапису ідентифікатора групи вже створених груп для запобігання цій незручності: ipa migrate-ds --group-overwrite-gid \ --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389 Перенесені дані користувачів та груп можуть містити класи об’єктів та супутні атрибути, невідомі серверу IPA версії 2. Ці класти об’єктів та атрибутів може бути виключено з процедури перенесення даних: ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' --user-ignore-objectclass=radiusprofile --user-ignore-attribute=radiusgroupname ldap://ds.example.com:389 ВЕДЕННЯ ЖУРНАЛУ Під час перенесення повідомлення з попередженнями та записами помилок додаватимуться до журналу помилок Apache. З відповідним файлом слід ознайомитися після завершення перенесення для виправлення та виявлення помилок, які могли статися. Для кожного пакета зі 100 перенесених записів користувачів буде показано інформаційне повідомлення, призначене для оцінки поступу обробки та визначення її тривалості. Якщо визначено рівень ведення журналу debug за допомогою встановлення debug = True у /etc/ipa/default.conf або у /etc/ipa/server.conf, для кожного перенесеного запису додаватиметься власний запис, також додаватиметься резюме щодо кожного оновлення типової групи користувачів. Перехід на IPA Перенесення користувачів і груп з сервера LDAP на IPA. Надсилає запит LDAP до віддаленого сервера з метою пошуку користувачів і груп у контейнері. З метою перенесення паролів вам слід прив’язатися до сервера від імені користувача, який може читати атрибут userPassword на сервері. Перелік таких користувачів зазвичай обмежено адміністраторами вищого рівня, зокрема cn=Directory Manager на 389-ds (типовий користувач bind). Типовим контейнером користувачів є ou=People. Типовим контейнером груп є ou=Groups. Записи користувачів і груп, які вже створено на сервері IPA буде пропущено. Дві схеми LDAP визначають спосіб зберігання записів учасників групи: RFC2307 і RFC2307bis. RFC2307bis використовує атрибути member і uniquemember для визначення учасників групи, RFC2307 використовує memberUid. Типовою є схема RFC2307bis. За допомогою додатка compat IPA може повторно форматувати дані для систем, де не передбачено підтримки RFC2307bis. Рекомендується вимикати цей додаток під час перенесення, щоб зменшити навантаження на систему. Ви зможете увімкнути його після перенесення. Щоб перенести дані з увімкненим додатком скористайтеся параметром «--with-compat». Перенесені користувачі не матимуть реєстраційних записів Kerberos, перенесено буде лише пароль LDAP. Щоб завершити процес перенесення, користувачам слід відкрити сторінку http://ipa.example.com/ipa/migration і пройти розпізнавання за допомогою пароля LDAP з метою створення запису реєстраційних даних Kerberos. Типово перенесення вимкнено. Для його вмикання скористайтеся командою ipa config-mod: ipa config-mod --enable-migration=TRUE Якщо основний DN не буде надано за допомогою --basedn, IPA використовуватиме значення defaultNamingContext, якщо його встановлено, або перше значення у наборі namingContexts у кореневій теці віддаленого сервера LDAP. Записи користувачів додають до типової групи користувачів. Процес такого додавання може бути доволі тривалим, отже під час перенесення він виконується у пакетному режимі, пакетами по 100 користувачів. У результаті буде певний період, коли записи користувачів вже буде додано до IPA, але ці користувачі ще не будуть учасниками типової групи користувачів. ПРИКЛАДИ: Найпростіше перенесення з типовими параметрами: ipa migrate-ds ldap://ds.example.com:389 Визначення контейнерів користувача і групи. Можна скористатися для перенесення даних користувача і групи з сервера IPA версії 1: ipa migrate-ds --user-container='cn=users,cn=accounts' \ --group-container='cn=groups,cn=accounts' \ ldap://ds.example.com:389 Оскільки на сервері IPA версії 2 вже передбачено попередньо визначені групи, які можуть збігатися з групами, які переносяться з сервера (IPA версії 1), наприклад admins, ipausers, користувачів з таких груп може бути перенесено до невідомої (unknown) групи на новому сервері IPA версії 2. Скористайтеся параметром --group-overwrite-gid для перезапису ідентифікатора групи вже створених груп для запобігання цій незручності: ipa migrate-ds --group-overwrite-gid \ --user-container='cn=users,cn=accounts' \ --group-container='cn=groups,cn=accounts' \ ldap://ds.example.com:389 Перенесені дані користувачів та груп можуть містити класи об’єктів та супутні атрибути, невідомі серверу IPA версії 2. Ці класти об’єктів та атрибутів може бути виключено з процедури перенесення даних: ipa migrate-ds --user-container='cn=users,cn=accounts' \ --group-container='cn=groups,cn=accounts' \ --user-ignore-objectclass=radiusprofile \ --user-ignore-attribute=radiusgroupname \ ldap://ds.example.com:389 ВЕДЕННЯ ЖУРНАЛУ Під час перенесення повідомлення з попередженнями та записами помилок додаватимуться до журналу помилок Apache. З відповідним файлом слід ознайомитися після завершення перенесення для виправлення та виявлення помилок, які могли статися. Для кожного пакета зі 100 перенесених записів користувачів буде показано інформаційне повідомлення, призначене для оцінки поступу обробки та визначення її тривалості. Якщо визначено рівень ведення журналу debug за допомогою встановлення debug = True у /etc/ipa/default.conf або у /etc/ipa/server.conf, для кожного перенесеного запису додаватиметься власний запис, також додаватиметься резюме щодо кожного оновлення типової групи користувачів. Інші додатки Змінити діапазон ідентифікаторів. ======= ПОПЕРЕДЖЕННЯ: Додаток DNA у 389-ds розподілятиме ідентифікатори на основі діапазонів, налаштованих для локального домену. У поточній версії додаток DNA *не може* переналаштуватися на основі локальних діапазонів, встановлених цим сімейством команд. Для використання нового локального діапазону до налаштувань додатка DNA слід внести зміни вручну. Зокрема, слід змінити атрибут dnaNextRange 'cn=Posix IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' так, щоб він відповідав новому діапазону. ======= Змінити запис довіри (для наступного використання). У поточній версії можлива зміна лише типова зміна атрибутів LDAP. Додаткові варіанти буде додано у наступних випусках. Мережеві групи Мережева група — група для перевірки прав доступу. Може містити значення користувачів та вузлів. ПРИКЛАДИ: Додавання нової мережевої групи: ipa netgroup-add --desc="NFS admins" admins Додавання учасників до мережевої групи: ipa netgroup-add-member --users=tuser1 --users=tuser2 admins Вилучення користувача з мережевої групи: ipa netgroup-remove-member --users=tuser2 admins Показ даних щодо мережевої групи: ipa netgroup-show admins Вилучення мережевої групи: ipa netgroup-del admins Мережеві групи Мережева група — група для перевірки прав доступу. Може містити значення користувачів та вузлів. ПРИКЛАДИ: Додавання нової мережевої групи: ipa netgroup-add --desc="NFS admins" admins Додавання учасників до мережевої групи: ipa netgroup-add-member --users=tuser1,tuser2 admins Вилучення користувача з мережевої групи: ipa netgroup-remove-member --users=tuser2 admins Показ даних щодо мережевої групи: ipa netgroup-show admins Вилучення мережевої групи: ipa netgroup-del admins Зауважте, що коди причини 7 не використовується. Докладніші дані у RFC 5280: Зауважте відмінність між атрибутами і записами. Права доступу є незалежними, отже можливість додавання запису користувача не означає, що цей запис згодом буде придатним до редагування. Жетони OTP Жетони OTP Керування жетонами OTP. У IPA передбачено підтримку використання жетонів OTP для багатофакторного розпізнавання. За допомогою цього коду уможливлюється керування жетонами OTP. Додати новий жетон: ipa otptoken-add --type=totp --owner=jdoe --desc="My soft token" Перевірити жетон: ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a Змінити постачальника: ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor="Red Hat" Вилучити жетон: ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a Налаштування OTP Керування типовими значеннями, які IPA використовує для ключів OTP. ПРИКЛАДИ: Показати базові налаштування OTP: ipa otpconfig-show Показати усі параметри налаштування OTP: ipa otpconfig-show --all Змінити тривалість максимального вікна розпізнавання TOTP на 10 хвилин: ipa otpconfig-mod --totp-auth-window=600 Змінити тривалість максимального вікна синхронізації TOTP на 12 годин: ipa otpconfig-mod --totp-sync-window=43200 Змінити тривалість максимального вікна розпізнавання HOTP на 5: ipa hotpconfig-mod --hotp-auth-window=5 Змінити тривалість максимального вікна синхронізації HOTP на 50: ipa hotpconfig-mod --hotp-sync-window=50 Правила паролів Правила паролів встановлюють обмеження щодо використання паролів IPA, зокрема максимальний строк дії, мінімальний строк дії, кількість паролів, які зберігатимуться у журналі, потрібна кількість класів символів (для складних паролів) та мінімальну довжину пароля. Типово, визначено одні загальні правила для всіх користувачів. Ви можете створити правило паролів, яке стосуватиметься однієї групи. Для одного користувача може бути використано лише один набір правил паролів: груповий або загальний. Групові правила паролів є незалежними, вони не є загальними правилами з додаванням нетипових параметрів. Для кожного набору групових правил паролів має бути встановлено окреме значення пріоритету. Якщо користувач є учасником декількох груп, для яких встановлено правила паролів, пріоритет визначає, які з правил має бути застосовано. Менші значення відповідають вищому пріоритету правил. Групові правила паролів автоматично вилучаються під час вилучення відповідних груп. ПРИКЛАДИ: Внесення змін до загальних правил: ipa pwpolicy-mod --minlength=10 Додавання нових групових правил паролів: ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --minlength=8 --priority=10 localadmins Показ загальних правил паролів: ipa pwpolicy-show Показ групових правил паролів: ipa pwpolicy-show localadmins Показ правил, які має бути застосовано до певного користувача: ipa pwpolicy-show --user=tuser1 Внесення змін до групових правил паролів: ipa pwpolicy-mod --minclasses=2 localadmins Права доступу Права доступу Запис правил доступу уможливлює точне делегування прав. Запис прав доступу є зручною для читання обгорткою навколо правила керування доступом 389-ds або інструкції (ACI). Право доступу надає право виконувати специфічне завдання, зокрема додавання запису користувача, внесення зміни до групи тощо. Запис прав доступу не може містити інших прав доступу. * Права доступу надають можливість читати, записувати, вилучати, шукати або порівнювати. * Привілеї поєднують подібні права доступу (наприклад усі права доступу, потрібні для додавання запису користувача). * Роль надає набір привілеїв користувачам, групам, вузлам або групам вузлів. Запис права доступу складається з декількох різних частин: 1. Назви запису права доступу. 2. Призначення права доступу. 3. Права, які надаються записом. Права визначають список дій, які можна виконувати. Запис прав може бути один або може бути декілька записів з такого набору: 1. write - запис одного або декількох атрибутів 2. read - читання одного або декількох атрибутів 3. search - пошук одного або декількох атрибутів 4. compare - порівняння одного або декількох атрибутів 5. add - додавання нового запису до ієрархії 6. delete - вилучення наявного запису 7. all - надати усі права доступу Типово, доступ до читання надається до більшості з атрибутів, отже потреба у визначенні прав доступу до читання має виникати доволі нечасто. Зауважте відмінність між атрибутами і записами. Права доступу є незалежними, отже можливість додавання запису користувача не означає, що цей запис згодом буде придатним до редагування. Передбачено декілька можливих призначень: 1. type: тип об’єкта (user, group тощо). 2. memberof: учасник групи або групи вузлів 3. filter: фільтр LDAP 4. subtree: фільтр LDAP, що визначає частину DIT LDAP. Є надмножиною призначення «type». 5. targetgroup: надати доступ до зміни вказаної групи (зокрема надати доступ до керування участю у групі) ПРИКЛАДИ: Додати право доступу до створення записів користувачів: ipa permission-add --type=user --permissions=add "Add Users" Додати право доступу, яке надає можливість керувати участю у групах: ipa permission-add --attrs=member --permissions=write --type=group "Manage Group Members" Права доступу Запис правил доступу уможливлює точне делегування прав. Запис прав доступу є зручною для читання обгорткою навколо правила керування доступом 389-ds або інструкції (ACI). Право доступу надає право виконувати специфічне завдання, зокрема додавання запису користувача, внесення зміни до групи тощо. Запис прав доступу не може містити інших прав доступу. * Права доступу надають можливість читати, записувати, вилучати, шукати або порівнювати. * Привілеї поєднують подібні права доступу (наприклад усі права доступу, потрібні для додавання запису користувача). * Роль надає набір привілеїв користувачам, групам, вузлам або групам вузлів. Запис права доступу складається з декількох різних частин: 1. Назви запису права доступу. 2. Призначення права доступу. 3. Права, які надаються записом. Права визначають список дій, які можна виконувати. Запис прав може бути один або може бути декілька записів з такого набору: 1. write - запис одного або декількох атрибутів 2. read - читання одного або декількох атрибутів 3. search - пошук одного або декількох атрибутів 4. compare - порівняння одного або декількох атрибутів 5. add - додавання нового запису до ієрархії 6. delete - вилучення наявного запису 7. all - надати усі права доступу Зауважте відмінність між атрибутами і записами. Права доступу є незалежними, отже можливість додавання запису користувача не означає, що цей запис згодом буде придатним до редагування. Передбачено декілька можливих призначень: 1. subtree: DN; право доступу застосовується до піддерева DN 2. target filter: фільтр LDAP 3. target: DN з можливими символами-замінниками, що визначає записи, яких стосуються права доступу Крім того, передбачено вказані нижче параметри. Встановлення одного з цих параметрів призводить до встановлення відповідних атрибутів. 1. type: тип об’єкта (користувач, група тощо); встановлює фільтрування за піддеревом (subtree) та фільтрування за призначенням (target filter). 2. memberof: застосовувати до учасників групи; встановлює фільтр за призначенням (target filter). 3. targetgroup: надає доступ до внесення змін до певної групи (зокрема, доступ до надання можливості керування участю у групі); встановлює призначення (target). Керовані права доступу Права доступу, які типово встановлюються разом з IPA, можуть бути так званими «керованим» правами доступу. Такі права доступу мають типовий набір атрибутів, до яких вони застосовуються. Втім, адміністратор може додавати або вилучати окремі атрибути набору. Вилучення або перейменування керованих прав доступу, а також зміну призначення таких прав, заборонено. ПРИКЛАДИ: Додати право доступу до створення записів користувачів: ipa permission-add --type=user --permissions=add "Add Users" Додати право доступу, яке надає можливість керувати участю у групах: ipa permission-add --attrs=member --permissions=write --type=group "Manage Group Members" Права доступу, які типово встановлюються разом з IPA, можуть бути так званими «керованим» правами доступу. Такі права доступу мають типовий набір атрибутів, до яких вони застосовуються. Втім, адміністратор може додавати або вилучати окремі атрибути набору. Перевірка віддаленого сервера IPA з метою переконатися, що він є працездатним. Програма ping надсилає луна-запит до сервера IPA. Сервер повертає дані щодо його версії. Ці дані використовуються клієнтом IPA для підтвердження, що сервер є доступним і що він приймає запити. Сервер з xmlrpc_uri у /etc/ipa/default.conf перевіряється першим. Якщо він не відповідає, клієнт намагається встановити зв’язок з будь-яким сервером, визначеним записами SRV ldap у DNS. ПРИКЛАДИ: Перевірити луна-імпульсом сервер IPA: ipa ping ------------------------------------------ Сервер IPA версії 2.1.9. Версія API 2.20 ------------------------------------------ Перевірити луна-імпульсом сервер IPA і отримати докладні дані: ipa -v ping ipa: INFO: trying https://ipa.example.com/ipa/xml ipa: INFO: Forwarding 'ping' to server 'https://ipa.example.com/ipa/xml' ----------------------------------------------------- Сервер IPA версії 2.1.9. Версія API 2.20 ----------------------------------------------------- Перевірка віддаленого сервера IPA з метою переконатися, що він є працездатним. Програма ping надсилає луна-запит до сервера IPA. Сервер повертає дані щодо його версії. Ці дані використовуються клієнтом IPA для підтвердження, що сервер є доступним і що він приймає запити. Сервер з xmlrpc_uri у /etc/ipa/default.conf перевіряється першим. Якщо він не відповідає, клієнт намагається встановити зв’язок з будь-яким сервером, визначеним записами SRV ldap у DNS. ПРИКЛАДИ: Перевірити луна-імпульсом сервер IPA: ipa ping ------------------------------------------ Сервер IPA версії 2.1.9. Версія API 2.20 ------------------------------------------ Перевірити луна-імпульсом сервер IPA і отримати докладні дані: ipa -v ping ipa: INFO: trying https://ipa.example.com/ipa/xml ipa: INFO: Forwarding 'ping' to server 'https://ipa.example.com/ipa/xml' ----------------------------------------------------- Сервер IPA версії 2.1.9. Версія API 2.20 ----------------------------------------------------- Додаток для виконання декількох викликів ipa за допомогою одного віддаленого виклику процедури Щоб запустити цей код на легкому сервері, віддайте такі команди: curl -H "Content-Type:application/json" -H "Accept:application/json" -H "Accept-Language:en" --negotiate -u : --cacert /etc/ipa/ca.crt -d @batch_request.json -X POST http://localhost:8888/ipa/json де у файлі batch_request.json міститься десь такий код: {"method":"batch","params":[[ {"method":"group_find","params":[[],{}]}, {"method":"user_find","params":[[],{"whoami":"true","all":"true"}]}, {"method":"user_show","params":[["admin"],{"all":true}]} ],{}],"id":1} Формат відповіді має бути розподілений за рівнями вкладеності у подібний же спосіб. На початку ви побачите таке: "error": null, "id": 1, "result": { "count": 3, "results": [ а далі буде вкладена відповідь для кожного методу команди IPA, який було надіслано у запиті Інтерфейс командного рядка не надає безпосереднього доступу до додатків, команди використано для внутрішньої обробки Привілей Привілей поєднує права доступу у одне логічне завдання. Право доступу надає можливість виконувати лише одне завдання. У IPA є декілька дій, виконання яких потребує одразу декількох прав доступу. У привілеї такі права доступу поєднуються з метою виконання певної дії. Наприклад, додавання запису користувача потребує таких прав доступу: * право створення запису користувача; * право скидання пароля користувача; * право додавання користувача до типової групи користувачів IPA. Поєднання цих трьох низькорівневих завдань у високорівневе завдання у форматі привілею з назвою «Add User» полегшує керування ролями. Привілей не може містити інших привілеїв. Щоб дізнатися більше, ознайомтеся з довідною щодо ролей та прав доступу. Надає можливості інтроспекції програмного інтерфейсу. Проксі-сервери RADIUS Проксі-сервери RADIUS Керування проксі-серверами RADIUS. У IPA передбачено підтримку зовнішнього проксі-сервера RADIUS для виконання розпізнавання OTP krb5. Це надає системі значної гнучкості з метою інтеграції зі сторонніми службами розпізнавання. ПРИКЛАДИ: Додати новий сервер: ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812 Знайти усі сервери, чиї запис містять рядок «example.com»: ipa radiusproxy-find example.com Перевірити налаштування: ipa radiusproxy-show MyRADIUS Змінити реєстраційні дані: ipa radiusproxy-mod MyRADIUS --secret Вилучити налаштування: ipa radiusproxy-del MyRADIUS ПОВТОРНА РЕЄСТРАЦІЯ: Вузол, якому вже колись було надано певну роль, але налаштування було втрачено (наприклад через знищення віртуальної машини), можна знову зареєструвати (надати роль). Щоб дізнатися більше, зверніться до сторінок підручника (man) щодо ipa-client-install. Запис вузла може, якщо потрібно, зберігати відомості щодо розташування, запущеної операційної системи тощо. Підняти рівень домену IPA. Домени області Керування списком доменів, пов’язаних з областю IPA. ПРИКЛАДИ: Показати поточний список доменів області: ipa realmdomains-show Замірити список доменів області: ipa realmdomains-mod --domain=example.com ipa realmdomains-mod --domain={example1.com,example2.com,example3.com} Додати домен до списку доменів області: ipa realmdomains-mod --add-domain=newdomain.com Вилучити домен зі списку доменів області: ipa realmdomains-mod --del-domain=olddomain.com Вилучення запису «%(hostname)s» призведе до нез’єднаної топології у суфіксу «%(suffix)s»: %(errors)s Топологія реплікації у суфіксі «%(suffix)s» є нез’єднаною: %(errors)s Повернути дані щодо поточного розпізнаного профілю Команда визначення профілю повертає дані щодо того, як отримати більше даних про профіль, розпізнаний для цього запиту. Дані: * тип об’єкта * команда для отримання подробиць щодо об’єкта * аргументи та параметри, які слід передати команді Дані повертаються у форматі словника. Нижче, як приклад, наведено виведення у форматі «ключ: значення». Приклади: Пошук від імені користувача IPA: kinit admin ipa console >> api.Command.whoami() ------------------------------------------ object: user command: user_show/1 arguments: admin ------------------------------------------ Пошук від імені користувача довіреного домену: kinit user@AD.DOMAIN ipa console >> api.Command.whoami() ------------------------------------------ object: idoverrideuser command: idoverrideuser_show/1 arguments: ('default trust view', 'user@ad.domain') ------------------------------------------ Пошук від імені вузла: kinit -k ipa console >> api.Command.whoami() ------------------------------------------ object: host command: host_show/1 arguments: ipa.example.com ------------------------------------------ Пошук від імені служби Kerberos: kinit -k -t /path/to/keytab HTTP/ipa.example.com ipa console >> api.Command.whoami() ------------------------------------------ object: service command: service_show/1 arguments: HTTP/ipa.example.com ------------------------------------------ Права визначають список дій, які можна виконувати. Запис прав може бути один або може бути декілька записів з такого набору: 1. write - запис одного або декількох атрибутів 2. read - читання одного або декількох атрибутів 3. search - пошук одного або декількох атрибутів 4. compare - порівняння одного або декількох атрибутів 5. add - додавання нового запису до ієрархії 6. delete - вилучення наявного запису 7. all - надати усі права доступу Ролі Роль використовується для уточнення налаштування прав доступу. Право доступу надає можливість виконувати деякі низькорівневі завдання (додавання запису користувача, внесення змін до групи тощо). Привілей поєднують одне або декілька прав доступу у високорівневу абстракцію, наприклад «адміністратор користувачів» (useradmin). Такий useradmin зможе додавати, вилучати і вносити зміни до записів користувачів. Привілеї пов’язуються з ролями. Учасниками ролі можуть бути користувачі, групи, вузли та групи вузлів. Ролі можуть містити інші ролі. ПРИКЛАДИ: Додавання нової ролі: ipa role-add --desc="Junior-level admin" junioradmin Додавання привілеїв до цієї ролі: ipa role-add-privilege --privileges=addusers junioradmin ipa role-add-privilege --privileges=change_password junioradmin ipa role-add-privilege --privileges=add_user_to_default_group junioradmin Додавання користувачів до цієї ролі: ipa group-add --desc="User admins" useradmins ipa role-add-member --groups=useradmins junioradmin Показ даних щодо ролі: ipa role-show junioradmin Результатом виконання команд буде те, що всі користувачі групи «useradmins» зможуть додавати записи користувачів, скидати паролі або додавати користувача до типової групи користувачів IPA. Процедури для побудови запитів щодо підписування сертифікатів за допомогою даних IPA та збережених шаблонів. ПОШУК: Встановлення відповідності користувачів SELinux Встановити відповідність користувачів IPA користувачам SELinux за вузлами. Вузли, групи вузлів, користувачі і групи можна визначати або в межах правила, або може вказувати на вже створене правило HBAC. У разі використання параметра --hbacrule команди selinuxusermap-find буде встановлено точну відповідність за назвою правила HBAC, отже буде повернуто один або жодного запису. ПРИКЛАДИ: Створення правила, «test1», яке встановлює всіх користувачів у xguest_u:s0 на вузлі «server»: ipa selinuxusermap-add --usercat=all --selinuxuser=xguest_u:s0 test1 ipa selinuxusermap-add-host --hosts=serverexample.com test1 Створення правила, "test2", яке встановлює всіх користувачів у guest_u:s0 і використовує вже створене правило HBAC для користувачів і вузлів: ipa selinuxusermap-add --usercat=all --hbacrule=webserver --selinuxuser=guest_u:s0 test2 Показ властивостей правил: ipa selinuxusermap-show test2 Створення правила для певного користувача. Встановлює контекст SELinux для користувача john у unconfined_u:s0-s0:c0.c1023 на всіх комп’ютерах: ipa selinuxusermap-add --hostcat=all --selinuxuser=unconfined_u:s0-s0:c0.c1023 john_unconfined ipa selinuxusermap-add-user --users=john john_unconfined Вимикання правила: ipa selinuxusermap-disable test1 Увімкнення правила: ipa selinuxusermap-enable test1 Пошук правила, що посилається на певне правило HBAC: ipa selinuxusermap-find --hbacrule=allow_some Вилучення правила: ipa selinuxusermap-del john_unconfined ТАКОЖ ОЗНАЙОМТЕСЯ: Застосовується список, який визначає порядок, у якому встановлюється відповідність користувачів. Типового користувача можна за допомогою програми config-show. ПІДТРИМУВАНІ ТИПИ ЗОН * Основна зона (dnszone-*), містить довірені дані. * Зона переспрямовування (dnsforwardzone-*), переспрямовує запити до налаштованих засобів обробки (набору серверів DNS). Пошук ACI. Повертає список ACI ПРИКЛАДИ: Знайти усі ACI, які застосовуються безпосередньо до учасників групи ipausers: ipa aci-find --memberof=ipausers Знайти усі ACI, які надають доступ add: ipa aci-find --permissions=add Зауважте, що команда пошуку виконує пошук вказаного тексту лише у наборі ACI, а не визначає, чи буде застосовано щось у ACI. Наприклад, у результаті пошуку memberof=ipausers буде знайдено усі ACI, у яких memberof містить ipausers. Але можуть існувати інші ACI, які застосовуються до учасників цієї групи опосередковано. Права доступу самообслуговування Права доступу надають змогу точно налаштувати уповноваження. За допомогою правил керування доступом та інструкцій (ACI) надаються права доступу до виконання вказаних завдань, зокрема додавання записів користувачів, внесення змін до записів груп тощо. Права доступу самообслуговування визначають права об’єкта на внесення змін до власного запису. ПРИКЛАДИ: Додавання правила самообслуговування для уможливлення керування користувачами власною адресою (з використанням виразу Bash у фігурних дужках): ipa selfservice-add --permissions=write --attrs={street,postalCode,l,c,st} "Users manage their own address" Якщо ви керуєте списком атрибутів, вам слід включити до списку всі атрибути, зокрема вже створені. Додавання telephoneNumber до списку (з використанням виразу Bash у фігурних дужках): ipa selfservice-mod --attrs={street,postalCode,l,c,st,telephoneNumber} "Users manage their own address" Показ нашого оновленого правила: ipa selfservice-show "Users manage their own address" Вилучення правила: ipa selfservice-del "Users manage their own address" Права доступу самообслуговування Права доступу надають змогу точно налаштувати уповноваження. За допомогою правил керування доступом та інструкцій (ACI) надаються права доступу до виконання вказаних завдань, зокрема додавання записів користувачів, внесення змін до записів груп тощо. Права доступу самообслуговування визначають права об’єкта на внесення змін до власного запису. ПРИКЛАДИ: Додавання правила самообслуговування для уможливлення керування користувачами власною адресою: ipa selfservice-add --permissions=write --attrs=street,postalCode,l,c,st "Users manage their own address" Якщо ви керуєте списком атрибутів, вам слід включити до списку всі атрибути, зокрема вже створені. Додавання telephoneNumber до списку: ipa selfservice-mod --attrs=street,postalCode,l,c,st,telephoneNumber "Users manage their own address" Показ нашого оновленого правила: ipa selfservice-show "Users manage their own address" Вилучення правила: ipa selfservice-del "Users manage their own address" Налаштування сервера Керування типовими значеннями, які використовує IPA, та деякими з придатних до зміни параметрів. ЗАУВАЖЕННЯ: Тут зберігається значення параметра сповіщення щодо паролів (--pwdexpnotify), отже його не буде скопійовано. Це значення поки що не використовується для сповіщення користувачів щодо завершення строку дії пароля. Деякі з атрибутів придатні лише для читання, їх буде показано лише з метою інформування. Серед цих атрибутів: Основа призначення сертифіката: змінна основа призначення сертифіката, наприклад O=EXAMPLE.COM. Цей атрибут можна налаштувати лише під час встановлення. Параметри додатка роботи з паролями: у поточній версії визначають додаткові хеші, які створюються на основі пароля (можуть бути і інші умови). Під час встановлення списку пріоритетності для користувачів SELinux може виникнути потреба у додаванні лапок до значення, щоб оболонка не обробляла параметр. ПРИКЛАДИ: Показати основні налаштування сервера: ipa config-show Показати всі параметри налаштування: ipa config-show --all Змінити максимальну довжину імені користувача на 99 символів: ipa config-mod --maxusername=99 Збільшити типовий час і максимальне обмеження на розмір пошуку сервера IPA: ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000 Встановити типовий домен електронної пошти користувачів: ipa config-mod --emaildomain=example.com Увімкнути режим перенесення, щоб зробити команду "ipa migrate-ds" працездатною: ipa config-mod --enable-migration=TRUE Визначити пріоритетність користувачів у карті SELinux: ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023' Обмежене службами делегування Керування правилами, за допомогою яких можна обмежити делегування реєстраційних даних так, що служба зможе виконувати персоніфікацію користувача під час обміну даними з іншою службою без потреби для користувача насправді переспрямовувати квиток для отримання квитка (TGT). Так створюється значно кращий метод делегування реєстраційних даних, оскільки він запобігає розкриттю короткотермінових ключів доступу користувачів. Відповідно до угоди з іменування, до назви правила додається слово "target" або "targets". Така схема назв не є обов’язковою, але вона допомагає концептуально пов’язати правила та їхні призначення. Правило складається з двох компонентів: - Списку цілей (призначень), яких стосується правило - Списку memberPrincipals, яким дозволено делегування для цих цілей Запис цілі складається зі списку реєстраційних записів, які можна делегувати. Якщо простіше, правило стверджує, що певний реєстраційний запис можна делегувати як вказаний список реєстраційних записів, відповідно до визначеного списку цілей. ПРИКЛАДИ: Додати нове правило обмеженого делегування: ipa servicedelegationrule-add ftp-delegation Додати нову ціль обмеженого делегування: ipa servicedelegationtarget-add ftp-delegation-target Додати реєстраційний запис до правила: ipa servicedelegationrule-add-member --principals=ftp/ipa.example.com ftp-delegation Додати нашу ціль до правила: ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-delegation-target ftp-delegation Додати реєстраційний запис до цілі: ipa servicedelegationtarget-add-member --principals=ldap/ipa.example.com ftp-delegation-target Показати дані щодо іменованого правила і цілі: ipa servicedelegationrule_show ftp-delegation ipa servicedelegationtarget_show ftp-delegation-target Вилучити обмежене делегування: ipa servicedelegationrule-del ftp-delegation-target ipa servicedelegationtarget-del ftp-delegation У цьому прикладі служба ftp може отримувати квиток для отримання квитка для служби ldap від імені пов’язаного користувача. Ми наполегливо не рекомендуємо змінювати делегування, які постачаються з IPA, ipa-http-delegation та його цілі ipa-cifs-delegation-targets і ipa-ldap-delegation-targets. Некоректні зміни можуть усунути можливість делегування, що спричинить непрацездатність усієї системи. Служби Служба IPA — це служба, що працює на вузлі системи. У записі служби IPA можуть зберігатися дані реєстраційного запису Kerberos, сертифікат SSL або обидва набори даних. Службою IPA можна керувати безпосередньо з комп’ютера, якщо системі цього комп’ютера надано достатні права доступу. Це стосується навіть комп’ютерів, відмінних від тих, з якими пов’язано службу. Наприклад, вони можуть надсилати запит щодо сертифіката SSL за допомогою реєстраційних даних служби вузла. Для керування службою за допомогою реєстраційних даних вузла слід віддати команду ініціалізації kinit від імені вузла: # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM Додавання служби IPA надає доступ пов’язаній службі до надсилання запитів щодо сертифікатів SSL та таблиці ключів, але створення самих запитів є окремим кроком: відповідні дані не створюються у результаті простого додавання служби. У записі служби зберігаються лише відкриті дані сертифіката; закритий ключ не зберігається. ПРИКЛАДИ: Додати нову службу IPA: ipa service-add HTTP/web.example.com Дозволити вузлу керувати сертифікатом служби IPA: ipa service-add-host --hosts=web.example.com HTTP/web.example.com ipa role-add-member --hosts=web.example.com certadmin Перевизначити типовий список підтримуваних типів PAC для служби: ipa service-mod HTTP/web.example.com --pac-type=MS-PAC Типовим випадком, коли потрібне перевизначення типу PAC є NFS. У поточній версії ядра Linux відповідний код може працювати лише з квитками Kerberos, розмір яких не перевищує максимально заданого. Оскільки дані PAC можуть бути доволі об’ємними, для служб NFS рекомендуємо встановити --pac-type=NONE. Вилучити службу IPA: ipa service-del HTTP/web.example.com Знайти усіх служби IPA, пов’язані із вузлом: ipa service-find web.example.com Знайти усі служби HTTP: ipa service-find HTTP Вимкнути службу ключів Kerberos і сертифіката SSL: ipa service-disable HTTP/web.example.com Надіслати запит щодо сертифіката для служби IPA: ipa cert-request --principal=HTTP/web.example.com example.csr Служби Служба IPA — це служба, що працює на вузлі системи. У записі служби IPA можуть зберігатися дані реєстраційного запису Kerberos, сертифікат SSL або обидва набори даних. Службою IPA можна керувати безпосередньо з комп’ютера, якщо системі цього комп’ютера надано достатні права доступу. Це стосується навіть комп’ютерів, відмінних від тих, з якими пов’язано службу. Наприклад, вони можуть надсилати запит щодо сертифіката SSL за допомогою реєстраційних даних служби вузла. Для керування службою за допомогою реєстраційних даних вузла слід віддати команду ініціалізації kinit від імені вузла: # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM Додавання служби IPA надає доступ пов’язаній службі до надсилання запитів щодо сертифікатів SSL та таблиці ключів, але створення самих запитів є окремим кроком: відповідні дані не створюються у результаті простого додавання служби. У записі служби зберігаються лише відкриті дані сертифіката; закритий ключ не зберігається. ПРИКЛАДИ: Додати нову службу IPA: ipa service-add HTTP/web.example.com Дозволити вузлу керувати сертифікатом служби IPA: ipa service-add-host --hosts=web.example.com HTTP/web.example.com ipa role-add-member --hosts=web.example.com certadmin Перевизначити типовий список підтримуваних типів PAC для служби: ipa service-mod HTTP/web.example.com --pac-type=MS-PAC Типовим випадком, коли потрібне перевизначення типу PAC є NFS. У поточній версії ядра Linux відповідний код може працювати лише з квитками Kerberos, розмір яких не перевищує максимально заданого. Оскільки дані PAC можуть бути доволі об’ємними, для служб NFS рекомендуємо встановити --pac-type=NONE. Вилучити службу IPA: ipa service-del HTTP/web.example.com Знайти усіх служби IPA, пов’язані із вузлом: ipa service-find web.example.com Знайти усі служби HTTP: ipa service-find HTTP Вимкнути службу ключів Kerberos і сертифіката SSL: ipa service-disable HTTP/web.example.com Надіслати запит щодо сертифіката для служби IPA: ipa cert-request --principal=HTTP/web.example.com example.csr Дозволити користувачеві створювати сховище ключів: ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1 Створити і отримати вміст сховища ключів для служби IPA: ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab Служби Служба IPA — це служба, що працює на вузлі системи. У записі служби IPA можуть зберігатися дані реєстраційного запису Kerberos, сертифікат SSL або обидва набори даних. Службою IPA можна керувати безпосередньо з комп’ютера, якщо системі цього комп’ютера надано достатні права доступу. Це стосується навіть комп’ютерів, відмінних від тих, з якими пов’язано службу. Наприклад, вони можуть надсилати запит щодо сертифіката SSL за допомогою реєстраційних даних служби вузла. Для керування службою за допомогою реєстраційних даних вузла слід віддати команду ініціалізації kinit від імені вузла: # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM Додавання служби IPA надає доступ пов’язаній службі до надсилання запитів щодо сертифікатів SSL та таблиці ключів, але створення самих запитів є окремим кроком: відповідні дані не створюються у результаті простого додавання служби. У записі служби зберігаються лише відкриті дані сертифіката; закритий ключ не зберігається. ПРИКЛАДИ: Додати нову службу IPA: ipa service-add HTTP/web.example.com Дозволити вузлу керувати сертифікатом служби IPA: ipa service-add-host --hosts=web.example.com HTTP/web.example.com ipa role-add-member --hosts=web.example.com certadmin Перевизначити типовий список підтримуваних типів PAC для служби: ipa service-mod HTTP/web.example.com --pac-type=MS-PAC Вилучити службу IPA: ipa service-del HTTP/web.example.com Знайти усіх служби IPA, пов’язані із вузлом: ipa service-find web.example.com Знайти усі служби HTTP: ipa service-find HTTP Вимкнути службу ключів Kerberos і сертифіката SSL: ipa service-disable HTTP/web.example.com Надіслати запит щодо сертифіката для служби IPA: ipa cert-request --principal=HTTP/web.example.com example.csr Створити і отримати вміст сховища ключів для служби IPA: ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/httpd.keytab Підтримка сеансів у IPA John Dennis Мета ===== Забезпечити кешування даних сеансів окремих користувачів протягом часу між послідовними запитами. Бажані можливості: * Безпроблемна інтеграція із мінімальним впливом на наявну інфраструктуру. * Забезпечення максимального захисту із одночасним збереженням прийнятної швидкодії. * Забезпечення можливості відкликання сеансів (витирання даних). * Гнучкість і простота у використанні для розробників. * Максимальне використання наявних технологій і коду для запобігання потребі у повторній розробці, зайвій витарні часу та для того, щоб скористатися стабільністю випробуваних компонентів, які широкого використовуються спільнотою вільного програмного забезпечення. * Підтримка роботи із декількома незалежними процесами, які спільно використовують дані сеансу. * Система має працювати належним чином як із даними сеансу, так і без них. * Висока швидкодія системи. * Не повинно бути прив’язки до певних серверів або програм для перегляду. Має бути забезпечено інтеграцію із вибраною нами моделлю WSGI. Проблеми ====== Куки ------- Більшість реалізацій сеансів засновано на використанні кук. У кук є декілька невиправних недоліків. * Користувач може вимкнути куки. * Зберігання кук на боці користувача не є безпечним. Цю проблему може бути усунено використанням прапорців, які позначають, що кука використовується лише у межах з’єднань HTTP із захистом SSL, для певних ресурсів мережі та визначенням того, що строк дії куки обмежено строком роботи сеансу. У більшості сучасних програм для перегляду інтернету ці правила встановлюються примусово. Де зберігати дані сеансів? ---------------------------- Дані сеансів можна зберігати або на боці клієнта, або на боці сервера. Якщо зберігати дані сеансів на адресах клієнтів, виникатиме проблема із доступністю даних сеансу, якщо запити обслуговуються незалежними серверами, оскільки дані сеансу передаються разом із запитом. Це може призвести до проблем, пов’язаних із обмеженням на об’єм даних. Крім того, зберігання даних на боці клієнта може призвести до проблем із доступом до конфіденційних даних. Втім, ці проблеми можна усунути шифруванням даних сеансу так, щоб їх можна було розшифрувати лише на сервері. Поширенішим є підхід, за якого дані сеансу прив’язуються до унікальної назви, ідентифікатора сеансу. Цей ідентифікатор сеансу передається на клієнт, а дані сеансу пов’язуються із ідентифікатором сеансу на сервері у пов’язаному із ним сховищі даних. Дані сеансу отримуються сервером з використанням ідентифікатора сеансу, коли отримує запит. Таким чином усуваються розкриття конфіденційних даних сеансу на боці клієнта і обмеження на розмір даних. Втім, натомість виникає проблем із доступністю даних сеансу, якщо запити обслуговуються декількома процесами на сервері. Доступність даних сеансу для декількох процесів ----------------------------------------------- Apache (та інші вебсервери) відгалужують дочірні процеси для паралельної обробки. Крім того, вебсервери може бути розгорнуто у фермі, де навантаження від запитів збалансовано у замкнений спосіб шляхом розподілу його між вузлами. У обох випадках дані сеансу не можна зберігати у пам’яті процесу, оскільки вона недоступна іншим процесам, — дочірнім близнюкам основного процесу на сервері або процесам сервера на певних вузлах. Типовим вирішенням цієї проблеми є зберігання даних сеансу у базі даних SQL. Коли процес сервера отримує запит, що містить ідентифікатор сеансу у своїх даних куки, цей ідентифікатор сеансу використовується для створення запиту до бази даних SQL, а результат запиту долучається до самого запиту під час передавання його ланцюжком обробки запитів. Це, звичайно ж, тягне за собою проблеми із когерентністю даних. У IPA впровадження залежності від бази даних SQL є небажаним, його уникнути. Дані сеансу також можна надати у спільне використання незалежних процесів, якщо зберігати їх у файлах. Альтернативним вирішенням проблеми, яке набуває значної популярності, є використання швидкого сервера кешування у оперативній пам’яті. Дані зберігаються у пам’яті одного процесу, щодо них можна надсилати запити, їх можна змінювати за допомогою простого протоколу із використанням стандартних механізмів роботи із сокетами. Прикладом є memcached. Типовим способом використання є оптимізація обробки запитів SQL шляхом зберігання результатів запиту SQL у кеші спільного використання у оперативній пам’яті, уникаючи витратних дій з базою даних SQL. Втім, кеш у пам’яті має значні переваги і у середовищах без SQL. Можлива реалізація для використання у IPA ========================================= Сеанси Apache --------------- У Apache 2.3 підтримку сеансів реалізовано за допомогою таких модулів: mod_session Загальна підтримка сеансів на основі кук. Див. http://httpd.apache.org/docs/2.3/mod/mod_session.html mod_session_cookie Зберігає дані сеансів на боці клієнта. Див. http://httpd.apache.org/docs/2.3/mod/mod_session_cookie.html mod_session_crypto Шифрує дані сеансів для захисту. Ключ шифрування є спільним параметром налаштовування, видимим усім процесам Apache, він зберігається у файлі налаштувань. Див. http://httpd.apache.org/docs/2.3/mod/mod_session_crypto.html mod_session_dbd Зберігає дані сеансу у базі даних SQL, що надає одночасну можливість декільком процесам отримувати доступ і спільно використовувати дані сеансу. Див. http://httpd.apache.org/docs/2.3/mod/mod_session_dbd.html Проблеми, пов’язані із сеансами у Apache ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Хоча у Apache реалізовано загальну підтримку сеансів, а Apache є вебсервером, якому ми надаємо перевагу, він створює проблеми у роботі з IPA. * Підтримкою сеансів можна скористатися лише у httpd >= 2.3, версії, яка на час написання цього доступна лише у тестовому випуску основної гілки розробки. Поточною ж версією у нашому дистрибутиві є httpd 2.2. Те саме стосується і інших дистрибутивів. * Ми могли б створити пакунки і постачати модулі для роботи з сеансами як тимчасові пакунки у середовищах з httpd 2.2, але це матиме такі наслідки: - Доведеться виконувати зворотне портування коду. Програмний між версіями httpd 2.2 і 2.3 було змінено. Зворотне портування не є таким вже складним — технічну його демонстрацію вже реалізовано. - Нам доведеться пакувати і супроводжувати спеціальний пакунок Apache. Маємо супроводжувати код і пакувати його для дистрибутивів. Варто було б уникнути обох цих дій, якщо це можливо. * Концепція побудови модулів роботи із сеансами у Apache така, що керувати цими модулями можна лише з інших модулів Apache. Можливості споживачів даних сеансу з керування даними є дуже Спрощеними, обмеженими і статичними на час обробки запиту. Обробники запитів, які не є рідними модулями Apache (зокрема IPA через WSGI), можуть лише вивчати дані сеансу за допомогою Заголовків запитів і скидати ці дані у заголовках відповідей. * Доступ до даних сеансів спільного використання здійснюється лише за допомогою SQL. Втім, використання модулів роботи із сеансами Apache 2.3 надасть нам доступ до надійної підтримки сеансів, реалізованої мовою C на основі стандартизованих та широковживаних інтерфейсів Apache. Веббібліотеки Python -------------------- Майже в усіх веббібліотеках Python передбачено підтримку сеансів на основі кук. Це, зокрема Django, Twisted, Zope, Turbogears. На попередніх етапах розвитку IPA нами було прийнято рішення не використовувати ці бібліотеки. Спроби запозичити лише якусь частину цих бібліотек призведуть до проблем із працездатністю, оскільки код не працюватиме поза своєю бібліотекою. Сеанси, реалізовані засобами IPA -------------------------------- Спочатку нам здавалося, що найпростішим шляхом буде скористатися Готовою підтримкою сеансів, найімовірніше тією, яку реалізовано у Apache. Втім, виявилося, що існує достатньо багато базових модульних компонентів Python та інших стандартних пакунків, щоб виконати означені вище вимоги із порівняно незначними затратами на реалізацію. Оскільки ми використовуємо наявні компоненти, складнощі із реалізацією має бути знівельовано використанням компонентів, які вже перевірено і у яких є власна підтримка з боку спільноти. Це доволі зважена стратегія. Пропоноване рішення =================== Наш інтерфейс вебсервера працюватиме за допомогою WSGI, який робитиме зворотний виклик для кожного запиту і передаватиме нам контекст середовища для запиту. Надалі ми будемо називати зворотній виклик WSGI « application()», правильна назва у межах синтаксису WSGI. Обробку спільних даних сеансів здійснюватиме memcached. Ми створюватимемо один екземпляр memcached на кожному вузлі сервера, призначений лише для IPA. Обмін даними із memcached здійснюватиметься за допомогою сокета UNIX, Розташованого у файловій системі за адресою /var/run/ipa_memcached. Сокет буде захищено правами доступу файлової системи і, якщо потрібно, правилом SELinux. У application() ми вивчаємо куки запиту і, якщо маємо куку сеансу IPA із ідентифікатором сеансу, отримуємо дані сеансу з нашого екземпляра memcached. Дані сеансу будуть словником (dict) Python. Компоненти IPA читатимуть або записуватимуть свої відомості щодо сеансу шляхом використання попередньо узгодженої назви (наприклад ключа) у dict. Це дуже гнучка системи, яка є сумісною із тим, як ми передаємо дані у більшості частин IPA. Якщо дані сеансу недоступні, буде створено порожній словник даних сеансу. How does this session data travel with the request in the IPA pipeline? In IPA we use the HTTP request/response to implement RPC. In application() we convert the request into a procedure call passing it arguments derived from the HTTP request. The passed parameters are specific to the RPC method being invoked. The context the RPC call is executing in is not passed as an RPC parameter. How would the contextual information such as session data be bound to the request and hence the RPC call? In IPA when a RPC invocation is being prepared from a request we recognize this will only ever be processed serially by one Python thread. A thread local dict called "context" is allocated for each thread. The context dict is cleared in between requests (e.g. RPC method invocations). The per-thread context dict is populated during the lifetime of the request and is used as a global data structure unique to the request that various IPA component can read from and write to with the assurance the data is unique to the current request and/or method call. The session data dict will be written into the context dict under the session key before the RPC method begins execution. Thus session data can be read and written by any IPA component by accessing ``context.session``. When the RPC method finishes execution the session data bound to the request/method is retrieved from the context and written back to the memcached instance. The session ID is set in the response sent back to the client in the ``Set-Cookie`` header along with the flags controlling it's usage. Проблеми і подробиці -------------------- IPA code cannot depend on session data being present, however it should always update session data with the hope it will be available in the future. Session data may not be available because: * This is the first request from the user and no session data has been created yet. * The user may have cookies disabled. * The session data may have been flushed. memcached operates with a fixed memory allocation and will flush entries on a LRU basis, like with any cache there is no guarantee of persistence. Also we may have have deliberately expired or deleted session data, see below. Cookie manipulation is done via the standard Python Cookie module. Session cookies will be set to only persist as long as the browser has the session open. They will be tagged so the browser only returns the session ID on SSL secured HTTP requests. They will not be visible to Javascript in the browser. Session ID's will be created by using 48 bits of random data and converted to 12 hexadecimal digits. Newly generated session ID's will be checked for prior existence to handle the unlikely case the random number repeats. memcached will have significantly higher performance than a SQL or file based storage solution. Communication is effectively though a pipe (UNIX socket) using a very simple protocol and the data is held entirely in process memory. memcached also scales easily, it is easy to add more memcached processes and distribute the load across them. At this point in time we don't anticipate the need for this. A very nice feature of the Python memcached module is that when a data item is written to the cache it is done with standard Python pickling (pickling is a standard Python mechanism to marshal and unmarshal Python objects). We adopt the convention the object written to cache will be a dict to meet our internal data handling conventions. The pickling code will recursively handle nested objects in the dict. Thus we gain a lot of flexibility using standard Python data structures to store and retrieve our session data without having to author and debug code to marshal and unmarshal the data if some other storage mechanism had been used. This is a significant implementation win. Of course some common sense limitations need to observed when deciding on what is written to the session cache keeping in mind the data is shared between processes and it should not be excessively large (a configurable option) We can set an expiration on memcached entries. We may elect to do that to force session data to be refreshed periodically. For example we may wish the client to present fresh credentials on a periodic basis even if the cached credentials are otherwise within their validity period. We can explicitly delete session data if for some reason we believe it is stale, invalid or compromised. memcached also gives us certain facilities to prevent race conditions between different processes utilizing the cache. For example you can check of the entry has been modified since you last read it or use CAS (Check And Set) semantics. What has to be protected in terms of cache coherency will likely have to be determined as the session support is utilized and different data items are added to the cache. This is very much data and context specific. Fortunately memcached operations are atomic. Контроль за процесом memcached ------------------------------ We need a mechanism to start the memcached process and secure it so that only IPA components can access it. Although memcached ships with both an initscript and systemd unit files those are for generic instances. We want a memcached instance dedicated exclusively to IPA usage. To accomplish this we would install a systemd unit file or an SysV initscript to control the IPA specific memcached service. ipactl would be extended to know about this additional service. systemd's cgroup facility would give us additional mechanisms to integrate the IPA memcached service within a larger IPA process group. Protecting the memcached data would be done via file permissions (and optionally SELinux policy) on the UNIX domain socket. Although recent implementations of memcached support authentication via SASL this introduces a performance and complexity burden not warranted when cached is dedicated to our exclusive use and access controlled by OS mechanisms. Conventionally daemons are protected by assigning a system uid and/or gid to the daemon. A daemon launched by root will drop it's privileges by assuming the effective uid:gid assigned to it. File system access is controlled by the OS via the effective identity and SELinux policy can be crafted based on the identity. Thus the memcached UNIX socket would be protected by having it owned by a specific system user and/or membership in a restricted system group (discounting for the moment SELinux). Unfortunately we currently do not have an IPA system uid whose identity our processes operate under nor do we have an IPA system group. IPA does manage a collection of related processes (daemons) and historically each has been assigned their own uid. When these unrelated processes communicate they mutually authenticate via other mechanisms. We do not have much of a history of using shared file system objects across identities. When file objects are created they are typically assigned the identity of daemon needing to access the object and are not accessed by other daemons, or they carry root identity. When our WSGI application runs in Apache it is run as a WSGI daemon. This means when Apache starts up it forks off WSGI processes for us and we are independent of other Apache processes. When WSGI is run in this mode there is the ability to set the uid:gid of the WSGI process hosting us, however we currently do not take advantage of this option. WSGI can be run in other modes as well, only in daemon mode can the uid:gid be independently set from the rest of Apache. All processes started by Apache can be set to a common uid:gid specified in the global Apache configuration, by default it's apache:apache. Thus when our IPA code executes it is running as apache:apache. To protect our memcached UNIX socket we can do one of two things: 1. Assign it's uid:gid as apache:apache. This would limit access to our cache only to processes running under httpd. It's somewhat restricted but far from ideal. Any code running in the web server could potentially access our cache. It's difficult to control what the web server runs and admins may not understand the consequences of configuring httpd to serve other things besides IPA. 2. Create an IPA specific uid:gid, for example ipa:ipa. We then configure our WSGI application to run as the ipa:ipa user and group. We also configure our memcached instance to run as the ipa:ipa user and group. In this configuration we are now fully protected, only our WSGI code can read & write to our memcached UNIX socket. However there may be unforeseen issues by converting our code to run as something other than apache:apache. This would require some investigation and testing. IPA is dependent on other system daemons, specifically Directory Server (ds) and Certificate Server (cs). Currently we configure ds to run under the dirsrv:dirsrv user and group, an identity of our creation. We allow cs to default to it's pkiuser:pkiuser user and group. Should these other cooperating daemons also run under the common ipa:ipa user and group identities? At first blush there would seem to be an advantage to coalescing all process identities under a common IPA user and group identity. However these other processes do not depend on user and group permissions when working with external agents, processes, etc. Rather they are designed to be stand-alone network services which authenticate their clients via other mechanisms. They do depend on user and group permission to manage their own file system objects. If somehow the ipa user and/or group were compromised or malicious code somehow executed under the ipa identity there would be an advantage in having the cooperating processes cordoned off under their own identities providing one extra layer of protection. (Note, these cooperating daemons may not even be co-located on the same node in which case the issue is moot) The UNIX socket behavior (ldapi) with Directory Server is as follows: * Власник сокета: root:root * Права доступу до сокета: 0666 * When connecting via ldapi you must authenticate as you would normally with a TCP socket, except ... * If autobind is enabled and the uid:gid is available via SO_PEERCRED and the uid:gid can be found in the set of users known to the Directory Server then that connection will be bound as that user. * Otherwise an anonymous bind will occur. memcached UNIX socket behavior is as follows: * memcached can be invoked with a user argument, no group may be specified. The effective uid is the uid of the user argument and the effective gid is the primary group of the user, let's call this euid:egid * The socket ownership is: euid:egid * The socket permissions are 0700 by default, but this can be modified by the -a mask command line arg which sets the umask (defaults to 0700). Огляд розпізнавання у IPA ========================= This describes how we currently authenticate and how we plan to improve authentication performance. First some definitions. Існує 4 основних учасника процесу: 1. клієнт 2. mod_auth_kerb (у процесі Apache) 3. wsgi handler (у процесі wsgi pyhon IPA) 4. ds (сервер каталогів) Існує декілька ресурсів: 1. /ipa/ui (unprotected, web UI static resources) 2. /ipa/xml (protected, xmlrpc RPC used by command line clients) 3. /ipa/json (protected, json RPC used by javascript in web UI) 4. ds (protected, wsgi acts as proxy, our LDAP server) Поточна модель -------------- This describes how things work in our current system for the web UI. 1. Client requests /ipa/ui, this is unprotected, is static and contains no sensitive information. Apache replies with html and javascript. The javascript requests /ipa/json. 2. Client sends post to /ipa/json. 3. mod_auth_kerb is configured to protect /ipa/json, replies 401 authenticate negotiate. 4. Client resends with credentials 5. mod_auth_kerb validates credentials a. if invalid replies 403 access denied (stops here) b. if valid creates temporary ccache, adds KRB5CCNAME to request headers 6. Request passed to wsgi handler a. validates request, KRB5CCNAME must be present, referrer, etc. b. ccache saved and used to bind to ds c. routes to specified RPC handler. 7. wsgi handler replies to client Пропонована нова оптимізація на основі сеансів ---------------------------------------------- The round trip negotiate and credential validation in steps 3,4,5 is expensive. This can be avoided if we can cache the client credentials. With client sessions we can store the client credentials in the session bound to the client. A few notes about the session implementation. * based on session cookies, cookies must be enabled * session cookie is secure, only passed on secure connections, only passed to our URL resource, never visible to client javascript etc. * session cookie has a session id which is used by wsgi handler to retrieve client session data from shared multi-process cache. Зміни у захисті ресурсів Apache ------------------------------- * /ipa/json is no longer protected by mod_auth_kerb. This is necessary to avoid the negotiate expense in steps 3,4,5 above. Instead the /ipa/json resource will be protected in our wsgi handler via the session cookie. * A new protected URI is introduced, /ipa/login. This resource does no serve any data, it is used exclusively for authentication. Нова послідовність дій: 1. Client requests /ipa/ui, this is unprotected. Apache replies with html and javascript. The javascript requests /ipa/json. 2. Client sends post to /ipa/json, which is unprotected. 3. wsgi handler obtains session data from session cookie. a. if ccache is present in session data and is valid - request is further validated - ccache is established for bind to ds - request is routed to RPC handler - wsgi handler eventually replies to client b. if ccache is not present or not valid processing continues ... 4. wsgi handler replies with 401 Unauthorized 5. client sends request to /ipa/login to obtain session credentials 6. mod_auth_kerb replies 401 negotiate on /ipa/login 7. client sends credentials to /ipa/login 8. mod_auth_kerb validates credentials a. if valid - mod_auth_kerb permits access to /ipa/login. wsgi handler is invoked and does the following: * establishes session for client * retrieves the ccache from KRB5CCNAME and stores it a. if invalid - mod_auth_kerb sends 403 access denied (processing stops) 9. client now posts the same data again to /ipa/json including session cookie. Processing repeats starting at step 2 and since the session data now contains a valid ccache step 3a executes, a successful reply is sent to client. Клієнт командного рядка з використанням xmlrpc ---------------------------------------------- Вище описано вебінтерфейс користувача із використанням механізму RPC json. Інструменти командного рядка IPA використовують механізм RPC xmlrpc на тому самому сервері HTTP. Доступ до xmlrpc здійснюється через адресу /ipa/xml. Програмний інтерфейс json та xmlrpc є є однаковим, відмінність полягає лише у побудові і розбиранні їхніх викликів процедур. У межах нової схеми /ipa/xml увесь час захищатиметься Kerberos. mod_auth_kerb з Apache продовжуватиме вимагати від клієнта надання чинних реєстраційних даних Kerberos. Коли обробник WSGI пере спрямовуватиметься до /ipa/xml, реєстраційні дані Kerberos видобуватимуться зі змінної середовища KRB5CCNAME, за вміст якої відповідає mod_auth_kerb. Усе інше залишається тим самим. Встановлення пароля користувача Якщо якась стороння особа змінює пароль користувача (наприклад його відновлює допоміжний персонал), новий пароль має бути змінено під час його першого використання. Метою такого способу дій є забезпечення ситуації, коли пароль буде відомий лише тому, хто ним користується. Правила щодо паролів IPA керують частотою зміни пароля, вимогами щодо складності пароля та об’ємом журналу зміни паролів. ПРИКЛАДИ: Щоб скинути ваш власний пароль, виконайте команду: ipa passwd Щоб змінити пароль іншого користувача, виконайте команду: ipa passwd tuser1 Імітація використання керування доступом на основі вузлів (HBAC) Правила HBAC керують тим, хто може отримувати доступ до певних служб. Ви можете скористатися HBAC для керування тим, які користувачі або групи на початковому вузлі можуть отримувати доступ до служби або групи служб на вузлі призначення Оскільки застосування правил HBAC передбачає використання робочого середовища, це додаток призначено для імітації обробки правил HBAC без доступу до реального середовища Перевірити відповідність користувача з початкового вузла до служби на іменованому вузлі правилам уможливлення доступу. ipa hbactest --user= --host= --service= [--rules=rules-list] [--nodetail] [--enabled] [--disabled] [--srchost= ] [--sizelimit= ] --user, --host і --service є обов’язковими, інші можна не вказувати. Якщо вказано --rules, імітувати вмикання вказаних правил і перевірити можливість входу користувача у разі використання лише цих правил. Якщо вказано --enabled, додати всі увімкнені правила HBAC до імітації Якщо вказано --disabled, додати всі вимкнені правила HBAC до імітації Якщо вказано --nodetail, не повертати даних щодо відповідних і невідповідних правил. Якщо вказано одночасно --rules і --enabled, виконати імітацію --rules _і_ всіх увімкнених правил IPA. Якщо не вказано --rules, буде виконано імітацію всіх увімкнених правил IPA. Якщо вказано --srchost, його буде проігноровано. Цей параметр збережено лише з міркувань сумісності. ПРИКЛАДИ: 1. Використання всіх увімкнених правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --srchost=foo --host=bar --service=sshd -------------------- Надано доступ: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule відповідне: allow_all 2. Вимикання докладного резюме застосування правил: $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail -------------------- Надано доступ: Так -------------------- 3. Перевірити явно вказані правила HBAC: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --------------------- Надано доступ: Ні --------------------- невідповідне: my-second-rule невідповідне: myrule 4. Використання всіх увімкнених правил HBAC у базі даних IPA + явно вказаних правил: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --enabled -------------------- Доступ надано: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule відповідне: allow_all 5. Перевірка всіх вимкнених правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled --------------------- Надано доступ: Ні --------------------- невідповідне: new-rule 6. Перевірка всіх вимкнених правил HBAC у базі даних IPA + явно вказані правила: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --disabled --------------------- Надано доступ: Ні --------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule 7. Перевірка всіх (увімкнених і вимкнених) правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --host=bar --service=sshd --enabled --disabled -------------------- Надано доступ: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule невідповідне: new-rule відповідне: allow_all Імітація використання керування доступом на основі вузлів (HBAC) Правила HBAC керують тим, хто може отримувати доступ до певних служб на певних вузлах. Ви можете скористатися HBAC для керування тим, які користувачі або групи на початковому вузлі можуть отримувати доступ до служби або групи служб на вузлі призначення Оскільки застосування правил HBAC передбачає використання робочого середовища, це додаток призначено для імітації обробки правил HBAC без доступу до реального середовища Перевірити відповідність користувача з початкового вузла до служби на іменованому вузлі правилам уможливлення доступу. ipa hbactest --user= --host= --service= [--rules=rules-list] [--nodetail] [--enabled] [--disabled] [--sizelimit= ] --user, --host і --service є обов’язковими, інші можна не вказувати. Якщо вказано --rules, імітувати вмикання вказаних правил і перевірити можливість входу користувача у разі використання лише цих правил. Якщо вказано --enabled, додати всі увімкнені правила HBAC до імітації Якщо вказано --disabled, додати всі вимкнені правила HBAC до імітації Якщо вказано --nodetail, не повертати даних щодо відповідних і невідповідних правил. Якщо вказано одночасно --rules і --enabled, виконати імітацію --rules _і_ всіх увімкнених правил IPA. Якщо не вказано --rules, буде виконано імітацію всіх увімкнених правил IPA. ПРИКЛАДИ: 1. Використання всіх увімкнених правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --srchost=foo --host=bar --service=sshd -------------------- Надано доступ: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule відповідне: allow_all 2. Вимикання докладного резюме застосування правил: $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail -------------------- Надано доступ: Так -------------------- 3. Перевірити явно вказані правила HBAC: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=myrule --rules=my-second-rule --------------------- Надано доступ: Ні --------------------- невідповідне: my-second-rule невідповідне: myrule 4. Використання всіх увімкнених правил HBAC у базі даних IPA + явно вказаних правил: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=myrule --rules=my-second-rule --enabled -------------------- Доступ надано: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule відповідне: allow_all 5. Перевірка всіх вимкнених правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled --------------------- Надано доступ: Ні --------------------- невідповідне: new-rule 6. Перевірка всіх вимкнених правил HBAC у базі даних IPA + явно вказані правила: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=myrule --rules=my-second-rule --disabled --------------------- Надано доступ: Ні --------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule 7. Перевірка всіх (увімкнених і вимкнених) правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --host=bar --service=sshd --enabled --disabled -------------------- Надано доступ: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule невідповідне: new-rule відповідне: allow_all HBACTEST І ДОВІРЕНІ ДОМЕНИ Якщо у IPA налаштовано зовнішній довірений домен, правила HBAC також застосовуються до користувачів, що отримують доступ до ресурсів IPA з з довіреного домену. Після цього користувачі і групи довіреного домену (на їхні SID) може бути прив’язано до зовнішніх груп, які можуть бути учасниками груп POSIX у IPA. Такі прив’язки може бути використано у правилах HBAC, отже уможливлення доступу до ресурсів, захищених системою HBAC. Додаток hbactest здатен тестувати доступ як для локальних користувачів IPA, так і користувачів з довірених доменів, як за повним іменем користувача, так і за SID користувачів. У таких іменах користувачів має бути вказано скорочено довірений домен (ДОМЕН\Administrator) або назву реєстраційного запису користувача (UPN), Administrator@ad.test. Будь ласка, зауважте, що виконувати hbactest з аргументом користувача довіреного домену у параметрі --user можуть виконувати лише учасники групи «trust admins». ПРИКЛАД: 1. Перевірити, чи відповідає користувач з довіреного домену, вказаний за коротким іменем, якомусь правилу: $ ipa hbactest --user 'DOMAIN\Administrator' --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Відповідні правила: can_login 2. Перевірити, чи відповідає користувач з довіреного домену, вказаний за назвою його домену, якомусь правилу: $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Невідповідні правила: can_login 3. Перевірити, чи відповідає користувач з довіреного домену вказаний за SID, якомусь правилу: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \ --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Відповідні правила: can_login 4. Перевірити, чи відповідає інший користувач з довіреного домену, вказаний за SID, якомусь правилу: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \ --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Відповідні правила: can_login 5. Перевірити, чи відповідає інший користувач з довіреного домену, вказаний за коротким ім’ям, якомусь правилу: $ ipa hbactest --user 'DOMAIN\Otheruser' --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Невідповідні правила: can_login Імітація використання керування доступом на основі вузлів (HBAC) Правила HBAC керують тим, хто може отримувати доступ до певних служб на певних вузлах. Ви можете скористатися HBAC для керування тим, які користувачі або групи на початковому вузлі можуть отримувати доступ до служби або групи служб на вузлі призначення Оскільки застосування правил HBAC передбачає використання робочого середовища, це додаток призначено для імітації обробки правил HBAC без доступу до реального середовища Перевірити відповідність користувача з початкового вузла до служби на іменованому вузлі правилам уможливлення доступу. ipa hbactest --user= --host= --service= [--rules=rules-list] [--nodetail] [--enabled] [--disabled] [--sizelimit= ] --user, --host і --service є обов’язковими, інші можна не вказувати. Якщо вказано --rules, імітувати вмикання вказаних правил і перевірити можливість входу користувача у разі використання лише цих правил. Якщо вказано --enabled, додати всі увімкнені правила HBAC до імітації Якщо вказано --disabled, додати всі вимкнені правила HBAC до імітації Якщо вказано --nodetail, не повертати даних щодо відповідних і невідповідних правил. Якщо вказано одночасно --rules і --enabled, виконати імітацію --rules _і_ всіх увімкнених правил IPA. Якщо не вказано --rules, буде виконано імітацію всіх увімкнених правил IPA. ПРИКЛАДИ: 1. Використання всіх увімкнених правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --srchost=foo --host=bar --service=sshd -------------------- Надано доступ: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule відповідне: allow_all 2. Вимикання докладного резюме застосування правил: $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail -------------------- Надано доступ: Так -------------------- 3. Перевірити явно вказані правила HBAC: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --------------------- Надано доступ: Ні --------------------- невідповідне: my-second-rule невідповідне: myrule 4. Використання всіх увімкнених правил HBAC у базі даних IPA + явно вказаних правил: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --enabled -------------------- Доступ надано: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule відповідне: allow_all 5. Перевірка всіх вимкнених правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled --------------------- Надано доступ: Ні --------------------- невідповідне: new-rule 6. Перевірка всіх вимкнених правил HBAC у базі даних IPA + явно вказані правила: $ ipa hbactest --user=a1a --host=bar --service=sshd --rules=my-second-rule,myrule --disabled --------------------- Надано доступ: Ні --------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule 7. Перевірка всіх (увімкнених і вимкнених) правил HBAC у базі даних IPA: $ ipa hbactest --user=a1a --host=bar --service=sshd --enabled --disabled -------------------- Надано доступ: Так -------------------- невідповідне: my-second-rule невідповідне: my-third-rule невідповідне: myrule невідповідне: new-rule відповідне: allow_all HBACTEST І ДОВІРЕНІ ДОМЕНИ Якщо у IPA налаштовано зовнішній довірений домен, правила HBAC також застосовуються до користувачів, що отримують доступ до ресурсів IPA з з довіреного домену. Після цього користувачі і групи довіреного домену (на їхні SID) може бути прив’язано до зовнішніх груп, які можуть бути учасниками груп POSIX у IPA. Такі прив’язки може бути використано у правилах HBAC, отже уможливлення доступу до ресурсів, захищених системою HBAC. Додаток hbactest здатен тестувати доступ як для локальних користувачів IPA, так і користувачів з довірених доменів, як за повним іменем користувача, так і за SID користувачів. У таких іменах користувачів має бути вказано скорочено довірений домен (ДОМЕН\Administrator) або назву реєстраційного запису користувача (UPN), Administrator@ad.test. Будь ласка, зауважте, що виконувати hbactest з аргументом користувача довіреного домену у параметрі --user можуть виконувати лише учасники групи «trust admins». ПРИКЛАД: 1. Перевірити, чи відповідає користувач з довіреного домену, вказаний за коротким іменем, якомусь правилу: $ ipa hbactest --user 'DOMAIN\Administrator' --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Відповідні правила: can_login 2. Перевірити, чи відповідає користувач з довіреного домену, вказаний за назвою його домену, якомусь правилу: $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Невідповідні правила: can_login 3. Перевірити, чи відповідає користувач з довіреного домену вказаний за SID, якомусь правилу: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \ --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Відповідні правила: can_login 4. Перевірити, чи відповідає інший користувач з довіреного домену, вказаний за SID, якомусь правилу: $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \ --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Відповідні правила: can_login 5. Перевірити, чи відповідає інший користувач з довіреного домену, вказаний за коротким ім’ям, якомусь правилу: $ ipa hbactest --user 'DOMAIN\Otheruser' --host `hostname` --service sshd -------------------- Надано доступ: Так -------------------- Відповідні правила: allow_all Невідповідні правила: can_login Користувачі етапу Керування записами користувачів етапу. Записи користувачів етапу перебувають безпосередньо у контейнері: "cn=stage users, cn=accounts, cn=provisioning, SUFFIX". Користувач не може пройти розпізнавання за допомогою цих записів (навіть якщо записи містять реєстраційні дані) і є кандидатами на перетворення на активні записи. Записи активних користувачів є користувачами Posix, що перебувають безпосередньо у контейнері: "cn=accounts, SUFFIX". Користувач може пройти розпізнавання за допомогою активних записів, якщо для них передбачено реєстраційні дані Вилучені записи користувачів є записами користувачів Posix, що перебувають безпосередньо у контейнері: "cn=deleted users, cn=accounts, cn=provisioning, SUFFIX". Користувачі не можуть проходити розпізнавання за допомогою цих записів (навіть якщо записи містять реєстраційні дані) Контейнер користувачів етапу містить записи - створені командами 'stageuser-add', які є користувачами Posix - створені зовнішньою системою забезпечення Коректний запис користувача етапу МАЄ відповідати таким вимогам: - RDN запису має значення 'uid' - ipaUniqueID має значення 'autogenerate' У IPA передбачено підтримку широкого діапазону форматів імен користувачів, але слід зважати на різноманітні обмеження, які можуть стосуватися середовища, у якому ви працюєте. Наприклад, імена користувачів, що починаються з цифри, або імена користувачів, довжина яких перевищує певну довжину, що може призвести до проблем у деяких системах UNIX. Для зміни формату, який дозволено інструментами IPA, скористайтеся командою 'ipa config-mod'. ПРИКЛАДИ: Додати нового користувача етапу: ipa stageuser-add --first=Tim --last=User --password tuser1 Додати користувача етапу з контейнера Delete ipa stageuser-add --first=Tim --last=User --from-delete tuser1 Користувачі етапу Керування записами користувачів етапу. Записи користувачів етапу перебувають безпосередньо у контейнері: "cn=stage users, cn=accounts, cn=provisioning, SUFFIX". Користувач не може пройти розпізнавання за допомогою цих записів (навіть якщо записи містять реєстраційні дані) і є кандидатами на перетворення на активні записи. Записи активних користувачів є користувачами Posix, що перебувають безпосередньо у контейнері: "cn=accounts, SUFFIX". Користувач може пройти розпізнавання за допомогою активних записів, якщо для них передбачено реєстраційні дані Вилучені записи користувачів є записами користувачів Posix, що перебувають безпосередньо у контейнері: "cn=deleted users, cn=accounts, cn=provisioning, SUFFIX". Користувачі не можуть проходити розпізнавання за допомогою цих записів (навіть якщо записи містять реєстраційні дані) Контейнер користувачів етапу містить записи - створені командами 'stageuser-add', які є користувачами Posix - створені зовнішньою системою забезпечення Коректний запис користувача етапу МАЄ відповідати таким вимогам: - RDN запису має значення 'uid' - ipaUniqueID має значення 'autogenerate' У IPA передбачено підтримку широкого діапазону форматів імен користувачів, але слід зважати на різноманітні обмеження, які можуть стосуватися середовища, у якому ви працюєте. Наприклад, імена користувачів, що починаються з цифри, або імена користувачів, довжина яких перевищує певну довжину, можуть призвести до проблем у деяких системах UNIX. Для зміни формату, який дозволено інструментами IPA, скористайтеся командою 'ipa config-mod'. ПРИКЛАДИ: Додати нового користувача етапу: ipa stageuser-add --first=Tim --last=User --password tuser1 Додати користувача етапу з контейнера вилучених користувачів ipa stageuser-add --first=Tim --last=User --from-delete tuser1 У стандартному сховищі для передавання і зберігання реєстраційних даних використовуються безпечні механізми. Реєстраційні дані може бути отримано лише користувачами, які мають доступ до сховища. Підлеглі служби сертифікації (Sub-CA) можна додавати для обмежених під час видання областю сертифікатів X.509. Sudo (su "do") надає системному адміністратору змогу делегувати повноваження певним користувачам (або групам користувачів) на виконання деяких (або усіх) команд від імені адміністратора (root) або іншого користувача, зберігаючи водночас журнал виконання команд та аргументів. Команди sudo Команди, використані як будівельні блоки для sudo ПРИКЛАДИ: Створення запису команди ipa sudocmd-add --desc='Читання файлів журналу' /usr/bin/less Вилучення команди ipa sudocmd-del /usr/bin/less Команди sudo Команди, використані як будівельні блоки для sudo ПРИКЛАДИ: Створення запису команди ipa sudocmd-add --desc='Читання файлів журналу' /usr/bin/less Вилучення команди ipa sudocmd-del /usr/bin/less Правила sudo Правила sudo Sudo (su "do") надає системному адміністратору змогу делегувати повноваження певним користувачам (або групам користувачів) на виконання деяких (або усіх) команд від імені адміністратора (root) або іншого користувача, зберігаючи водночас журнал виконання команд та аргументів. У FreeIPA передбачено декілька параметрів налаштовування роботи sudo: Users: користувачі або групи, які можуть викликати sudo. Hosts: вузли або групи вузлів, користувачі якого можуть викликати sudo. Allow Command: специфічні команди, які можна виконувати за допомогою sudo. Deny Command: специфічні команди, які не можна виконувати за допомогою sudo. RunAsUser: користувачі або групи, від імені яких sudo виконуватиме команди. RunAsGroup: групи, ідентифікатори яких буде використано sudo для виконання команд. Options: різноманітні параметри sudoers, які можуть змінити поведінку sudo. До правила sudo можна додати порядок, який керуватиме порядком обробки записів (якщо такий порядок передбачено на клієнтському боці). Порядок визначається числовим індексом, який не повинен повторюватися. У FreeIPA передбачено визначений binddn для використання з sudo, який розташовано у uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com Щоб увімкнути binddn, віддайте таку команду для встановлення пароля: LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -ZZ -D "cn=Directory Manager" uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com ПРИКЛАДИ: Створити правило: ipa sudorule-add readfiles Додати об’єкт команди sudo і записати його як дозволену команду до правила: ipa sudocmd-add /usr/bin/less ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less Додати запис вузла до правила: ipa sudorule-add-host readfiles --hosts server.example.com Додати запис користувача до правила: ipa sudorule-add-user readfiles --users jsmith Додати особливе правило sudo для типового налаштовування сервера sudo: ipa sudorule-add defaults Встановити типовий варіант дій для sudo: ipa sudorule-add-option defaults --sudooption '!authenticate' Правила sudo Sudo (su "do") надає системному адміністратору змогу делегувати повноваження певним користувачам (або групам користувачів) на виконання деяких (або усіх) команд від імені адміністратора (root) або іншого користувача, зберігаючи водночас журнал виконання команд та аргументів. У FreeIPA передбачено декілька параметрів налаштовування роботи sudo: Users: користувачі або групи, які можуть викликати sudo. Hosts: вузли або групи вузлів, користувачі якого можуть викликати sudo. Allow Command: специфічні команди, які можна виконувати за допомогою sudo. Deny Command: специфічні команди, які не можна виконувати за допомогою sudo. RunAsUser: користувачі або групи, від імені яких sudo виконуватиме команди. RunAsGroup: групи, ідентифікатори яких буде використано sudo для виконання команд. Options: різноманітні параметри sudoers, які можуть змінити поведінку sudo. До правила sudo можна додати порядок, який керуватиме порядком обробки записів (якщо такий порядок передбачено на клієнтському боці). Порядок визначається числовим індексом, який не повинен повторюватися. У FreeIPA передбачено визначений binddn для використання з sudo, який розташовано у uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com Щоб увімкнути binddn, віддайте таку команду для встановлення пароля: LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -ZZ -D "cn=Directory Manager" uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com Докладніші відомості наведено у документації з FreeIPA щодо sudo. Симетричне сховище є подібним до стандартного сховища, але у ньому реєстраційні дані попередньо шифруються до передавання за допомогою пароля. Реєстраційні дані можна отримати лише за допомогою цього пароля. За допомогою програми automember-rebuild ви можете повторно застосувати правила автоматичної участі до вже створених записів, тобто перебудувати схему участі. Формат дати є таким: РРРР-мм-дд. Служба сертифікації dogtag використовує лише значення CN CSR і примусово встановлює решту параметрів призначення за налаштуваннями сервера. Передбачено підтримку таких причин відкликання: Передбачено декілька можливих призначень: 1. subtree: DN; право доступу застосовується до піддерева DN 2. target filter: фільтр LDAP 3. target: DN з можливими символами-замінниками, що визначає записи, яких стосуються права доступу Існує багато структурованих типів RR DNS, для яких дані DNS, що зберігаються на сервері LDAP, не є скалярним значенням, наприклад дані щодо IP-адресу або назву домену, а структурою даних, яка часто може бути складною. Прикладом може бути запис LOC [RFC1876], який складається з багатьох обов’язкових і необов’язкових частин (градусів, мінут, секунд широти і довготи, висоти та похибки). Цей код є розширенням до додатка otptoken, він надає підтримку безпосереднього читання та запису жетонів YubiKey. Щоб увімкнути binddn, віддайте таку команду для встановлення пароля: LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -ZZ -D "cn=Directory Manager" uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com Щоб перевірити, що жоден сервер не від’єднано у топології вказаного суфікса, скористайтеся такою командою: ipa topologysuffix-verify $suffix Топологія Керування топологією реплікації на домені рівня 1. Топологія Керування топологією реплікації на домені рівня 1. Дані сервера IPA зберігаються на сервері LDAP у двох суфіксах: * суфіксі домену, наприклад «dc=example,dc=com», тут містяться усі пов’язані із доменом дані * суфіксі ca, «o=ipaca», наявні лише на серверах із встановленим CA. Тут містяться дані для компонента сервера сертифікатів. Дані, що зберігаються на серверах IPA, відтворюються на інших серверах IPA. Спосіб відтворення (реплікації) визначається угодами. Угоди реплікації потрібно встановлювати для обох суфіксів окремо. На рівні домену 0 угодами керують програми ipa-replica-manage та ipa-csreplica-manage. На рівні доменів 1 керування виконується централізовано за допомогою команд «ipa topology*». Угоди представляються сегментами топології. Типово, сегмент топології представляється 2 угодами реплікації — по одній для кожного напрямку, наприклад від A до B і від B до A. Створення односпрямованих сегментів заборонене. Щоб перевірити, що жоден сервер не від’єднано у топології вказаного суфікса, скористайтеся такою командою: ipa topologysuffix-verify $suffix Приклади: Знайти усі сервери IPA: ipa server-find Знайти усі суфікси: ipa topologysuffix-find Додати сегмент топології до суфікса «domain»: ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B Додати сегмент топології до суфікса «ca»: ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B Вивести список усіх сегментів топології у суфіксі «domain»: ipa topologysegment-find domain Вивести список усіх сегментів топології у суфіксі «ca»: ipa topologysegment-find ca Вилучити сегмент топології у суфіксі «domain»: ipa topologysegment-del domain segment_name Вилучити сегмент топології у суфіксі «ca»: ipa topologysegment-del ca segment_name Перевірити топологію суфікса «domain»: ipa topologysuffix-verify domain Перевірити топологію суфікса «ca»: ipa topologysuffix-verify ca Топологія Керування топологією реплікації. Потребує мінімального рівня домену 1. ВИКОРИСТАННЯ СТРУКТУРОВАНИХ ПАРАМЕТРІВ ДЛЯ ОКРЕМИХ ТИПІВ Розблокувати обліковий запис користувача Обліковий запис може бути заблоковано, якщо відповідно до правил безпеки користувач перевищить обмеження на кількість введення помилкових паролів протягом певного часу. Запис блокується тимчасово, його може бути розблоковано адміністратором. Сховища користувачів — це сховища, власником яких є конкретний користувач. Приватними є сховища, власником яких є поточний користувач. Власником сховища служби є певна служба. Сховища спільного використання належать адміністратору, але можуть використовуватися іншими користувачами або службами. Користувачі Керування записами користувачів. Всі користувачі є користувачами POSIX. У IPA передбачено підтримку широкого діапазону форматів імен користувачів, але вам слід враховувати всі обмеження, які накладаються вашим робочим середовищем. Наприклад, імена, що починаються з цифри, або занадто довгі імена можуть спричинити проблеми у деяких системах UNIX. Скористайтеся командою «ipa config-mod» для зміни формату імені користувача, яке дозволятиметься інструментами IPA. Вимикання облікового запису користувача лише заборонить отримання користувачами нових реєстраційних даних Kerberos. Всі вже отримані реєстраційні дані не втратять своєї чинності. Керування паролями не є завданням цього модуля. Докладніші дані щодо керування паролями можна отримати у відповідь на команду ipa help passwd Блокування облікового запису виконується окремим основним вузлом IPA. Для визначення основного вузла, на якому було заблоковано запис, можна скористатися командою user-status. Адміністратор має розблоковувати користувача саме на цьому основному вузлі. ПРИКЛАДИ: Додавання нового користувача: ipa user-add --first=Ivan --last=Ivanenko --password tuser1 Пошук всіх користувачів, чиї записи містять рядок «Ivan»: ipa user-find Ivan Пошук всіх користувачів з іменем (не прізвищем) «Ivan»: ipa user-find --first=Ivan Вимикання запису користувача: ipa user-disable tuser1 Вмикання запису користувача: ipa user-enable tuser1 Вилучення запису користувача: ipa user-del tuser1 Сховища Сховища Керування сховищами. Сховище — безпечне місце для зберігання ключів і паролів. За правами власності сховища поділяються на три категорії: * приватні сховища користувачів * сховища служб * сховища спільного використання Сховища користувачів — це сховища, власником яких є конкретний користувач. Приватними є сховища, власником яких є поточний користувач. Власником сховища служби є певна служба. Сховища спільного використання належать адміністратору, але можуть використовуватися іншими користувачами або службами. За механізмами захисту сховища поділяються на три типи: * стандартні сховища * симетричні сховища * асиметричні сховища У стандартному сховищі для передавання і зберігання реєстраційних даних використовуються безпечні механізми. Реєстраційні дані може бути отримано лише користувачами, які мають доступ до сховища. Симетричне сховище є подібним до стандартного сховища, але у ньому реєстраційні дані попередньо шифруються до передавання за допомогою пароля. Реєстраційні дані можна отримати лише за допомогою цього пароля. Асиметричне сховище є подібним до стандартного сховища, але у ньому реєстраційні дані попередньо шифруються до передавання за допомогою відкритого ключа. Реєстраційні дані можна отримати лише за допомогою закритого ключа. Вивести список сховищ: ipa vault-find [--user <користувач>|--service <служба>|--shared] Додати стандартне сховище: ipa vault-add <назва> [--user <користувач>|--service <служба>|--shared] --type standard Додати симетричне сховище: ipa vault-add <назва> [--user <користувач>|--service <служба>|--shared] --type symmetric --password-file пароль.txt Додати асиметричне сховище: ipa vault-add <назва> [--user <користувач>|--service <служба>|--shared] --type asymmetric --public-key-file відкритий_ключ.pem Показати сховище: ipa vault-show <назва> [--user <користувач>|--service <служба>|--shared] Змінити опис сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --desc <опис> Змінити тип сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --type <тип> [старий пароль/закритий ключ] [новий пароль/відкритий ключ] Змінити пароль до симетричного сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --change-password ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --old-password <старий пароль> --new-password <новий пароль> ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --old-password-file <файл старого пароля> --new-password-file <файл нового пароля> Змінити ключ асиметричного сховища: ipa vault-mod <назва> [--user <користувач>|--service <служба>|--shared] --private-key-file <файл старого закритого ключа> --public-key-file <файл нового відкритого ключа> Вилучити сховище: ipa vault-del <назва> [--user <користувач>|--service <служба>|--shared] Вивести налаштування сховищ: ipa vaultconfig-show Архівувати дані до стандартного сховища: ipa vault-archive [--user <користувач>|--service <служба>|--shared] --in <файл вхідних даних> Архівувати дані до симетричного сховища: ipa vault-archive [--user <користувач>|--service <служба>|--shared] --in <файл вхідних даних> --password-file пароль.txt Архівувати дані до асиметричного сховища: ipa vault-archive [--user <користувач>|--service <служба>|--shared] --in <файл вхідних даних> Отримати дані зі стандартного сховища: ipa vault-retrieve <назва> [--user <користувач>|--service <служба>|--shared] --out <файл результатів> Отримати дані з симетричного сховища: ipa vault-retrieve <назва> [--user <користувач>|--service <служба>|--shared] --out <файл результатів> --password-file password.txt Отримати дані з асиметричного сховища: ipa vault-retrieve <назва> [--user <користувач>|--service <служба>|--shared] --out <файл результатів> --private-key-file private.pem Додати записи власників сховища: ipa vault-add-owner <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Вилучити записи учасників сховища: ipa vault-remove-owner <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Додати записи учасників сховища: ipa vault-add-member <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Вилучити записи учасників сховища: ipa vault-remove-member <назва> [--user <користувач>|--service <служба>|--shared] [--users <користувачі>] [--groups <групи>] [--services <служби>] Перевірити топологію реплікації для вказаного суфікса. Перевірки, які виконуються: 1. перевірка того, чи не є топологія від’єднаною. Іншими словами, чи є шляхи реплікації між усіма серверами. 2. перевірка того, чи немає у сервера перевищення рекомендованої кількості узгоджень реплікації. Перевірити топологію реплікації для суфікса. Перевірки, які виконуються: 1. перевірка того, чи є топологія роз’єднаною. Іншими словами, того, чи пов’язано усі сервери шляхами реплікації. 2. перевірка того, чи не перевищено кількість рекомендованих угод з реплікації між серверами. Під час додавання запису можна скористатися специфічними для RR параметрами або стандартним параметром для необробленого значення. Втім, поєднувати ці варіанти у одній дії із додавання не можна. Під час внесення змін до наявного запису можна скористатися для зміни однієї частини запису DNS новими специфічними параметрами RR, причому для визначення зміненого значення буде використано стандартний варіант необробленого значення. У наведеному нижче прикладі продемонстровано зміну пріоритетності запису MX з 0 на 1 у записі без внесення змін до обмінника: ipa dnsrecord-mod --mx-rec="0 mx.example.com." --mx-preference=1 Якщо пошук виконується за датою _від, використовується порівняння >=, а якщо виконується пошук _до дати — порівняння <=. Поєднання обох пошуків призводить до пошуку з логічним поєднанням ТА. Жетони YubiKey Жетони YubiKey Керування жетонами YubiKey. Цей код є розширенням до додатка otptoken, він надає підтримку безпосереднього читання та запису жетонів YubiKey. ПРИКЛАДИ: Додати новий жетон: ipa otptoken-add-yubikey --owner=jdoe --desc="My YubiKey" http://www.ietf.org/rfc/rfc5280.txt * 0 - не визначено * 1 - keyCompromise * 10 - aACompromise * 2 - cACompromise * 3 - affiliationChanged * 4 - superseded * 5 - cessationOfOperation * 6 - certificateHold * 8 - removeFromCRL * 9 - privilegeWithdrawn ipa <команда> --help -8 '${cn}' Крім того, цю команду можуть виконати такі сервери: %(masters)s«%s» не є коректним типом прав доступу«%s» не є об’єктним типомМаємо ${count} сертифікатівДодано ${count} записівВилучено ${count} записівВимкнено ${count} записівУвімкнено ${count} записівВилучено ${count} записівВилучено ${count} параметрівАктивовано ${count} записів користувачівВідновлено ${count} записів користувачівКористувачами етапу зроблено ${count} користувачівПараметри ${primary_key} ${entity}Оновлено ${primary_key} ${entity}${entity} успішно додано${primary_key} застосовується до:${primary_key} міститься у:${primary_key} керується:Учасники ${primary_key}:${primary_key} перевизначає:${product}, версія: ${version}%(attr)s не містить «%(value)s»%(attr)s: некоректний синтаксис.%(attr)s: можна використовувати лише одне значення.%(command_name)s: не знайдено %(oname)sПошуком LDAP у %(container)s не повернуто жодного результату (основа пошуку: %(search_base)s, клас об’єктів: %(objectclass)s)Пропущено %(count)d %(type)s запис. Одночасно можна змінювати лише одне значення на тип запису DNS.Пропущено %(count)d %(type)s записи. Одночасно можна змінювати лише одне значення на тип запису DNS.Пропущено %(count)d %(type)s записів. Одночасно можна змінювати лише одне значення на тип запису DNS.встановлено відповідність %(count)d ACIвстановлено відповідність %(count)d ACIвстановлено відповідність %(count)d ACIвстановлено відповідність %(count)d CA ACLвстановлено відповідність %(count)d CA ACLвстановлено відповідність %(count)d CA ACLвстановлено відповідність %(count)d CAвстановлено відповідність %(count)d CAвстановлено відповідність %(count)d CAВстановлено відповідність %(count)d правила прив’язування сертифікатів до профілівВстановлено відповідність %(count)d правил прив’язування сертифікатів до профілівВстановлено відповідність %(count)d правил прив’язування сертифікатів до профіліввстановлено відповідність %(count)d сервера DNSвстановлено відповідність %(count)d серверів DNSвстановлено відповідність %(count)d серверів DNSвстановлено відповідність %(count)d перевизначення ідентифікаторів групивстановлено відповідність %(count)d перевизначень ідентифікаторів групивстановлено відповідність %(count)d перевизначень ідентифікаторів групивстановлено відповідність %(count)d правила HBACвстановлено відповідність %(count)d правил HBACвстановлено відповідність %(count)d правил HBACвстановлено відповідність %(count)d групи служб HBACвстановлено відповідність %(count)d груп служб HBACвстановлено відповідність %(count)d груп служб HBACвстановлено відповідність %(count)d служби HBACвстановлено відповідність %(count)d служб HBACвстановлено відповідність %(count)d служб HBACвстановлено відповідність %(count)d перегляду ідентифікаторіввстановлено відповідність %(count)d переглядів ідентифікаторіввстановлено відповідність %(count)d переглядів ідентифікаторіввстановлено відповідність %(count)d перевизначення ідентифікаторавстановлено відповідність %(count)d перевизначень ідентифікаторіввстановлено відповідність %(count)d перевизначень ідентифікаторіввстановлено відповідність %(count)d місця IPAвстановлено відповідність %(count)d місць IPAвстановлено відповідність %(count)d місць IPAвстановлено відповідність %(count)d сервера IPAвстановлено відповідність %(count)d серверів IPAвстановлено відповідність %(count)d серверів IPAвстановлено відповідність %(count)d жетона OTPвстановлено відповідність %(count)d жетони OTPвстановлено відповідність %(count)d жетонів OTPВстановлено відповідність %(count)d проксі-сервера RADIUSВстановлено відповідність %(count)d проксі-серверів RADIUSВстановлено відповідність %(count)d проксі-серверів RADIUSвстановлено відповідність %(count)d карти користувачів SELinuxвстановлено відповідність %(count)d карт користувачів SELinuxвстановлено відповідність %(count)d карт користувачів SELinuxвстановлено відповідність %(count)d групи команд sudoвстановлено відповідність %(count)d груп команд sudoвстановлено відповідність %(count)d груп команд sudoвстановлено відповідність %(count)d команд sudoвстановлено відповідність %(count)d команд sudoвстановлено відповідність %(count)d команд sudoвстановлено відповідність %(count)d правила sudoвстановлено відповідність %(count)d правил sudoвстановлено відповідність %(count)d правил sudoвстановлено відповідність %(count)d перевизначення ідентифікатора користувачавстановлено відповідність %(count)d перевизначень ідентифікаторів користувачіввстановлено відповідність %(count)d перевизначень ідентифікаторів користувачіввстановлено відповідність %(count)d ключа автоматичного монтуваннявстановлено відповідність %(count)d ключі автоматичного монтуваннявстановлено відповідність %(count)d ключів автоматичного монтуваннявстановлено відповідність %(count)d місця автоматичного монтуваннявстановлено відповідність %(count)d місця автоматичного монтуваннявстановлено відповідність %(count)d місць автоматичного монтуваннявстановлено відповідність %(count)d карти автоматичного монтуваннявстановлено відповідність %(count)d карти автоматичного монтуваннявстановлено відповідність %(count)d карт автоматичного монтуваннявстановлено відповідність %(count)d сертифікатавстановлено відповідність %(count)d сертифікатіввстановлено відповідність %(count)d сертифікатіввстановлено відповідність %(count)d уповноваженнявстановлено відповідність %(count)d уповноваженнявстановлено відповідність %(count)d уповноваженьвстановлено відповідність %(count)d групивстановлено відповідність %(count)d групвстановлено відповідність %(count)d групвстановлено відповідність %(count)d вузлавстановлено відповідність %(count)d вузліввстановлено відповідність %(count)d вузліввстановлено відповідність %(count)d групи вузліввстановлено відповідність %(count)d груп вузліввстановлено відповідність %(count)d груп вузліввстановлено відповідність %(count)d групивстановлено відповідність %(count)d групвстановлено відповідність %(count)d групвстановлено відповідність %(count)d записувстановлено відповідність %(count)d записіввстановлено відповідність %(count)d записівзавантажено %(count)d додатокзавантажено %(count)d додаткизавантажено %(count)d додатківвстановлено відповідність %(count)d привілеювстановлено відповідність %(count)d привілеїввстановлено відповідність %(count)d привілеїввстановлено відповідність %(count)d профілювстановлено відповідність %(count)d профіліввстановлено відповідність %(count)d профіліввстановлено відповідність %(count)d діапазонувстановлено відповідність %(count)d діапазоніввстановлено відповідність %(count)d діапазоніввстановлено відповідність %(count)d ролівстановлено відповідність %(count)d ролейвстановлено відповідність %(count)d ролейвстановлено відповідність %(count)d правилавстановлено відповідність %(count)d правилвстановлено відповідність %(count)d правилвстановлено відповідність %(count)d сегментавстановлено відповідність %(count)d сегментіввстановлено відповідність %(count)d сегментіввстановлено відповідність %(count)d самообслуговуваннявстановлено відповідність %(count)d самообслуговуваннявстановлено відповідність %(count)d самообслуговуваньвстановлено відповідність %(count)d правила делегування службвстановлено відповідність %(count)d правил делегування службвстановлено відповідність %(count)d правил делегування службвстановлено відповідність %(count)d призначення делегування службвстановлено відповідність %(count)d призначень делегування службвстановлено відповідність %(count)d призначень делегування службвстановлено відповідність %(count)d службивстановлено відповідність %(count)d службвстановлено відповідність %(count)d службвстановлено відповідність %(count)d суфікса топологіївстановлено відповідність %(count)d суфіксів топологіївстановлено відповідність %(count)d суфіксів топологіївстановлено відповідність %(count)d запису довіривстановлено відповідність %(count)d записів довіривстановлено відповідність %(count)d записів довіривстановлено відповідність %(count)d користувачавстановлено відповідність %(count)d користувачіввстановлено відповідність %(count)d користувачів%(count)d зміннихвстановлено відповідність %(count)d сховищавстановлено відповідність %(count)d сховищвстановлено відповідність %(count)d сховищВстановлено відповідність %(count)s сервераВстановлено відповідність %(count)s серверівВстановлено відповідність %(count)s серверіввстановлено відповідність %(count)s ролі серверавстановлено відповідність %(count)s ролей серверавстановлено відповідність %(count)s ролей сервераВстановлено відповідність %(count)s користувачаВстановлено відповідність %(count)s користувачівВстановлено відповідність %(count)s користувачівКлієнт %(cver)s є несумісним з сервером %(sver)s на «%(server)s»%(desc)s: %(info)s%(exception)s%(filename)s: файл не знайденоПомилка %(host)sПомилка %(host)s: %(error)s%(info)s%(key)s неможливо вилучити, оскільки він потрібен для %(dependent)s %(label)s%(key)s не може бути вилучено або вимкнено, оскільки він є останнім у %(container)s %(label)s%(key)s %(label)s не можна вилучати або змінювати: %(reason)s%(line)s%(metaobject)s: не знайдено %(oname)sСертифікат %(name)s не є чиннимТиповий атрибут %(obj)s, %(attr)s, не буде дозволено!%(oname)s з назвою «%(pkey)s» вже існуєПідтримки %(operation)s для реєстраційних записів %(principal_type)s не передбачено%(otype)s «%(oname)s» не знайдено%(parent)s: не знайдено %(oname)s%(pkey)s: не знайдено %(oname)s%(port)s не є чинним портом%(reason)sПеревищення часу очікування на завершення завдання LDAP %(task)s, DN завдання: «%(task_dn)s»Значенням категорії %(type)s не можна встановлювати «all», якщо існують дозволені %(objects)s%(user)s не є користувачем з групи POSIX%(value)sДодано %i CA.Вилучено %i.Додано %i CA.Вилучено %i CA.Додано %i вузол або групу вузлів.Вилучено %i вузол або групу вузлів.Додано %i вузлів або груп вузлів.Вилучено %i вузлів або груп вузлів.Додано %i профіль.Вилучено %i профіль.Додано %i профілів.Вилучено %i профілів.Додано %i службу.Вилучено %i службу.Додано %i служб.Вилучено %i служб.Додано %i користувача або групу.Вилучено %i користувача або групу.Додано %i користувачів або груп.Вилучено %i користувачів або груп.%sЗапис %s%s не є коректним атрибутом.Запис %s%s для додавання%s, які слід виключити з перенесення%s для вилучення%s: проксі-сервер RADIUS не знайдено%s: групи не знайдено%s: запис користувача вже захищено«${port}» не є коректним визначенням порту«%(attr)s» вже містить одне або декілька значень«%(command)s» вважається застарілою. %(additional_info)s«%(entry)s» не містить сертифіката.Слід вказати «%(name)s»Параметр «%(option)s» є застарілим. %(additional_info)s«%(required)s» має бути порожнім, якщо вказано «%(name)s»«%s» є обов’язковою частиною запису DNSпараметр «add»(застаріле)(докладніше про це у RFC %s). Перевірте ідентифікатор вже створеної групи. Скористайтеся параметром --group-overwrite-gid для перезапису ідентифікатора групи7 не є коректною причиною відкликання<усі сервери DNS IPA> Одноразовий пароль (OTP): створити новий код OTP для кожного з полів OTP.Щоб увійти за допомогою Kerberos, будь ласка, переконайтеся, що маєте чинні квитки (ці квитки можна отримати за допомогою kinit) і що програму для перегляду сторінок інтернету налаштовано належним чином, а потім натисніть кнопку «Увійти». Щоб увійти за допомогою імені користувача і пароля, вкажіть ці дані у відповідних полях, потім натисніть кнопку «Увійти».
  1. Створити базу даних сертифікатів або скористатися вже створеною. Щоб створити нову базу даних, віддайте команду:
    # certutil -N -d <шлях до бази даних>
  2. Створити CSR з призначенням CN=<${cn_name}>,O=<область>, наприклад:
    # certutil -R -d <шлях до бази даних> -a -g <розмір ключа> -s 'CN=${cn},O=${realm}'${san}
  3. Скопіюйте і вставте CSR (від -----BEGIN NEW CERTIFICATE REQUEST----- до -----END NEW CERTIFICATE REQUEST-----) до області для введення тексту, розташованої нижче:

Якщо метод не вибрано, буде використано неявний метод (пароль).

Пароль + двофакторне розпізнавання: у LDAP і Kerberos передбачено розпізнавання за одним із цих типів розпізнавання, а у Kerberos використовується метод попереднього розпізнавання, який потребує використання ccache armor.

RADIUS із іншим типом: у Kerberos завжди використовується RADIUS, а у LDAP він не використовується ніколи. LDAP розпізнає лише варіанти розпізнавання за паролем або двофакторне розпізнавання.

Параметр для окремих користувачів, перевизначає загальне значення, якщо буде вибрано один з варіантів.

Пароль + двофакторне розпізнавання: у LDAP і Kerberos передбачено розпізнавання за одним із цих типів розпізнавання, а у Kerberos використовується метод попереднього розпізнавання, який потребує використання ccache armor.

RADIUS із іншим типом: у Kerberos завжди використовується RADIUS, а у LDAP він не використовується ніколи. LDAP розпізнає лише варіанти розпізнавання за паролем або двофакторне розпізнавання.

Створити зворотний AIP-адреса AПрава доступу SYSTEM не можна змінювати чи вилучатиВідокремлений комами список полів, за якими виконуватиметься пошук групВідокремлений комами список полів, за якими виконуватиметься пошук користувачівОпис цього проксі-сервера RADIUSОпис цього правила автоматичної участіОпис цієї командиОпис цього вузлаОпис цієї групи вузлівОпис цієї групи ролейСловник, що відповідає запису LDAPГрупа не може бути елементом самої себеГрупу не може бути додано як елемент самої себеВузол, який може працювати як обмінник ключівВузол, який може працювати як обмінник поштовими данимиНазва вузла на яку вказує цей псевдонім вузлаСписок значень ACIСписок записів LDAPМало бути вказано список користувачів SELinux, записи якого відокремлено символом $Список загальних переспрямовувачів. Для кожного переспрямовувача можна вказати нетиповий порт за допомогою стандартного формату «IP_АДРЕСА port ПОРТ»Список переспрямовувачів для окремих зон. Для кожного переспрямовувача можна вказати нетиповий порт за допомогою стандартного формату: «IP_АДРЕСА port ПОРТ»У керованої групи не може бути власних правил для паролів.Під час перевірки виявлено проблему, всі записи учасників %(verb)s: %(exc)sзапис AРозділений пробілами список атрибутів, які слід вилучати під час оновлено реплікації.Рядок, пошук якого відбуватиметься у всіх відповідних атрибутах об’єктівДані запису A6Запис A6Компрометація AAСтворити зворотний запис AAAAIP-адреса AAAAзапис AAAAACIНазва ACIACI права доступу %s не знайденопрефікс ACIСлід вказати префікс ACIНе знайдено ACI з назвою «%s»ACIНазва ACLAD DC не вдалося отримати доступ до жодного з контролерів домену IPA. Найімовірніше, цю помилку пов’язано із проблемами з DNS або брандмауеромНалаштування довіри ADКонтролер домену ADДомен AD скаржиться на послідовність команд встановлення зв’язку. Це, наприклад, може означати розсинхронізацію часу між комп’ютерами, які обмінюються даними.Назва вузла AFSDBПідтип AFSDBЗапис AFSDBНавігатор APIНе було надіслано номера версії програмного інтерфейсу (API), сумісність з найновішими версіями не можна гарантувати. Припускаємо таку версію API сервера: %(server_version)sзапис APLПро програмуДоступ забороненоНадано доступНадано доступ: %sДоступ до цього вузлаЧас доступуДоступОбліковий записПараметри облікового записуСтан облікового записуОбліковий запис вимкненоОбліковий запис вимкнено: %(disabled)sДіїЗадіятиАктивувати користувача етапу «%(value)s»Активувати користувача етапу.Домен Active DirectoryАдміністратор домену Active DirectoryПароль адміністратора домену Active DirectoryДіапазон доменів Active DirectoryДомен Active Directory з атрибутами POSIXДіапазон довіри Active Directory з атрибутами POSIXwinsync Active DirectoryПароль адміністратора домену Active directoryАктивні користувачіАктивна зонаДодатиДодати ${entity}Додати ${entity} ${primary_key} до ${other_entity}Додати ${other_entity}, керування ${entity} ${primary_key}Додати ${other_entity} до ${entity} ${primary_key}Додано дозвіл ${other_entity} до ${entity} ${primary_key}Додати CA до ACL CA.Додати дані прив’язки до сертифікатаДодати умову до ${pkey}Додати нетиповий атрибутДодати нетиповий індикатор розпізнаванняДодано заборону ${other_entity} до ${entity} ${primary_key}Додати псевдонім реєстраційного запису KerberosДодати багатоДодати жетон OTPДодати права доступуДодати правилоДодати ${other_entity} запуск від імені до ${entity} ${primary_key}Додати групи запуску від імені до ${entity} ${primary_key}Додати керування до запису користувача етапуДодати керування до запису користувачаДодати новий запис сервера DNS.Додати нове перевизначення ідентифікаторів групи.Додати нову групу служб HBAC.Додати нову службу HBAC.Додати новий перегляд ідентифікаторів.Додати нове перевизначення ідентифікаторів.Додати новий запис місця IPA.Додати нову службу IPA.Додати нову службу IPA.Додати новий жетон OTP.Додати новий проксі-сервер RADIUS.Додати нове перевизначення ідентифікатора користувача.Додати новий жетон OTP YubiKey.Додати нове уповноваження.Додати нову групу правил для паролів.Додати новий запис вузла.Додати нову групу вузлів.Додати нову мережеву групу.Додати нові права доступу.Додати новий привілей.Додати нову роль.Додати новий сегмент.Додати нові права доступу автослужби.Додати нового користувача етапу.Додати новий суфікс топології для керування.Додати нового користувача.Додати право доступу до делегування доступу на основі окремих зон переспрямовування.Додати права доступу до надання доступу до окремих зон.Додати права доступу до системи без ACIДодати системні права доступу без ACI (внутрішня команда)Додати пару атрибут/значення. Формат: атрибут=значення. Атрибут має бути частиною схеми.Додати правило автоматичної участі.Додати пункт до правила sudo.Додати і додати щеДодати і закритиДодати і змінитиДодати сертифікати до запису вузлаДодати команди і групи команд sudo, яких стосується правило sudo.Додати умови до правила автоматичної участі.Додати нетипове значенняДодати доменДодати запис переспрямування для сервера назв, розташованого у створеній зоніДодати групу виконання до запису sudo.Додати вузли та групи вузлів, яких стосується правило sudo.Додати записи вузлів, які можуть керувати цим вузлом.Додати вузли, які можуть керувати цією службою.Додати запис учасника до іменованого правила делегування служб.Додати запис учасника до іменованого призначення делегування служб.Додати учасників до групи команд sudo.Додати учасників до групи.Додати записи до групи вузлів.Додати учасників до мережевої групи.Додати учасників до запису прав доступу.Додати учасників до запису привілею.Додати учасників до запису ролі.Додати записи учасників сховища.Додати учасників до групи служб HBAC.Додавати перенесені записи користувачів без групи до типової групи (типове значення: true)Додати новий запис ресурсу DNS.Додати нові сертифікати до запису службиДодати нову альтернативну назву реєстраційного запису до службиДодати новий псевдонім реєстраційного запису до запису вузлаДодати новий псевдонім реєстраційного запису до запису користувача етапуДодати новий псевдонім реєстраційного запису до запису користувачаДодати одну або декілька прив’язок сертифікатів до запису користувача етапу.Додати одну або декілька прив’язок сертифікатів до запису користувача.Додати один або декілька сертифікатів запису idoverrideuserДодати один або декілька сертифікатів запису користувача етапуДодати один або декілька сертифікатів до запису користувачаДодати записи власників до контейнера сховища.Додати записи власників до сховища.Додати права доступу до привілею.Додати реєстраційний записДодати привілеї до запису ролі.Додати профілі до CA ACL.Додати служби до CA ACL.Додати служби до правила HBAC.Додати вузли джерела та групи вузлів з правила HBAC.Додати вузли і групи вузлів призначення до CA ACL.Додати вузли призначення та групи вузлів до правила HBAC.Додати вузли призначення та групи вузлів до правила карти користувачів SELinux.Додати ціль до іменованого правила делегування служб.Додати ціль до делегування іменованої служби.Додати запис вузла до DNS з цією IP-адресоюДодати до типової групиДодати записи користувачів та груп, яких стосується правило sudo.Додати користувачів та групи для виконання команд sudo від їхнього імені.Додати користувачів і групи до CA ACL.Додати користувачів та групи до правила HBAC.Додати користувачів і групи до правила карти користувачів SELinux.Додати записи користувачів, які можуть керувати цим жетоном.Додано %(map)sДодано %(src)s до %(dst)sДодано запис довіри Active Directory для області «%(value)s»Додано CA ACL «%(value)s»Додано правило прив’язування сертифікатів до профілів «%(value)s»Додано перевизначення ідентифікаторів групи «%(value)s»Додано правило HBAC «%(value)s»Додано службу HBAC «%(value)s»Додано групу служб HBAC «%(value)s»Додано перегляд ідентифікаторів «%(value)s»Додано перевизначення ідентифікаторів «%(value)s»Додано діапазон ідентифікаторів «%(value)s»Додано запис місця IPA «%(value)s»Додано жетон OTP «%(value)s»Додано проксі-сервер RADIUS «%(value)s»Додано карту користувачів SELinux «%(value)s»Додано команду sudo «%(value)s»Додано групу команд sudo «%(value)s»Додано правило sudo «%(value)s»Додано перевизначення ідентифікатора користувача «%(value)s»Додано правило автоматичної участі «%(value)s»Додано опосередковану карту автоматичного монтування «%(value)s»Додано ключ автоматичного монтування «%(value)s»Додано місце автоматичного монтування «%(value)s»Додано карту автоматичного монтування «%(value)s»Додано прив’язки сертифікатів до запису користувача «%(value)s»Додано сертифікати до запису вузла «%(value)s»Додано сертифікати до запису idoverrideuser «%(value)s»Додано сертифікати до реєстраційного запис служби «%(value)s»Додано сертифікати до запису користувача етапу «%(value)s»Додано сертифікати до запису користувача «%(value)s»Додано умови до «%(value)s»Додано уповноваження «%(value)s»Додано групу «%(value)s»Додано вузол «%(value)s»Додано групу вузлів «%(value)s»Додано групу мережеву групу «%(value)s»Додано новий запис сервера DNS «%(value)s»Додано нові псевдоніми до запису вузла «%(value)s»Додано нові псевдоніми до запису користувача етапу «%(value)s»Додано нові псевдоніми реєстраційного запису служби «%(value)s»Додано нові псевдоніми до запису користувача «%(value)s»До правила sudo «%(rule)s» додано параметр «%(option)s»Додано права доступу «%(value)s»Додано привілей «%(value)s»Додано роль «%(value)s»Додано сегмент «%(value)s»Додано самообслуговування «%(value)s»Додано службу «%(value)s»Додано правило делегування служб «%(value)s»Додано ціль делегування служб «%(value)s»Додано користувача етапу «%(value)s»Додано системні права доступу «%(value)s»Додано суфікс топології «%(value)s»Додано користувача «%(value)s»Додано сховище «%(value)s»Додаткові настанови:Адреса є некоректною. Переспрямування неможливе.Адміністративний обліковий записАдреса електронної пошти адміністратораПовідомлено серверамиЗмінено місце роботиУгоди вилученоАлгоритмВсіУсі атрибути, яких стосуються ці права доступуВиконання всіх команд має призводити до якогось результатуУсі фільтри призначення, зокрема ті, які визначаються типом та членствомДозволитиДозволити ${other_entity} створювати таблицю ключів ${primary_key}Дозволити ${other_entity} отримувати таблицю ключів ${primary_key}Дозволити PTR-синхронізаціюДозволити доступ з довіреного доменуДозволити додавання зовнішніх учасників поза IPA з довірених доменівДозволити динамічні оновлення.Дозволити повернення до резервного варіанта LDAP DC AD під час визначення адрес довірених об’єктів AD. Лише для двобічних відносин довіри.Дозволити вбудоване підписування DNSSECДозволити вбудоване підписування DNSSEC записів у зоніДозволити запитДозволити синхронізацію прямих (A, AAAA) і зворотних (PTR) записівДозволити у зоні синхронізацію прямих (A, AAAA) і зворотних (PTR) записівДозволити перенесенняДозволити використання ресурсів IPA доменом правила довіриДозволити користувачам, групам, вузлам і групам вузлів створювати таблицю ключів цього вузла.Дозволити користувачам, групам, вузлам і групам вузлів створювати таблицю ключів цієї служби.Дозволити користувачам, групам, вузлам і групам вузлів отримувати таблицю ключів цього вузла.Дозволити користувачам, групам, вузлам і групам вузлів отримувати таблицю ключів цієї служби.Дозволена цільДозволено виконувати імперсонаціюДозволено створювати таблицю ключівДозволено отримувати таблицю ключівУможливлює перенесення, незважаючи на використання додатка compatВже зареєстрованоАльтернативні суфікси UPNВисотаЗавжди питатиНеоднозначні параметри пошуку: не вказано домену користувачаОсновний вузол IPA не можна вилучати або вимикатиСталася помилка (${error})Під час спроби отримання даних щодо зон DNS сталася помилка.Для цього зв’язку довіри вже існує діапазон ідентифікаторів. Вам слід або вилучити попередній діапазон, або виключити з команди параметри --base-id/--range-size.Інтервал між регулярними опитуваннями сервера назв щодо нових зон DNSНе вдалося визначити прив’язку «%(anchor)s».Прив’язка для перевизначенняБудь-який CAБудь-яка командаБудь-яка групаБудь-який вузолБудь-який профільБудь-яка службаБудь-хтоЗастосовується до вузлівЗастосовує перегляд ідентифікаторів до вказаних вузлів або поточних учасників вказаних груп вузлів. Якщо до вузла застосовується якийсь інший перегляд ідентифікаторів, його буде перевизначено.Застосовує перегляд ідентифікаторів до вказаних вузлів або поточних учасників вказаних груп вузлів. Якщо до вузла застосовується якийсь інший перегляд ідентифікаторів, його буде перевизначено.ЗастосуватиЗастосувати ACI до вашого власного запису (self)Застосувати ${primary_key} перегляду ідентифікаторів до вузлів ${entity}Застосувати ${primary_key} перегляду ідентифікаторів до ${entity}Застосувати до груп вузлівЗастосувати до вузлівДовільний рядок для ідентифікації сегментаАрхівувати дані до сховища.Дані архівовано до сховища «%(value)s»Ви справді бажаєте виконати щодо користувача дію «${action}»?
Зміни буде внесено негайно.Ви справді хочете активувати ${object}?Ви справді хочете активувати позначені записи користувачів?Ви справді хочете додати права доступу для зони DNS ${object}?Ви справді хочете вилучити ${object}?Ви справді бажаєте вилучити позначені записи?Ви справді хочете вимкнути ${object}?Ви справді хочете вимкнути позначені записи?Ви справді хочете увімкнути ${object}?Ви справді бажаєте увімкнути позначені записи?Ви справді хочете виконати цю дію?Ви справді хочете перебудувати записи автоматичної участі?Ви справді хочете вилучити права доступу для зони DNS ${object}?Ви справді хочете відновити ${object}?Ви справді хочете відновити позначені записи користувачів?Ви справді хочете виставити ${object}?Ви справді хочете зробити користувачами етапу позначених користувачів?Ви справді хочете скасувати застосування перегляду ідентифікаторів до позначених записів?Ви справді хочете розблокувати користувача ${object}?Ви справді бажаєте скасувати передбачення цього вузла?Ви справді бажаєте скасувати передбачення цієї служби?Аргументи до функції detailsВід іменіЗапитати невипадковий пароль, який слід використати для реєстраційного записуПерегляд призначених ідентифікаторівПризначений керівник ключа (типове значення: self)Призначений користувач ключа (типове значення: self)АсиметричнийСлід вказати принаймні домен або IP-адресуАтрибутКлюч атрибутаРозбиття за атрибутамиАтрибут для фільтрування за формальним виразом. Приклад: fqdn для вузла або manager для користувачаАтрибутиАтрибути для загального оновленняАтрибути, для яких не відбуватиметься реплікація до сервера споживання під час часткового оновлення. Наприклад, `(objectclass=*) $ EXCLUDE accountlockout memberofАтрибути, для яких не відбуватиметься реплікація до сервера споживання під час загального оновлення. Наприклад, (objectclass=*) $ EXCLUDE accountlockoutАтрибути, які буде проігноровано для записів груп у DSАтрибути, які буде проігноровано для записів користувачів у DSАтрибути для реплікаціїАтрибути, які слід прибратиАтрибути, до яких застосовується уповноваженняАтрибути, до яких застосовується правило доступуАтрибути, до яких типово застосовується правило доступуАтрибути, до яких застосовується правило доступу.АудитРозпізнаванняІндикатори розпізнаванняІндикатор розпізнаванняІндикатори розпізнаванняОсновний сервер назвЗміна основного сервера назвНазва домену основного сервера назвІд. центруПравило автоматичної участіАвтоматичну участь не налаштованоПравило автоматичної участі: %s не знайдено!Створено автоматичноСпроба автоматичного оновлення записів системи DNS зазнала невдачі. Будь ласка, повторно запустіть оновлення записів системи вручну, щоб отримати список пропущених записів.Автоматична участьПравило автоматичної участіЗавдання з перезбирання правил автоматичної участі виконаноВиконується завдання з перебудови записів автоматичної участіАвтоматичне монтуванняКлюч автомонтуванняКлючі автомонтуванняЗапис автомонтуванняПараметри запису автомонтуванняЗаписи автомонтуванняКарта автомонтуванняКарти автоматичного монтуванняНазва ключа автоматичного монтування.Об’єкт ключа автоматичного монтування.Адреса автомонтування.Назва карти автоматичного монтування.Основний файл automount.ДоступнийПравила оновлення BINDНазадПовернутися до початкуПомилковий формат кешу реєстраційних данихПомилковий або непідтримуваний тип солі (salt). Помилковий фільтр пошукуПомилковий фільтр пошуку %(info)sКореневий DNОсновний DN на віддаленому сервері LDAPОснова IDОснова для створення записів об’єктів сертифікації (OU=Test,O=Example)Сертифікат у кодуванні Base-64.Сертифікат вузла у кодуванні Base-64Сертифікат сервера у кодуванні Base-64Сертифікат служби у кодуванні Base-64Сертифікат користувача у кодуванні Base-64Помилка декодування Base64: %(reason)sДвійкові дані для архівуванняDN для прив'язкиНевдала спроба прив’язки: %s У разі використання прив’язки DN слід вказати пароль прив’язки. Тип правила прив’язуванняКороткий опис профілюCAСлужбу сертифікації «%s» вимкненоCA ACLCA ACLКомпрометація CAКатегорія CAне можна встановлювати для категорії CA значення «all», доки є записи дозволених CAКатегорія CA, до якої застосовується ACLСертифікат CACA не налаштованоCAНе можна додавати CA, якщо категорія CA='all'Алгоритм CERTТип сертифіката CERTСертифікат або CRL CERTМітка ключа CERTзапис CERTОб’єкт реєстраційних даних CIFSВаші реєстраційні дані відхилено сервером CIFS %(host)sПомилка обміну даними з сервером CIFS: код «%(num)s», повідомлення «%(message)s» (обидва значення можуть бути «None»)Ваші реєстраційні дані відхилено сервером CIFSМетазмінна CLIНазва CLIНазва вузла CNAMEзапис CNAMEЗаписом CNAME не можна користуватися разом з будь-якими іншими записами, окрім PTR (RFC 1034, розділ 3.6.2)CSRПрофіль створення CSR, яким слід скористатисяСкасуватиНе вдалося створити зворотний запис для «%(value)s»: %(exc)sНе вдалося розшифрувати файл «%(filename)s»: %(exc)sНе вдалося встановити LSA-з’єднання з %(host)s. Чи запущено сервер CIFS?Не можна встановлювати довіру до AD, розгорнутою у тому самому домені, що і IPA. Підтримки такої можливості не передбачено.Не вдалося знайти домену або сервера з вказаною назвоюВиконати дію з перевірки SID без встановленої підтримки Samba 4 неможливо. Переконайтеся, що вами встановлено на сервері підпакунок IPA server-trust-ad.Виконати дію з перевірки зовнішніх учасників без встановленої підтримки Samba 4 неможливо. Переконайтеся, що вами встановлено на сервері підпакунок IPA server-trust-ad.Без налаштовування власного домену не можна виконувати дію з приєднання. Спочатку запустіть ipa-adtrust-install на сервері IPA.Вибрану команду не можна виконати без екземпляра Samba 4, встановленого у цій системі. Переконайтеся, що на цьому сервері було виконано ipa-adtrust-install.Виконати вибрану команду без встановленої підтримки Samba 4 неможливо. Переконайтеся, що вами встановлено підпакунок IPA server-trust-ad.Не вдалося опитати засіб керування каталогом за допомогою програмного інтерфейсуНе вдалося прочитати файл «%(filename)s»: %(exc)sНе вдалося визначити KDC для бажаної області (realm)Не вдалося отримати список GC довіреного доменуБез налаштовування власного домену не можна виконувати пошук у довірених доменах. Спочатку запустіть ipa-adtrust-install на сервері IPA.Не можна одночасно вказувати механізм SASL і DN прив’язки. Не можна одночасно вказувати сервер і адресу LDAP. Не вдалося зберегти ACI прав доступу до %sНе можна одночасно використовувати %(old_name)s і %(new_name)sВодійська ліцензіяСертифікатДані прив’язки сертифікатівЦентри сертифікаціїЦентр сертифікаціїДані сертифікатаСертифікат для відповідностіВласник сертифікатаЗатримання сертифіката вилученоЗагальні налаштування прив’язки сертифікатів до профілівПравило прив’язування сертифікатів до профілівОпис правила прив’язування сертифікатів до профілівНазва правила прив’язування сертифікатів до профілівПравила прив’язування сертифікатів до профілівПараметри налаштування прив’язки сертифікатів до профілівВідповідність за прив’язкою до сертифікатаПрофіль сертифікатівПрофіль сертифіката, яким слід скористатисяПрофілі сертифікатівПрофілі сертифікатів для додаванняПрофілі сертифікатів для вилученняСертифікат відкликаноБазовий об’єкт сертифікаціїТип сертифікатаВикористання сертифікатаЛанцюжок сертифікаціїСертифікат для ${primary_key} ${entity}Помилка форматування сертифіката: %(error)sСертифікат у форматі base64 або PEMДані прив’язки сертифікатаНе вдалося завершити дію з сертифікатом: %(error)sПрофілі сертифікатів не можна перейменовуватиНадіслано запит щодо сертифікаціїБазовий об’єкт сертифікації: %s Не знайдено сертифікат із серійним номером %(serial)s, виданий CA «%(ca)s»Сертифікати, що зберігаються у файлі «%(file)s»Сертифікат/CRLСертифікатиСтруктура CertificationRequestInfoСкасування діїЗмінити поточний рівень домену.Змінити парольЗмінити на групу POSIXЗмінити на зовнішню групуЗмінити пароль «%(value)s»Класи символівПеревірка DNSПеревірити з’єднання із віддаленим сервером IPA.Перевірити стан запиту щодо підписування сертифіката.Перевірка, чи існує запис.Перевіряє, чи увімкнено на якомусь із серверів службу CA.Перевіряє, чи увімкнено на якомусь із серверів службу DNS.МістоКласСпорожнитиСпорожнити усі поля на сторінці.Знімає перегляд ідентифікаторів із вказаних вузлів або поточних учасників вказаних груп вузлів.Натисніть, щоб ${action}Реєстраційні дані клієнта може бути передано службіКлієнтську частину не налаштовано. Віддайте команду ipa-client-install.Версія клієнта. Використовується для визначення, якщо сервер приймає запит.Інтервал годинникаЗсув годинникаЗакритиСпроба закриття таблиці ключів зазнала невдачі Згорнути всіСписок типів шифрування, відокремлених комамиСписок атрибутів, відокремлених комамиСписок атрибутів, які буде проігноровано для записів груп у DS, відокремлених комамиСписок атрибутів, які буде проігноровано для записів користувачів у DS, відокремлених комамиСписок класів об’єктів, які буде проігноровано для записів груп у DS, відокремлених комамиСписок класів об’єктів, які буде проігноровано для записів користувачів у DS, відокремлених комамиСписок класів об’єктів, використаних для пошуку записів груп у DS, відокремлених комамиСписок класів об’єктів, використаних для пошуку записів користувачів у DS, відокремлених комамиПрава доступу, які слід надати, відокремлених комами (read, write). Типовим варіантом є «write» (запис).Права доступу, які слід надати, відокремлених комами (read, write, add, delete, all)Список простих записів A, відокремлених комамиСписок простих записів A6, відокремлених комамиСписок простих записів AAAA, відокремлених комамиСписок простих записів AFSDB, відокремлених комамиСписок простих записів APL, відокремлених комамиСписок простих записів CERT, відокремлених комамиСписок простих записів CNAME, відокремлених комамиСписок простих записів DHCID, відокремлених комамиСписок простих записів DLV, відокремлених комамиСписок простих записів DNAME, відокремлених комамиСписок простих записів DNSKEY, відокремлених комамиСписок простих записів DS, відокремлених комамиСписок простих записів HIP, відокремлених комамиСписок простих записів IPSECKEY, відокремлених комамиСписок простих записів KEY, відокремлених комамиСписок простих записів KX, відокремлених комамиСписок простих записів LOC, відокремлених комамиСписок простих записів MX, відокремлених комамиСписок простих записів NAPTR, відокремлених комамиСписок простих записів NS, відокремлених комамиСписок простих записів NSEC, відокремлених комамиСписок простих записів NSEC3, відокремлених комамиСписок простих записів NSEC3PARAM, відокремлених комамиСписок простих записів PTR, відокремлених комамиСписок простих записів RP, відокремлених комамиСписок простих записів RRSIG, відокремлених комамиСписок простих записів SIG, відокремлених комамиСписок простих записів SPF, відокремлених комамиСписок простих записів SRV, відокремлених комамиСписок простих записів SSHFP, відокремлених комамиСписок простих записів TA, відокремлених комамиСписок простих записів TKEY, відокремлених комамиСписок простих записів TSIG, відокремлених комамиСписок простих записів TXT, відокремлених комамиКоманда «%(name)s» вважається застарілоюКатегорія командКатегорія команд, до якої застосовується правилоНазва командиКоманду не реалізованоКомандиЗвичайне ім'яУмови, які не вдалося додатиУмови, які не вдалося вилучитиНалаштуванняРядок налаштуванняНалаштувати ваш жетонНалаштуйте ваш жетон скануванням QR-коду, наведеного нижче. Натисніть поле QR-коду, якщо ви бачите правильні дані на пристрої, який ви хочете налаштувати.Перевищено налаштоване обмеження адміністративного сервераПеревищено налаштоване обмеження за розміромПеревищено налаштоване обмеження за часомПідтвердження (пароль)ПідтвердженняМожливість з’єднанняКількість помилок для блокуванняВикористати іменування.Параметри контактуВстановити зв’язок з вказаним сервером KDCВміст сховищ типу «стандартне» можуть переглядати користувачі із вищим рівнем прав доступу (адміністратори).ПродовжитиРежим неперервної роботи: не зупинятися у разі помилок.Режим неперервної обробки. Програма повідомляє про помилки, але продовжує обробку.Режим неперервної обробки. Програма повідомляє про помилки, але продовжує обробку.Перетворити на серверіНе вдалося отримати %(name)s у інтерактивному режиміНе вдалося прочитати фільтр походження (originfilter) UPG Definition. Переконайтеся, що у вас є відповідні права доступу.ЛічильникНа основі лічильника (HOTP)Створити запис користувача етапу на основі вилученого запису користувачаСтворити запис CA.Створити запис CA ACL.Створити правило прив’язування сертифіката до профілів.Створити правило HBAC.Створити карту користувачів SELinux.Створити ключ автоматичного монтування.Створити новий запис автоматичного монтування.Створити карту автомонтування.Створити нову групу.Створити опосередковану точку монтування.Створити правило делегування служб.Створити ціль делегування служб.Створити сховище.Створити як групу, що не відповідає POSIXСтворити запис DNSСтворити запис ACI.Створити зону переспрямовування DNS.Створити зону DNS (запис SOA).Створити групу команд sudo.Створити запис команди sudo.Створити правило sudo.Створити зворотний записСтворити зворотний запис для цієї IP-адресиСтворено ACI «%(value)s»Створено запис CA «%(value)s»Створення запису.Реєстраційні даніПомилкові права доступу до кешу реєстраційних данихЗв’язки довіри між областями не налаштовано. Спочатку запустіть ipa-adtrust-install на сервері IPA.Поточний вміст запису DNS: Поточний парольПоточний рівень домену:Слід вказати поточний парольНетипове значенняНалаштуванняСтруктура SubjectPublicKeyInfo у кодуванні DERзапис DHCIDАлгоритм DLVКонтрольна сума DLVТип контрольної суми DLVМітка ключа DLVЗапис DLVУ commonName DN не збігається із ім’ям користувачаemailAddress DN не збігається із жодною адресою електронної пошти користувачаDN контейнера груп у DS відносно до основного DNDN контейнера користувачів у DS відносно до основного DNDN запущеного завданняDN, до якого слід виконати прив’язку, якщо не використовується kerberosЦіль DNAMEЗапис DNAMEDNSЗона переспрямовування DNSЗони переспрямовування DNSЗагальні налаштування DNSТип RR DNS «%s» не підтримується додатком bind-dyndb-ldapЗапис ресурсу DNSЗаписи ресурсів DNSСервер DNSНазва сервера DNSСервери DNSЗона DNSПараметри зони DNSЗони DNSПеревірка DNS зазнала невдачі: мало бути {%(expected)s}, отримано {%(got)s}Клас DNSПараметри налаштування DNSЗона переспрямовування DNSЗони переспрямовування DNSПереспрямовувач DNSЗ виходом версії IPA 4.0 змінилася семантика засобу переспрямовування DNS. Вам варто перейти на використання зон переспрямовування (dnsforwardzone-*). Докладніше про це у документації.DNS не налаштованоДовжина мітки DNS не повинна перевищувати 63 символівДовжина мітки DNS не повинна перевищувати 63 символиЗапис DNS було вилучено, оскільки у ньому не містилося жодних даних.Записи DNS вузла %(host)s не вдалося вилучити. (%(reason)s)Записи DNS можна оновлювати лише поодинціЗапис ресурсу DNSТип запису ресурсу DNSЗаписи ресурсів DNSЗворотна зона DNS %(revzone)s для IP-адреси %(addr)s не керується цим серверомСервер DNSНа сервері DNS %(server)s не передбачено підтримки DNSSEC: %(error)s. Якщо на серверах IPA увімкнено перевірку DNSSEC, будь ласка, вимкніть її.На сервері DNS %(server)s не передбачено підтримки EDNS0 (RFC 6891): %(error)s. Якщо на серверах IPA увімкнено перевірку DNSSEC, будь ласка, вимкніть її.Сервер DNS %(server)s: %(error)s.Сервери DNSзона DNSЗони DNS %(zone)s не знайденоЗапис зони DNS для кожного realmdomain має містити записи SOA або NS. Для %s таких записів не виявленоКореневий запис зони DNS не можна перейменовуватизони DNSЗапис DNSKEYПідтримка DNSSEC є експериментальною. %(additional_info)sНе пройдено перевірку DNSSEC: %(error)s. Будь ласка, перевірте, чи правильно вказано налаштування DNSSEC, або вимкніть перевірку DNSSEC на усіх серверах IPA.Алгоритм DSКонтрольна сума DSТип контрольної суми DSМітка ключа DSЗапис DSзапис DS не повинен перебувати у апексі зони (RFC 4035, розділ 2.4)Запис DS має існувати паралельно із записом NS (RFC 4592, розділ 4.6, RFC 4035, розділ 2.4)ДаніДіагностична інформаціяТиповийТипова (резервна) групаТипова (резервна) група для додавання записівТипові типи PACТиповий користувач SELinuxТиповий користувач SELinux, якщо не буде знайдено відповідного у правилі карти SELinuxТиповий перегляд довіри не може бути застосовано до вузлівТиповий перегляд довіри не може містити користувачів IPAТипові атрибутиТиповий домен ел. поштиТиповий зТипова група для додавання записівТипова група для нових користувачівТиповою групою для нових користувачів не є група POSIXТипової групи для нових користувачів не знайденоТипові класи об’єктів групиТипові класи об’єктів груп (список класів, відокремлених комами)Типова група вузлівТипова адреса домашніх каталогівТипова оболонкаТипова оболонка для нових користувачівНе вдалося прочитати типові правила щодо квитківТиповий час життяТипові типи PAC, підтримувані для службТипові типи підтримуваного розпізнавання користувачівТипові типи розпізнавання користувачівТипова група користувачівТипові класи об’єктів користувачівТипові класи об’єктів користувачів (список класів, відокремлених комами)Типова група користувачівВизначає «білий» список для індикаторів розпізнавання. Скористайтеся значенням «otp», щоб дозволити розпізнавання 2FA на основі OTP. Скористайтеся значенням «radius», щоб дозволити розпізнавання 2FA на основі RADIUS. Іншими значеннями можна скористатися для нетипових конфігурацій.Градуси широтиГрадуси довготиУповноваженняНазва уповноваженняУповноваженняВилучитиВилучити значення «%(value)s» %(name)s?Вилучити ACI.Вилучити зону переспрямовування DNS.Вилучити пункт запису DNS.Вилучити запис ресурсу DNS.Вилучити зону DNS (запис SOA).Вилучити сервер IPA.Вилучити ключ, скасування передбаченняВилучити серверВилучити групу команд sudo.Вилучити запис команди sudo.Вилучити правило sudo.Вилучити CA ACL.Вилучити запис CA.Вилучити правило прив’язування сертифікатів до профілів.Вилучити профіль сертифікатів.Вилучити запис сервера DNSВилучити проксі-сервер RADIUS.Вилучити карту користувачів SELinux.Вилучити уповноваження.Вилучити групу правил для паролів.Вилучити вузол.Вилучити групу вузлів.Вилучити мережеву групу.Вилучити права доступу.Вилучити привілей.Вилучити роль.Вилучити сегмент.Вилучити права доступу автослужби.Вилучити запис користувача етапу.Вилучити суфікс топології.Вилучити запис довіри.Вилучити користувачаВилучити користувача, зберігаючи запис для наступного використанняВилучити користувача.Вилучити контейнер сховищ.Вилучити сховище.Вилучити всі пов’язані записиВилучити все?Вилучити перевизначення ідентифікаторів групи.Вилучити правило HBAC.Вилучити групу служб HBAC.Вилучити перегляд ідентифікаторів.Вилучити перевизначення ідентифікаторів.Вилучити діапазон ідентифікаторів.Вилучити місце IPA.Вилучити службу IPA.Вилучити жетон OTP.Вилучити перевизначення ідентифікатора користувача.Вилучити парну атрибут-значення. Цей параметр буде використано останнім, після всіх встановлень і додавань.Вилучити правило автоматичної участі.Вилучити ключ автоматичного монтування.Вилучити запис автоматичного монтування.Вилучити карту автоматичного монтування.Вилучити вже створену службу HBAC.Вилучити доменВилучити групу.Режим вилученняВилучити ціль делегування служб.Вилучити делегування служб.Вилучено ACI «%(value)s»Вилучено запис CA «%(value)s»Вилучено CA ACL «%(value)s»Вилучено правило прив’язування сертифікатів до профілів «%(value)s»Вилучено зону переспрямовування DNS «%(value)s»Вилучено сервер DNS «%(value)s»Вилучено зону DNS «%(value)s»Вилучено перевизначення ідентифікаторів групи «%(value)s»Вилучено правило HBAC «%(value)s»Вилучено службу HBAC «%(value)s»Вилучено групу служб HBAC «%(value)s»Вилучено перегляд ідентифікаторів «%(value)s»Вилучено перевизначення ідентифікатора «%(value)s»Вилучено діапазон ідентифікаторів «%(value)s»Вилучено запис місця IPA «%(value)s»Вилучено сервер IPA «%(value)s»Вилучено жетон OTP «%(value)s»Вилучити проксі-сервер RADIUS «%(value)s»Вилучено карту користувачів SELinux «%(value)s»Вилучено команду sudo «%(value)s»Вилучено групу команд sudo «%(value)s»Вилучено правило sudo «%(value)s»Вилучено перевизначення ідентифікатора користувача «%(value)s»Вилучено правило автоматичної участі «%(value)s»Вилучено ключ автоматичного монтування «%(value)s»Вилучено місце автоматичного монтування «%(value)s»Вилучено карту автоматичного монтування «%(value)s»Вилучено уповноваження «%(value)s»Вилучено групу «%(value)s»Вилучено вузол «%(value)s»Вилучено групу вузлів «%(value)s»Вилучено мережеву групу «%(value)s»Вилучено права доступу «%(value)s»Вилучено привілей «%(value)s»Вилучено профіль «%(value)s»Вилучено запис «%(value)s»Вилучено роль «%(value)s»Вилучено сегмент «%(value)s»Вилучено самообслуговування «%(value)s»Вилучено службу «%(value)s»Вилучено делегування служб «%(value)s»Вилучено ціль делегування служб «%(value)s»Вилучено запис користувача етапу «%(value)s»Вилучено суфікс топології «%(value)s»Вилучено запис довіри «%(value)s»Вилучено користувача «%(value)s»Вилучено сховище «%(value)s»Вилучено контейнер сховищВилучення керованих груп заборонено. Спочатку групу слід від’єднати.Вилучення запису сервера призведе до його остаточного вилучення з топології. Зауважте, що скасувати результати виконання цієї дії неможливо.Вилучення цього сервера заборонено, оскільки воно залишить вашу встановлену систему без CA.Вилучення цього сервера заборонено, оскільки воно залишить вашу встановлену систему без KRA.Вилучення цього запису сервера залишить вашу встановлену систему без DNS.ВідмовитиНомер відділуЗастарілі параметриЗастаріло; користуйтеся %sВважається застарілою; скористайтеся extratargetfilterВважається застарілою; скористайтеся ipapermlocationВважається застарілою; скористайтеся ipapermrightОписати поточний розпізнаний профіль.ОписОпис призначення CAВід’єднати керовану групу від користувача.Від’єднати групу «%(value)s» від користувача «%(value)s»ВизначитиВизначити, чи налаштовано додаток сумісності схем (Schema Compatibility) на обслуговування користувачів і груп довіреного доменуВизначити, чи було запущено ipa-adtrust-install для цієї системиВизначити, чи було запущено ipa-adtrust-install з завданням sidgenСловник перекладених повідомленьСловник закодованих JSON команд IPAСловник JSON-закодованих методів IPAСловник закодованих JSON об’єктів IPAСловник для встановлення відповідності назв додатків основнимВідображення назви змінної на значення за словникомКонтрольна сумаТип контрольної сумиЦифриБезпосереднійБезпосередня участьПівкуля широтиПівкуля довготиНапрямок реплікації між лівим і правим вузлами реплікаціїВимкнутиВимкнути зону переспрямовування DNS.Вимкнути зону DNS.Вимкнути CA ACL.Вимкнути службу сертифікації.Вимкнути правило прив’язування сертифікатів до профілів.Вимкнути правило sudo.Вимкнути обліковий запис користувача.Вимкнути правило HBAC.Вимкнути правило карти користувачів SELinux.Вимкнути перевизначення на рівні користувачаВимкнути ключ Kerberos і сертифікат SSL служби.Вимкнути ключ Kerberos, сертифікат SSL і всі служби на вузлі.Вимкнути жетонВимкнути використання ресурсів IPA доменом правила довіриВимкненоВимкнено службу сертифікації «%(value)s»Вимкнено CA ACL «%(value)s»Вимкнено правило прив’язування сертифікатів до профілів «%(value)s»Вимкнено зону переспрямовування DNS «%(value)s»Вимкнено зону DNS «%(value)s»Вимкнено правило HBAC «%(value)s»Вимкнено карту користувачів SELinux «%(value)s»Вимкнено правило «%s»Вимкнений домен «%(domain)s» не можна використовуватиВимкнено вузол «%(value)s»Вимкнено службу «%(value)s»Домен довіри «%(value)s» вимкненоВимкнено обліковий запис користувача «%(value)s»Заборонити ${other_entity} створювати таблицю ключів ${primary_key}Заборонити ${other_entity} отримувати таблицю ключів ${primary_key}Заборонити користувачам, групам, вузлам і групам вузлів створювати таблицю ключів цього вузла.Заборонити користувачам, групам, вузлам і групам вузлів створювати таблицю ключів цієї служби.Заборонити користувачам, групам, вузлам і групам вузлів отримувати таблицю ключів цього вузла.Заборонити користувачам, групам, вузлам і групам вузлів отримувати таблицю ключів цієї служби.Показати ресурс DNS.Показати групу команд sudo.Показати команду sudo.Показати правило sudo.Показати сегмент.Показати окремий запис ACI за вказаною назвою ACI.Показати ключ автоматичного монтування.Показати запис автоматичного монтування.Показати карту автоматичного монтування.Показати налаштування сервера DNS.Показати поточні іменування.Показати поточні правила для певного користувачаВивести дані щодо правила прив’язування сертифікатів до профілів.Показ даних щодо зони переспрямовування DNS.Показати дані щодо зони DNS (запису SOA).Показати дані щодо проксі-сервера RADIUS.Показати дані щодо класу.Показати інформацію щодо даних, які виводить команда.Показати інформацію щодо параметра команди.Показати інформацію щодо команди.Показати дані щодо уповноваження.Показати дані щодо теми довідки.Показати дані щодо вузла.Показати дані щодо групи вузлів.Показати дані щодо іменованої групи.Показати дані щодо іменованого правила делегування служб.Показати дані щодо іменованого призначення делегування служб.Показати дані щодо мережевої групи.Показати дані щодо прав доступу.Показати дані щодо привілею.Показати дані щодо діапазону.Показати дані щодо ролі.Показати дані щодо прав доступу автослужби.Показати дані щодо користувача етапу.Показати дані щодо довіри.Показати дані щодо користувача.Показати дані щодо контейнера сховищ.Показати дані щодо сховища.Показати дані щодо перевизначення ідентифікаторів групи.Показати дані щодо групи служб HBAC.Показати дані щодо служби HBAC.Показати дані щодо перегляду ідентифікаторів.Показати дані щодо перевизначення ідентифікатора.Показати дані щодо місця IPA.Показати дані щодо служби IPA.Показати інформацію щодо жетона OTP.Показати дані щодо перевизначення ідентифікатора користувача.Показати дані щодо правила автоматичної участі.Показати дані щодо групи правил для паролів.Показати дані щодо типових (резервних) груп автоматичної участі.Екранне ім'яПоказати права доступу цього запису (потребує --all). Докладніше про це можна дізнатися зі сторінки довідника (man) ipa.Показати поточні правила квитків Kerberos.Показати список доменів області.Показати властивості CA ACL.Показати властивості CA.Показати властивості профілю сертифікатів.Показати властивості правила карти користувачів SELinux.Показати властивості правила HBAC.Показати запис користувача для поточного реєстраційного запису KerberosНе показувати код QRНе оновлювати записи, лише повернути список очікуваних записівХочете також виконати перевірку DNS?Хочете перевірити, чи є адреса нового основного сервера назв у DNSХочете вилучити дані прив’язки до сертифікатів ${data}?Ви хочете вилучити псевдонім kerberos ${alias}?Хочете вилучити затримання сертифіката?Хочете відкликати цей сертифікат? Виберіть причину зі спадного списку.Хочете оновити записи DNS системи?ДокументаціяІд. Dogtag центруДоменДомен «%(domain)s» не є кореневим доменом для лісу «%(forest)s»GUID доменуРівень доменуНе можна знижувати рівень домену.Рівень домену не може бути піднято до {0}, слід розв’язати наявні конфлікти реплікації.Не можна підняти рівень домену до {0}, оскільки на сервері {1} не передбачено підтримки такого рівня.Назва домену у NetBIOSДомен SIDSID довіреного доменуІдентифікатор безпеки доменуКонтролер домену Active Directory (необов’язковий)Домен увімкненоНазва доменуПорядок визначення доменівДомен, у якому слід шукати запис користувачаНе створювати закриту групу користувачаНе чекати на завершення перебудови записів участіОтриматиОтримати сертифікат у формі файла формату PEM.Тестовий запускПропущені дублікати ключів:Пропущені дублікати карт:Динамічне оновленняЗмінитиЗмінити ${entity}Ефективні атрибутиАдреса ел. поштиВідомості щодо працівникаНомер працівникаТип працівникаНе можна використовувати порожні домениУвімкнутиУвімкнути зону переспрямовування DNSУвімкнути зону DNS.Увімкнути CA ACL.Увімкнути службу сертифікаціїУвімкнути правило прив’язування сертифікатів до профілів.Увімкнути правило sudo.Увімкнути обліковий запис користувача.Увімкнути правило HBAC.Увімкнути правило карти користувачів SELinux.Увімкнути режим міграціїУвімкнути або вимкнути анонімний PKINIT.Увімкнути жетонУвімкненоУвімкнено службу сертифікації «%(value)s»Увімкнено CA ACL «%(value)s»Увімкнено правило прив’язування сертифікатів до профілів «%(value)s»Увімкнено зону переспрямовування DNS «%(value)s»Увімкнено зону DNS «%(value)s»Увімкнено правило HBAC «%(value)s»Увімкнено карту користувачів SELinux «%(value)s»Увімкнено правило sudo «%s»Увімкнені ролі сервераУвімкнено домен довіри «%(value)s»Увімкнено обліковий запис користувача «%(value)s»Типи шифрування, запит щодо яких слід надсилатиСпроба порівняння значень типу шифрування зазнала невдачі! ЗареєстрованоРеєстраціяUUID надання ролейUUID надання ролі (не реалізовано)Помилка реєстрування. %s Введіть %(label)s ще раз для перевірки: Введіть назву довіреної групи.Введіть назву запису довіреної групи або групи IPA. Зауваження: у списку результатів пошуку не буде записів груп із довірених доменів.Введіть назву облікового запису довіреного користувача або користувача IPA. Зауваження: у списку результатів пошуку не буде записів користувачів із довірених доменів.Введіть назву запису довіреного користувача.ЗаписЗапису %s не існуєЗапису %s не знайденоRDN запису не належить до «uid»У запису немає атрибута «%(attribute)s»Пронумерувати усі вузли, до яких застосовний перегляд.ПомилкаПомилка під час спроби зміни стану облікового записуПомилка під час отримання типової області дії Kerberos: %s. Помилка під час отримання початкових реєстраційних даних: %s. Помилка під час обробки «%1$s»: %2$s. Помилка при визначенні адрес таблиці ключів: %s. Помилка під час спроби збереження реєстраційних даних у кеші: %s. Встановлено двобічну довіру. Типово, довіра є лише однобічною вхідною.Встановити зовнішню довіру до домену у іншому лісі. Довіра не переходить за межі домену.Встановити за допомогоюВстановлено і перевіреноПеревищено кількість спроб переспрямовування запиту.ОбмінникВиключити зАтрибути виключенняВиключнаФормальний вираз виключенняРозгорнути всіСтрок діїЕкспортувати метадані додатка для webUI.ВиразЗовнішнійЗовнішня група, від імені якої можна віддавати команди (лише sudorule-find)Зовнішні групи користувачів для запуску від іменіЗовнішні групи користувачів, від імені яких можна виконувати командуЗовнішній користувачЗовнішній користувач, від імені якого можна віддавати команди (лише sudorule-find)Зовнішній користувач, до якого застосовуватиметься правило (лише sudorule-find)Зовнішній вузолЗовнішній учасникЗовнішня довіраДодаткові хеші для створення у додатку паролів.Додатковий фільтр призначенняПомилкові CAПомилка запуску від іменіПомилка запуску від імені групиНе вдалося дозволити створювати таблицю ключівНе вдалося дозволити отримувати таблицю ключівПомилка hosts/hostgroupsКількість невдалих спроб увійтиПомилка managedbyПомилка membersЗаписи власників із помилкамиПрофілі із помилкамиПомилки служб/груп службПомилка hosts/hostgroups джерелаПомилкові ціліНе вдалося додатиНе вдалося додати ключ до таблиці ключів Не вдалося додати користувача до типової групи. Додати користувача вручну можна за допомогою команди «ipa group-add-member».Не вдалося пройти розпізнавання за допомогою програмного інтерфейсу CA RESTНе вдалося прив’язати до сервера! Не вдалося вилучити %(principal)s memberPrincipal із запису s4u2proxy %(dn)s: %(err)sНе вдалося вилучити ключі Custodia для %(master)s: %(err)sНе вдалося вилучити записи назви вузла DNA для %(master)s: %(err)sНе вдалося вилучити записи DNS %(hostname)s: %(err)sНе вдалося вилучити реєстраційні запис або ключі сервера: %(err)sНе вдалося закрити таблицю ключів Не вдалося встановити з’єднання із sssd за допомогою SystemBus. Докладніший опис — у файлі error_logНе вдалося створити керування! Не вдалося створити вихідні дані для ключа Не вдалося створити ключ! Не вдалося створити випадковий ключ! Не вдалося декодувати контрольну відповідь! Не вдалося знайти користувачів за допомогою SystemBus. Докладніший опис — у файлі error_logНе вдалося отримати таблицю ключів Не вдалося отримати таблицю ключів! Не вдалося отримати результат: %s Не вдалося відкрити таблицю ключів Не вдалося відкрити файл налаштувань %s Не вдалося відкрити таблицю ключів Не вдалося відкрити таблицю ключів «%1$s»: %2$s Не вдалося обробити файл налаштувань %s Не вдалося обробити розширений результат: %s Не вдалося обробити результат: %s Спроба вилучення зазнала невдачіНе вдалося вилучити запис сервера %(master)s зі списку серверів: %(err)sНе вдалося отримати жодного ключаНе вдалося отримати дані щодо типу шифрування %1$s (№%2$d) Не вдалося отримати дані щодо типу шифрування №%d Помилка users/groupsПомилка під час декодування запиту на підписування сертифіката (CSR): %sПроміжок скидання помилокРезервна основна групаПовернення до резервного DC LDAP ADНіFalse, якщо перенесення зазнає невдачі через увімкнення додатка сумісності.False, якщо режим міграції було вимкнено.Номер факсуОтримати домениОтримання даних щодо зон DNS.Спроба отримати список доменів із довіреного лісу зазнала невдачі. Подробиці можна знайти у error_logФайла %(file)s не знайденоФайл, що містить пароль до закритого ключа або бази данихФайл, що містить дані для архівуванняФайл, який містить налаштування профілівФайл, який містить новий пароль до сховищаФайл, який містить новий відкритий ключ сховищаФайл, який містить старий пароль до сховищаФайл, який містить старий закритий ключ сховищаФайл, який містить пароль до сховищаФайл, який містить закритий ключ сховищаФайл, який містить відкритий ключ сховищаФайл, з якого слід завантажити сертифікатФайл, з якого слід завантажити сертифікат.Файл для зберігання отриманих данихФайл, у якому зберігатимуться дані сертифіката.Файл, у якому зберігатимуться дані таблиці ключівПорожня назва файлаНазва файла профілю з необробленими даними. Підтримки формату XML не передбачено.ФільтрДоступний фільтр ${other_entity}ЗнайтиЗнайти роль сервера на серверахВідбитокВідбиток (SHA1)Відбиток (SHA256)Тип відбиткаВідбиток схеми, кешований клієнтомВідбиткиПершийПерший кодПерший OTPПерший ідентифікатор POSIX діапазонуПерший ідентифікатор POSIX діапазону, зарезервованого для довіреного доменуПерший RID відповідного діапазону RIDПерший RID вторинного діапазону RIDЧас початку використання ключа (дата і час)Ім'яПрапорціВказані нижче сегменти не було вилучено:ПримусовоПримусове створення зони DNS, навіть якщо вона перекриватиметься із наявною.Примусово створити зону DNS, навіть якщо не вдається визначити адресу сервера назв.Примусове створення зони DNS, навіть якщо адресу сервера назв не вдається визначити. (застаріле)Примусове оновленняПримусове додавання домену, навіть якщо назви немає у DNSПримусово змінити сервер назв, навіть якщо запису сервера назв немає у DNSПримусове вилучення сервераПримусове вилучення сервера, навіть якщо його не існуєДолучити вузол у примусовому режимі. Повторне долучення виконуватиметься, навіть якщо вузол вже долучено.Примусово вилучаємо %(hostname)sУ лісу «%(forest)s» наявні відносини довіри з лісами %(domains)s, що не дає змоги встановити довіру до «%(conflict)s»Помилка форматуванняСпочатку переспрямуватиЛише переспрямовуватиПравила переспрямовуванняДля нього у DNS IPA визначено правила переспрямовування. Можливо, переспрямовувач вказує не помилковий вузол?Переспрямувати на сервер замість локального виконанняЛише прямі зониПереспрямовувачіПереспрямовування вимкненоПравила переспрямовування конфліктують із деякими автоматично порожніми зонами. Запити для зон, вказаних на основі RFC 6303, ігноруватимуть переспрямовування і завжди призводитимуть до відповідей NXDOMAIN. Щоб перевизначити цю поведінку, скористайтеся правилами переспрямовування «only».Знайдено «%(value)s»Повне ім’яПовна назва вузлаФункція, подробиці щодо якої слід отриматиGECOSполе GECOSGIDGID (за допомогою цього параметра можна встановити значення вручну)GSSAPI|EXTERNALЗібрати дані для запиту щодо підписування сертифіката.ЗагальнеСтворити OTPСтворити випадковий пароль, який буде використано для загальної реєстраціїСтворити випадковий пароль для користувачаСтворити файли automount для певної адреси.Створений CSR виявився порожнімСтворений OTPУ правилі створення «%(rulename)s» немає ключа «rule»ОтриматиОтримати сертифікатЗагальні налаштування DNS є порожнімиЗагальні довірені налаштуванняЗагальні переспрямовувачіПереспрямовувачі загального рівня. Для кожного переспрямовувача можна вказати нетиповий порт за допомогою стандартного формату: «IP_АДРЕСА port ПОРТ»Загальні правил переспрямовування. Щоб вимкнути будь-які переспрямовувачі на загальному рівні, встановіть значення «none».Надані праваНадані привілеїНадання привілеїв ролямГрупаГрупи з назвою «%s» не існуєІд. номер групиПеревизначення ідентифікатора групиПеревизначення ідентифікатора групиПараметри групиПараметри групиТип групиКатегорії групКонтейнер групОпис групиНазва групиКлас об’єктів групиПріоритет об’єкта групиПоля пошуку групГрупа, до якої слід застосувати ACIГрупа для перевизначенняТип групуванняГрупування, якого стосується правилоГрупиГрупи, яким дозволено створення таблиці ключівГрупи, яким дозволено отримувати таблицю ключівГрупи користувачів запуску від іменіПравило HBACПравило HBAC, яке визначає користувачів, групи і групи вузлівПравила HBACСлужба HBACГрупа служб HBACГрупа служб HBACСлужби HBACТест HBACПравило HBACНе знайдено правила HBAC %(rule)sНе можна одночасно вказувати правило HBAC і локальних учасниківправила HBACСлужба HBACОпис служби HBACгрупа служб HBACОпис групи служб HBACГрупа служб HBACгрупа служб HBAC для додаваннягрупи служб HBAC для вилученняСлужби HBACслужби HBAC для додаванняслужби HBAC для вилученняЗапис HIPВікно розпізнавання HOTPВікно синхронізації HOTPВипереджальне пропускання розпізнавання HOTPВипереджальне пропускання синхронізації HOTPПомилка HTTPАпаратні MAC-адреси цього вузлаАпаратна платформа вузла (наприклад, «Lenovo T61»)Привіт, світеТема довідкиПриховатиСховати подробиціПриховати дані щодо того, які правила є відповідними, які не є відповідними і які є некоректнимиРозмір журналуДомашній каталогАдреса домашніх каталогівТочність за горизонталлюВузолВузла «%(host)s» не знайденоНа вузлі «%(hostname)s» немає відповідного запису DNS A/AAAAВузол «%(hostname)s» не є активним KDCСертифікат вузлаГрупа вузлівПараметри групи вузлівГрупи вузлівГрупи вузлів, яким дозволено створення таблиці ключівГрупи вузлів, яким дозволено отримувати таблицю ключівМаски вузлівНазва вузлаПараметри вузлаКатегорія вузлівКатегорія вузлів (семантика розташування цього атрибуту призначена для локальної обробки)Категорія вузлів, до якої застосовується ACLКатегорія вузлів, до якої застосовується правилоПравило групи вузлівПравила груп вузлівАпаратна платформа вузла (наприклад, «Lenovo T61»)Вузол вже приєднано. Підтримки вузла не передбаченоАдреса розташування вузла (наприклад, «Київ, Україна»)Розташування вузла (наприклад, «Lab 2»)Назва вузлаОпераційна система вузла і її версія (наприклад, «Fedora 9")Вузол не передбаченоКерування доступом на основі вузлівКоманди керування доступом на основі вузлівГрупа вузлівГрупи вузлів, до чиїх вузлів буде застосовано перегляд ідентифікаторів. Будь ласка, зауважте, що перегляд не застосовується автоматично до жодних вузлів, доданих до групи вузлів після виконання команди idview-apply.Групи вузлів, для вузлів яких знято обробку переглядами ідентифікаторів. Зауважте, що після запуску команди idview-unapply перегляд з будь-якого вузла, доданого до групи вузлів, не зніматиметься автоматично.Назва вузлаНазва вузла (FQDN)Назва вузла цього сервераВузлиВузли, яким дозволено створення таблиці ключівВузли, яким дозволено отримувати таблицю ключівВузли або групи вузлів, з яких не можна зняти перегляд ідентифікаторів.Вузли або групи вузлів, до яких не можна застосувати цей перегляд ідентифікаторів.Вузли, з яких знято перегляд ідентифікаторів.Вузли, до яких було застосовано цей перегляд ідентифікаторів.Вузли, до яких застосовний переглядВузли, до яких слід застосувати перегляд ідентифікаторівВузли, з яких слід зняти (будь-який) перегляд ідентифікаторів.Тривалість кешування відмовДіапазон ідентифікаторівДіапазони ідентифікаторівПерегляд ідентифікаторівНазва перегляду ідентифікаторівПерегляд ідентифікаторів уже застосованоПерегляд ідентифікаторів застосовано до %i вузла.Перегляд ідентифікаторів застосовано до %i вузлів.Перегляд ідентифікаторів знято з %i вузла.Перегляд ідентифікаторів знято з %i вузлів.Перегляди ідентифікаторівПеревизначення ідентифікатораПеревизначення ідентифікаторів не можна перейменовуватиДіапазон ідентифікаторів для довіреного домену вже існує, але належить до іншого типу. Будь ласка, вилучіть попередній діапазон вручну або не визначайте тип у примусовому порядку за допомогою параметра --range-type.Тип діапазону ідентифікаторів. Можливі варіанти: ipa-ad-trust-posix, ipa-ad-trust, ipa-localТип діапазону ідентифікаторів, одне з таких значень: {vals}Вже існує діапазон ідентифікаторів з тією самою назвою але іншим доменом SID. Діапазон ідентифікаторів для нового довіреного домену має бути створено вручну.IP-адресаIP-адресу %(ip)s вже призначено у домені %(domain)s.Мережа IP для створення зворотних назв зониАгенти довіри AD IPAКонтролери довіри AD IPACA IPA не може бути вилученоСлужбу сертифікації IPA не можна вимикатиСертифікат CA IPAОсновних вузол відновлення CA IPAСервери CA IPAСервер DNS IPA не встановленоЗаписи DNS IPAСервери DNS IPAВерсія DNS IPAОсновний сервер ключів DNSSec IPAПомилка IPAСервери KRA IPAМісце IPAОпис місця IPAМісця IPAСервери NTP IPAЯкщо вказано SID довіреного домену, типом діапазону IPA має бути ipa-ad-trust або ipa-ad-trust-posixЯкщо не вказано SID довіреного домену, типом діапазону IPA не може бути ipa-ad-trust або ipa-ad-trust-posix.Сервер IPAРоль сервера IPAРолі сервера IPAСервер IPA, який слід використовуватиСервери IPAIPA не керує зоною %(zone)s. Будь ласка, додайте запис на вашому сервері DNS вручнуНазва місця IPAЗаписи місць IPAIPA керує DNS. Будь ласка, переконайтеся, що поточні налаштування DNS уможливлюють визначення адрес службових записів домену «{domain}». Приклади налаштовування DNS за допомогою командного інтерфейсу або вебінтерфейсу наведено у документації. Основний IPA з можливістю PKINITОсновний вузол IPA відмовив у запитах щодо затвердження довіри від AD DC %(count)d разів. Найімовірніше, AD DC встановив зв’язок із реплікою, на якій ще не виконано реплікацію даних щодо довіри. Крім того, будь ласка, перевірте, чи може DNS AD визначати за записами SRV %(records)s коректний сервер IPA.Основний IPA, який може обробляти запити PKINITОсновні вузли IPAnamingContext IPA не знайдено Об’єкт IPAНазва ролі IPAСервер IPA налаштований як основний сервер ключів DNSSecДомен сервера IPA не можна вилучатиДомен сервера IPA не можна пропускатиНазва вузла сервера IPAНазва ролі сервера IPAСервери IPA, які налаштовано як агенти довіри ADСервери IPA, які налаштовано як контролери довіри ADСервери IPA, які налаштовано як центри сертифікаціїСервери IPA, налаштовані як агенти відновлення ключів (key recovery agents)Сервери IPA із увімкненим NTPДовіра IPAУнікальний ід. IPAЗапис IPSECKEYПрофільПараметри профілюЯкщо не вказано CA, буде дозволено запити до типового CA.Якщо проблему не вдасться усунути, зверніться до адміністратора системи.Ігнорувати перевірку на те, чи є сервер, який вилучають, останнім сервером CA або DNSІгнорувати додаток compatІгнорувати атрибут групиІгнорувати клас об’єктів групиІгнорувати проблеми із з’єднуваністю топології після вилученняІгнорувати помилки топологіїІгнорувати атрибут користувачаІгнорувати клас об’єктів користувачаПроігноровано %(src)s до %(dst)sПроігноровані ключі:Ігноруємо ці попередження і продовжуємо процедуру вилученняІгноруємо помилки із з’єднуваністю топології.Імпортувати профіль сертифікатів.Імпортувати сертифікат надання імен.Імпортувати файли automount для певної адреси.Імпортовані ключі:Імпортовані карти:Імпортовано профіль «%(value)s»Включення вимкненоВключення увімкненоПеревірити всі вимкнені правила IPAПеревірити всі увімкнені правила IPA [типова поведінка]Включити ланцюжок сертифікації до виведенняВключити доАтрибути включенняВключнаФормальний вираз включенняВказано несумісні параметри (-r і -P) ОпосередкованийОпосередкована служба HBAC учасникаОпосередкована група служб HBAC учасникаОпосередковані групи «member»Групи вузлів з опосередкованою участюВузли з опосередкованою участюОпосередковані мережеві групи учасникаОпосередковане правило HBAC «member of»Опосередковане правило sudo «member of»Опосередкована група «member of»Опосередкований учасник групи вузлівОпосередкована група «member of»Опосередкована роль «member of»Опосередкований учасник rolesОпосередковані права доступу учасникаОпосередковані користувачі «member»Опосередкована участьУспадковано з налаштувань сервераПочатковий лічильник для ключа HOTPІніціалізувати лівий вузолІніціалізувати правий вузолІніціалиВхідні дані вказано декілька разівВхідний файлНазва вхідного файлаУ форму введення даних не введено деякі з даних або у формі містяться некоректні записи.Недостатні привілеї «add» для запису «%s».Недостатні привілеї «write» до атрибута «krbLastPwdChange» запису «%s».Недостатні привілеї «write» до атрибута «userCertificate» запису «%s».Недостатні права для доступу: %(info)sНедостатні привілеї для створення сертифіката з альтернативною назвою призначення «%s».Недостатні права доступу для вилучення запису CA.Недостатні права доступу для внесення змін до запису CA.Недостатні права доступу для внесення змін до профілю сертифікації.Внутрішня помилканекоректний запит JSON-RPC: %(error)sНекоректна адреса LDAP.Некоректне значення MCS. Значення має відповідати шаблону c[0-1023].c[0-1023] і/або шаблону c[0-1023]-c[0-c0123]Некоректне значення MLS. Значення має відповідати шаблону s[0-15](-s[0-15])Некоректний механізм прив’язування SASL Некоректна назва реєстраційного запису служби Реєстраційні дані вказано з помилкамиНекоректна назва домену, «%(domain)s»: %(e)sНекоректний формат. Правильний формат: назва=значенняНекоректна кількість частин!Некоректний або непідтримуваний тип. Дозволені значення: %sНекоректний або непідтримуваний відкритий ключ сховища: %sНекоректний тип сховищаЧи є зона активною?СтворитиВидати новий сертифікатСтворити сертифікат для ${primary_key} ${entity}ВидавецьВиданоВидано дляВидано зВидано з цієї дати (РРРР-мм-дд)Видано доВидано до цієї дати (РРРР-мм-дд)ВидавецьDN видавцяУнікальна назва видавцяВидавець і призначенняВидавець сертифікатаВидавничий CAНаполегливо рекомендуємо вам встановити наступні служби одразу на декількох серверах:Використовується лише для встановлення атрибута MNAME SOA.ПосадаДолучитися до домену IPAАлгоритм КЛЮЧАПрапорці KEYПротокол КЛЮЧАВідкритий ключ KEYЗапис KEYСлужбу KRA не увімкненоОбмінник KXПріоритетність KXЗапис KXНе знайдено кешу реєстраційних даних Kerberos. Чи є у вас квиток Kerberos? Ключ KerberosКлюча Kerberos немаєМаємо ключ Kerberos, вузол передбаченоМаємо ключ Kerberos, службу передбаченоНазва реєстраційного запису служби KerberosПравила квитків KerberosНе знайдено реєстраційного запису користувача Kerberos. Ви маєте ви коректний кеш реєстраційних даних? Невдала спроба ініціалізації контексту Kerberos Невдала спроба ініціалізації контексту Kerberos: %1$s (%2$d) Помилка Kerberos: %(major)s/%(minor)sДоступні ключі KerberosРеєстраційний запис KerberosРеєстраційний запис Kerberos %s вже існує. Скористайтеся командою «ipa user-mod», щоб встановити його параметри вручну.Завершення строку дії реєстраційного запису KerberosНазва реєстраційного запису Kerberos для цього вузлаКлючКомпрометація ключаМітка ключаТаблиця ключівНазва файла таблиці ключівТаблицю ключів успішно отримати і збережено до: %s DN LDAPМеханізм прив’язування SASL LDAP, якщо без bindd/bindpwURI LDAPURI LDAP сервера DS, з якого здійснюватиметься міграціяБазовий DN LDAPПароль LDAPПароль LDAP (якщо не використовується Kerberos)Схема LDAPОбласть пошуку LDAP для користувачів і груп: base, onelevel або subtree. Типове значення: onelevelСуфікс LDAP, яким слід керуватиЧас очікування LDAPАдреса LDAP, з якою слід встановити з’єднання. Несумісний з --serverВисота LOCГрадуси широти LOCГрадуси довготи LOCПівкуля широти LOCПівкуля довготи LOCТочність за горизонталлю LOCМінути широти LOCМінути довготи LOCСекунди широти LOCСекунди довготи LOCРозмір LOCТочність за вертикаллю LOCЗапис LOCМіткаМіткиОстаннійСтрок дії ключа (дата і час)Останнє невдале розпізнаванняПрізвищеОстаннє успішне розпізнаванняВикористання пробілів на початку і у кінці забороненоЛівий вузолЛівий вузол реплікації — сервер IPAПрипустимий фільтр LDAP (наприклад, ou=Engineering)Тривалість чинності коду ключа TOTPРівеньСписок усіх сховищ службСписок усіх сховищ користувачівСписок основних серверів IPA, які налаштовано як сервери DNSСписок усіх основних вузлів IPAСписок вилучень, які не вдалося виконатиСписок усіх увімкнених ролейВивести список серверів, які повідомляють про вказане місцеСписок довірених доменів успішно оновлено. Для отримання поточного списку цих доменів скористайтеся командою trustdomain-find.Списки об’єктів, міграцію яких виконано; впорядкований за типами.Списки об’єктів, міграцію яких не вдалося виконати; впорядкований за типами.Завантажити сертифікат CA сервера LDAP з вказаного файлаЗавантажуємо даніЛокальний доменАдресаЗаписНазва місцяРозташування ACIТривалість блокуванняВхід до системи від іменіУвійтиОболонка входуВийтиПомилка під час виходуМенше число — вища пріоритетність. Клієнтські частини намагатимуться встановити зв’язок із тією доступною для них адресою, у якої нижче число пріоритетності.Менше число — вища пріоритетність. Клієнтські частини намагатимуться встановити зв’язок із ттим доступноми для них сервером, у якого нижче число пріоритетності.MAC-адресаMS-PACОбмінник MXПріоритетність MXЗапис MXАдреса ел. поштиПомилкове форматування DNПомилкове форматування реєстраційного записуПомилкове форматування реєстраційного запису: «%(value)s»Керування правилами обробки паролів для певної групиКерування правилами обробки квитків певного користувачаDN керованого суфікса LDAPКеруєтьсяКерований суфіксКеровані суфіксиДля керованої топології потрібен мінімальний рівень домену ${domainlevel}Права доступу managedbyКерівникКеруванняКартаТип картиПравило прив’язуванняНабір правил прив’язки «%(ruleset)s» містить декілька правил для допоміжного засобу %(helper)sПозначення ключа як вимкненого (типове значення: false)Основний файлВідповідністьВстановити відповідність користувачів за сертифікатом.Встановлено відповідністьВідповідні користувачіВідповідні правилаВідповідний типПравило відповідностіМакс. рівень доменуМакс. к-ть помилокМакс. строк діїМакс. строк дії (у днях)Макс. вік поновленняМаксимальний проміжок часу (у секундах) для виконання однієї дії з пошуку (-1 або 0 — без обмежень)Максимальний проміжок часу (у секундах) для виконання однієї дії з пошуку (>0, -1 — без обмежень)Максимальний рівень доменуМаксимальна кількість узгоджень на реплікуМаксимальна кількість сертифікатів у повернутому спискуМаксимальна кількість повернутих записівМаксимальна кількість повернутих записів (0 — без обмежень)Максимальна кількість записів результатів пошуку (-1 — без обмежень)Максимальна кількість записів результатів пошуку (-1 або 0 — без обмежень)Максимальна кількість правил, які слід обробити, якщо не вказано параметра --rulesМаксимальний строк дії пароля має перевищувати мінімальний строк його дії.Максимальний строк дії пароля (у днях)Максимальний вік, протягом якого можливе поновлення (у секундах)Максимальний серійний номерМаксимальний строк дії квитка (у секундах)Максимальна довжина імені користувачаМаксимальним є значення ${value}Не може бути порожнімГрупа учасникаСлужба HBAC учасникаГрупи служб HBAC учасникаВузол-учасникГрупа вузлів учасникаКоманди учасника SudoКористувач учасникаГрупи «member»Учасник host-groupsВузли-учасникиМережеві групи учасникаУчасникПравило HBAC «member of»Учасник груп служб HBACПравило Sudo «member of»Учасник групиУчасник групиГрупи «member of»Учасник host-groupsМережеві групи «member of»Реєстраційні записи учасниківГрупи служб учасникаСлужби учасникаУчасник групи користувачівКористувачі «member»УчасникиУчасники довіреного домену у форматі ДОМЕН\ім’я або ім’я@доменУчасники, записи яких не вдалося додатиУчасники, записи яких не вдалося вилучитиНазва методуМетодПеренести дані користувачів і груп з DS до IPA.Режим міграції вимкнено. Скористайтеся командою «ipa config-mod--enable-migration=TRUE», щоб увімкнути його.Підтримки перенесення посилання пошуку LDAP не передбачено.Мін. рівень доменуМін. довжинаМін. строк дії (у годинах)Мінімальний рівень доменуМінімальна довжина пароляМінімальна кількість класів символівМінімальний строк дії пароля (у годинах)Мінімальний серійний номерМінімальним є значення ${value}Мінути широтиМінути довготиІнша інформаціяПропущено реєстраційні дані для обміну даними між лісамиНе вказано нового відкритого ключа сховищаНе вказано HTTP Referer або вказано помилкове значення, %(referer)sНемає списку керування відповідями! Немає керування відповіддю! Пропущені значення: Не вказано закритого ключа сховищаНе вказано відкритого ключа сховищаНомер мобільного телефонуМодельЗміненоЗмінено налаштування довіри «%(value)s»Змінено ACI «%(value)s»Змінено CA «%(value)s»Змінено CA ACL «%(value)s»Змінено правило прив’язування сертифікатів до профілів «%(value)s»Змінено профіль сертифікатів «%(value)s»Змінено запис сервера DNS «%(value)s»Змінено правило HBAC «%(value)s»Змінено службу HBAC «%(value)s»Змінено групу служб HBAC «%(value)s»Змінено діапазон ідентифікаторів «%(value)s»Змінено запис місця IPA «%(value)s»Змінено запис сервера IPA «%(value)s»Змінено жетон OTP «%(value)s»Змінено запис проксі-сервера RADIUS «%(value)s»Змінено карту користувачів SELinux «%(value)s»Змінено команду sudo «%(value)s»Змінено групу команд sudo «%(value)s»Змінено правило sudo «%(value)s»Змінено перевизначення ідентифікаторів групи «%(value)s»Змінено перегляд ідентифікаторів «%(value)s»Змінено перевизначення ідентифікатора «%(value)s»Змінено перевизначення ідентифікатора користувача «%(value)s»Змінено правило автоматичної участі «%(value)s»Змінено ключ автоматичного монтування «%(value)s»Змінено карту автоматичного монтування «%(value)s»Змінено уповноваження «%(value)s»Змінено групу «%(value)s»Змінено вузол «%(value)s»Змінено групу вузлів «%(value)s»Змінено мережеву групу «%(value)s»Змінено права доступу «%(value)s»Змінено привілей «%(value)s»Змінено роль «%(value)s»Змінено сегмент «%(value)s»Змінено самообслуговування «%(value)s»Змінено службу «%(value)s»Змінено запис користувача етапу «%(value)s»Змінено суфікс топології «%(value)s»Змінено довіру «%(value)s» (зміни набудуть чинності за 60 секунд)Змінено користувача «%(value)s»Змінено сховище «%(value)s»Змінено: ключ не встановленоЗмінити значення «%(value)s» %(name)s?Змінити запис ACI.Змінити налаштування CA.Змінити налаштування прив’язки сертифікатів до профілів.Змінити налаштування профілю сертифікатів.Змінити зону переспрямовування DNS.Змінити налаштування сервера DNSЗмінити зону DNS (запис SOA).Змінити діапазон ідентифікаторів.Змінити діапазон ідентифікаторів. {0} Змінити правила квитків Kerberos.Змінити параметри налаштування OTP.Змінити групу команд sudo.Змінити команду sudo.Змінити правило sudo.Змінити CA ACL.Змінити правило прив’язування сертифікатів до профілів.Змінити запис ресурсу DNS.Змінити жетон OTP.Змінити запис проксі-сервера RADIUS.Змінити карту користувачів SELinux.Змінити уповноваження.Змінити групу правил для паролів.Змінити групу.Змінити групу вузлів.Змінити мережеву групу.Змінити права доступу.Змінити привілей.Змінити роль.Змінити сегмент.Змінити права доступу автослужби.Змінити запис користувача етапу.Змінити суфікс топології.Змінити параметри користувача.Змінити сховище.Змінити перевизначення ідентифікаторів групи.Змінити правило HBAC.Змінити групу служб HBAC.Змінити службу HBAC.Змінити перегляд ідентифікаторів.Змінити перевизначення ідентифікатора.Змінити перевизначення ідентифікатора користувача.Змінити правило автоматичної участі.Змінити ключ автоматичного монтування.Змінити карту автоматичного монтування.Змінити вже створену службу IPA.Змінити параметри налаштування.Змінити загальні налаштування DNS.Змінити налаштування довіри на загальному рівні.Змінити дані щодо вузла.Змінити дані щодо місця IPA.Змінити дані щодо сервера IPA.Змінити домени області.Змінити значення довіреного домену (trustdomain) правила довіриЗнайдено декілька записів ключів %(key)s, скористайтеся --info для вибору певного запису.Інформація щодо монтуванняТочка монтуванняПересунути вилучений запис користувача до області етапуБагато значеньМає бути десятковим числомМає бути додатним числомМає бути значенням дати часу за Гринвічем (UTC) (наприклад, «2014-01-20 17:58:01Z»)Має бути цілим числомСховища користувачаПрапорці NAPTRПорядок NAPTRПріоритетність NAPTRФормальний вираз NAPTRЗамінник NAPTRСлужба NAPTRЗапис NAPTRНазва домену NISЗначення NONE не можна поєднувати з іншими типами PACНазва вузла NSЗапис NSзапис NS не можна використовувати разом з записом %(type)s, якщо їх не розташовано у запису кореня зони (RFC 2181, розділ 6.1)Записи NS можна редагувати у апексі зони — «@». Наступна назва домену NSECКарта типів NSECзапис NSECЗапис NSEC3Запис NSEC3PARAMЗапис NSEC3PARAM для зони у такому форматі: алгоритм_хешування прапорці ітерації сільНазваНазва до посилання на CAНазва профілю створення CSR (якщо не та сама, що і profile_id)Назва команди для експортуванняНазва групи вузлівНазва видавничого CAНазва методу, який буде експортованоНазва об’єкта, який слід експортуватиНазва батьківської карти автомонтування (типове значення: auto.master).Назва довіреного доменуСервер назв «%(host)s» не має відповідного запису A/AAAAНе можна задавати сервер назв для зворотної зони відносно назви DNSНе надано ні --del-all, ні параметрів вилучення певного запису. Всі підтримувані типи записів можна знайти у виводі команди help.Вкладені методи, які слід виконатиНазва NetBIOSМережева групаПараметри мережевої групиОпис мережевої групиНазва мережевої групиМережеві групиМережеві службиНова назва ACIНовий сертифікатНовий парольНовий пароль реєстраційного записуНовий текстНовий псевдонім реєстраційного запису kerberosІнформація нового монтуванняСлід вказати новий парольНовий відкритий ключ вказано декілька разівНовий пароль до сховищаНовий: ключ не встановленоНовий: ключ встановленоДаліНаступна назва доменуНе знайдено записів A, AAAA, SSHFP або PTR.Для профілю %(profile_id)s не визначено правил створення CSRУ темі запиту не було знайдено загальної назви (CN).Немає серверів DNS на місці IPA %(location)s. Без серверів DNS місце не працюватиме як слід.Не встановлено основного ключа DNSSEC. Підписування у зоні DNSSEC не працюватиме, доки не буде встановлено основний ключ DNSSEC.Немає чинних сертифікатівНемає архівованих даних.Не знайдено кешу реєстраційних данихНе встановлено типової (резервної) групиНемає записів.Немає файла для читанняНемає вільних слотів YubiKey!Не знайдено правила створення %(rulename)s.Жоден з ключів не прийнято KDC Відповідних записів не знайденоНе вказано параметр вилучення певного запису.Можливості внесення змін у певний запис не передбачено.Немає дозволу на долучення цього вузла до домену IPA. Немає приватної групиНемає відповідіУ цього запису немає такого атрибутаТакої віртуальної команди не передбаченоНемає основних системних типів шифрування?! Не налаштовано жодного довіреного доменуНемає значень %sНе чекатиНемає дозволу на запис до файла таблиці ключів «%s» Відповідь від програмного інтерфейсу REST CA, що не відповідає 2xx: %(status)d. %(explanation)sДомен не-Active DirectoryНе-POSIXНекоректні правила або правила, яких не існуєНеперехідна зовнішня довіра до домену у іншому лісі Active DirectoryНеперехідна зовнішня довіра до сумісної із RFC4120 області KerberosЦей випадокНе пізнішеНе ранішеНе є керованою групоюНекоректна IP-адресаНекоректна адреса IPv4Некоректна адреса IPv6Некоректна адреса у мережі (приклади коректних адрес: 2001:db8::/64, 192.0.2.0/24)Заборонено для записів, які не є записами листків (leaf)Вказано недостатньо аргументів для виконання налаштовування довіриНевідповідні правилаЩе не зареєстрованоНотаткаКількість ідентифікаторів у діапазоніКількість доданих умовКількість вилучених умовСповіщення про кількість днів, які залишилися до завершення дії пароля.Кількість цифр у кожному з кодів ключаКількість повернутих записівКількість вузлів, з яких знято перегляд ідентифікаторів:Кількість вузлів, до яких застосовано перегляд ідентифікаторів:Кількість доданих учасниківКількість вилучених учасниківКількість доданих записів власниківКількість вилучених записів власниківКількість доданих прав доступуКількість вилучених записів прав доступуКількість завантажених додатківКількість доданих привілеївКількість вилучених привілеївКількість секунд, протягом яких відбуватиметься очікування зовнішнім LDAP на відповідь під час дій від віддаленої репліки, перш ніж дію буде припинено через перевищення часу очікування і буде видано повідомлення щодо помилкиКількість повернутих змінних (<= загальної)ГараздOTPНалаштування OTPЖетон OTPПараметри жетона OTPЖетони OTPПараметри налаштування OTPВстановлено одноразовий парольЖетон OTPЖетони OTPНазва класу об’єктівКласи об’єктів, які буде проігноровано для записів груп у DSКласи об’єктів, які буде проігноровано для записів користувачів у DSКласи об’єктів, використаних для пошуку записів груп у DSКласи об’єктів, використаних для пошуку записів користувачів у DSСтарий пароль до сховищаСтарий закритий ключ сховищаОдноразовий парольСлід вказати одне зі значень, group, permission або selfКоманди для одноразового пароляОдноразовий парольОдноразового пароля немаєЄ одноразовий парольМожна використовувати лише одне значенняМожна використовувати лише один тип зони на одну назву зониЗа допомогою вебінтерфейсу можна створювати лише стандартні сховища. Скористайтеся командним інтерфейсом для створення інших типів сховищ.Якщо додається зв’язок довіри AD, значенням --range-type має бути лише ipa-ad-trust або ipa-ad-trust-posix.Операційна система вузла і її версія (наприклад, «Fedora 9»)Операційна системаНевдала спроба виконання дії: %s Помилка під час обробкиДодано параметрГрупа варіантівПараметр rid-base не слід використовувати, якщо типом діапазону IPA є ipa-ad-trust-posixНеобов’язкове піддерево DN, звідки має бути пересунуто запис (має належати до піддерева, але може ще не існувати)Необов’язкове піддерево DN, куди має бути пересунуто запис (має належати до піддерева, але може ще не існувати)Необов’язковий DN, до якого застосовуватимуться дозвіл (має належати до піддерева, але може ще не існувати)ПараметриПараметри «database» і «private_key» є несумісними з «csr»Параметри dom-sid і dom-name не можна використовувати разомПараметри dom-sid і rid-base слід використовувати разомПараметри dom-sid і secondary-rid-base не можна використовувати разомПараметри dom-sid/dom-name і rid-base слід використовувати разомПараметри dom-sid/dom-name і secondary-rid-base не можна використовувати разомПараметри secondary-rid-base і rid-base слід використовувати разомПорядокПорядок у збільшенні пріоритетності користувачів SELinux, відокремлений $ПідрозділУстановаПідрозділ установиПіддерево DN походженняПочатковий TTLІнші типи записівНаш домен не налаштованоНе вистачає пам'яті! Не вистачає пам'яті Не вистачає пам'яті Не вистачає пам'яті!Не вистачає пам'яті! Не вистачає пам'яті!? Файл для зберігання сертифіката передавання данихНазва файла виводуВиводити лише повідомлення про помилкиПеревизначити типовий список підтримуваних типів PAC. Скористайтеся значенням «NONE», щоб вимкнути підтримку PAC для цієї служби.Перевизначити типовий список підтримуваних типів PAC. Скористайтеся значенням «NONE», щоб вимкнути підтримку PAC для цієї служби. Це, наприклад, може бути необхідним для служб NFS.Перевизначити наявний парольПеревизначити успадковані параметриПерезаписати ідентифікатор групиВласникВласник %sГрупи власникаСлужби власникаКористувачі власникаВласникиВласники, записи яких не вдалося додатиВласники, записи яких не вдалося вилучитиТип PACPADPKINITстан PKINITPOSIXНазва вузла PTRЗапис PTRСторінкаНомер пейджераРозмір сторінкиПараметриБатьківська картаОбробити всі записи DNS і повернути дані у структурованій форміПомилка обробкиПарольСповіщення про вичерпання строку дії пароля (у днях)Правила щодо паролівПравила для паролівПароль можна вказувати лише для симетричного сховищаНе можна визначати пароль для вузла з визначеною роллю.Зміну пароля завершеноОбмеження терміну дії пароляРозмір журналу паролівПароль або Пароль+Одноразовий-парольМожливості додатка паролівНе вдалося скинути пароль.Пароль вказано декілька разівПароль для загального керування реєстраційними записамиПаролі не збігаютьсяПаролі не збігаються!Міграцію записів паролів здійснено у форматі до хешування. IPA не вдасться створити ключі Kerberos, якщо не буде надано текстових паролів. Всім користувачам з перенесеними записами, доведеться пройти розпізнавання на https://your.domain/ipa/migration/ до того, як вони зможуть скористатися обліковими записами Kerberos.Паролі мають збігатисяШлях до бази даних NSSШлях до бази даних NSS, яку слід використовувати для закритого ключаШлях до файла PEM, який містить закритий ключШлях до файла закритого ключаШлях до сертифіката CA IPAУмовні правила переспрямування для окремого сервера. Встановіть значення «none» для вимикання переспрямовувача загального рівня для цієї зони. Якщо ви встановите це значення, умовні переспрямовувачі зони не братимуться до уваги.Окремі переспрямовувачі для серверів. Нетиповий порт можна вказати для кожного переспрямовувача за допомогою стандартної конструкції «IP_АДРЕСА port ПОРТ»Умовні правила переспрямування для окремої зони. Встановіть значення «none» для вимикання переспрямовувача загального рівня для цієї зони. Якщо ви встановите це значення, умовні переспрямовувачі зони не братимуться до уваги.Переспрямовувачі для окремої зони. Можна вказати нетиповий порт для кожного переспрямовувача у стандартному форматі: «IP_АДРЕСА port ПОРТ»Проміжок часу, по завершенню якого кількість помилок буде скинуто (у секундах)Проміжок часу, протягом якого діятиме блокування (у секундах)Права доступуACI прав доступу надає доступ доДоступ заборонено: %(file)sПрапорці прав доступуНазва прав доступуПараметри прав доступуТип прав доступуЗначення прав доступуНе можна змінювати чи вилучати права доступу з невідомим прапорцем %sПрава доступуПрава доступу, які слід надати (read, write). Типовими є права доступу write.Права доступу, які слід надати (read, write, add, delete, all)Дозволені типи шифруванняДозволено мати випущений сертифікатПеревірити луна-імпульсом (пінгом) віддалений сервер.ПлатформаБудь ласка, виберіть тип запису ресурсу DNS, який слід додатиБудь ласка, вкажіть переспрямовувачі.Будь ласка, спробуйте такі параметри:ПравилаПортПозиційний аргументОбов’язкові аргументиДля роботи з цією службою потрібне попереднє розпізнаванняПопередньо оприлюднений парольСтандартний профіль «%(profile_id)s» не може бути вилученоПріоритетПріоритет цього обмінника. Записи з меншим значенням мають вищий пріоритет.Бажана моваПрефікс, за яким визначається тип ACI (permission, delegation, selfservice, none)Зарезервований користувачЗарезервовані користувачіНазадГоловна основа RIDОсновний діапазон RID і вторинний діапазон RID не повинні перекриватисяЛише первинний ключРеєстраційний записНе вдалося виконати розпізнавання для реєстраційного запису %(principal)s: %(message)sРеєстраційному запису «%(principal)s» не дозволено використовувати службу сертифікації «%(ca)s» із профілем «%(profile_id)s» для видання сертифікатів.Реєстраційний запис «%s» у альтернативній назві об’єкта не відповідає запитаному реєстраційному записуПсевдонім реєстраційного записуРеєстраційний запис для цього сертифіката (наприклад HTTP/test.example.com)Реєстраційний запис вказано у формі, відмінній від користувач@ОБЛАСТЬ: «%(principal)s»Назва реєстраційного записуВиводити мінімум данихВивести діагностичні даніВивести записи у формі, у якій вони зберігаються на сервері. Стосується лише формату виведення даних.Вивести дані XML-RPC без обробки у режимі GSSAPIПріоритетПріоритетність (порядок)Пріоритет правил (більше число — нижчий пріоритет)Пріоритет правила (більше число — нижчий пріоритет)Закритий ключ вказано декілька разівПривілейПараметри привілеївПривілей відкликаноОпис привілеюНазва привілеюПривілеїПрофільІд. профілюІдентифікатор профілю, «%(cli_value)s», не збігається із вказаним у даних профілю, «%(file_value)s»Ідентифікатор профілю для посилання на цей профільКатегорія профілівКатегорія профілів, до якої застосовується ACLНалаштування профілюНалаштування профілів збережено до файла «%(file)s»Опис профілюПрофіліЗапит щодо імені користувачаЗапитувати ім’я користувача, якщо із сертифікатом пов’язано декілька профілівНадіслати запит щодо встановлення пароля користувачаОчікуванийПротоколПередбаченняВідкритий ключВідкритий ключВідкритий ключ можна вказувати лише для асиметричного сховищаВідкритий ключ вказано декілька разівВідкритий ключ:QR code width is greater than that of the output tty. Please resize your terminal.КількістьНадіслати запити щодо поточного рівня домену.За запитом повернуто більше за налаштоване максимальне значення результатів. Показано лише перші ${counter} результатів.Швидкі посилання«Мовчазний» режим. Буде показано лише повідомлення про помилки.RADIUSПараметри проксі-сервера RADIUSСервер RADIUSСервери RADIUSНалаштування проксі RADIUSПроксі-сервер RADIUSНазва проксі-сервера RADIUSПроксі-сервер RADIUS із назвою «%s» вже існуєПроксі-сервери RADIUSІм’я користувача проксі-сервера RADIUSВхід до програмного інтерфейсу REST не виконано.ВІДКЛИКАНООбласть Kerberos, сумісна з RFC4120RFC822Name не збігається зі жодною адресою електронної пошти користувачаЗапис RPКоманда RPC, яка використовується для завершення сеансу поточного користувача.Алгоритм RRSIGМітка ключа RRSIGМітки RRSIGПочатковий TTL RRSIGПідпис RRSIGСтрок дії підпису RRSIGПочаток підпису RRSIGІм’я підписника RRSIGОб’єднувані типи RRSIGЗапис RRSIGВипадковий парольПараметри діапазонуНазва діапазонуРозмір діапазонуТип діапазонуНеоброблені записи %sПрості записи AПрості записи A6Прості записи AAAAПрості записи AFSDBПрості записи APLПрості записи CERTПрості записи CNAMEПрості записи DHCIDПрості записи DLVПрості записи DNAMEПрості записи DNSKEYПрості записи DSПрості записи HIPПрості записи IPSECKEYПрості записи KEYПрості записи KXПрості записи LOCПрості записи MXПрості записи NAPTRПрості записи NSПрості записи NSECПрості записи NSEC3Прості записи PTRПрості записи RPПрості записи RRSIGПрості записи SIGПрості записи SPFПрості записи SRVПрості записи SSHFPПрості записи TAПрості записи TKEYПрості записи TLSAПрості записи TSIGПрості записи TXTФільтр призначення без обробкиНеоброблене значення для запису DNS вже було встановлено за допомогою параметра «%(name)s»Відновлено довіру до домену «%(value)s»Повторно синхронізувати локальний кеш іменування із сервером іменування.Домени областіМає бути вказано пароль адміністратора областіДомени областіНазва областіНевідповідність між областю і доменомПідставаПричина відкликанняПричина відкликання сертифіката (0-10)Причина відкликання сертифіката (0-10). Введіть «ipa help cert», щоб ознайомитися із подробицями причин відкликання. Повторне збирання правил автоматичної участіПовторне збирання правил автоматичної участі.Повторне збирання правил участі для усіх учасників угрупуванняПовторне збирання правил участі для вказаних вузлівПовторне збирання правил участі для вказаних користувачівПеревищено рекомендовану максимальну кількість узгоджень на реплікуТип записуСпроба створення запису зазнала невдачі.Дані записуНазва записуЗапис не знайдено.Тип записуЗаписиЗаписи зони DNSПереспрямуванняПереспрямовування на запис PTRОновитиОсвіжити список доменів, пов’язаних з правилом довіриОновити сторінку.Зареєструватися у системі іменування.Пароль для реєстраціїФормальний виразНазва відносного запису «%(record)s» містить як суфікс назву зони «%(zone)s», що дає повну назву домену «%(fqdn)s». Зазвичай, такі назви є помилковими, спричиненими пропущеною крапкою наприкінці специфікації назви.Відносна вага для записів із однаковою пріоритетністю.Відносна вага служб для сервера (обчислюється для окремого місця)Перезавантажити поточні параметри з сервера.Перезавантажити переглядач.Назва вузла віддаленого сервера IPAНазва віддаленого сервераВилучити ${entity}Вилучити ${entity} ${primary_key} з ${other_entity}Вилучити ${other_entity}, керування ${entity} ${primary_key}Вилучити ${other_entity} з ${entity} ${primary_key}Вилучити записи A, AAAA, SSHFP і PTR вузлів, керованих DNS IPAВилучити дозвіл ${other_entity} з ${entity} ${primary_key}Вилучити CA з ACL CA.Вилучити затримання сертифікатаВилучити затримання сертифіката для ${primary_key} ${entity}Вилучити дані прив’язки до сертифікатівВилучити заборону ${other_entity} з ${entity} ${primary_key}Вилучити затриманняВилучити псевдонім KerberosВилучити права доступуВилучити ${other_entity} запуску від імені з ${entity} ${primary_key}Вилучити групи запуску від імені з ${entity} ${primary_key}Вилучити керування із запису користувача етапуВилучити керування із запису користувачаВилучити права доступу до делегування доступу для окремих зон переспрямовування.Вилучити права доступу до надання доступу до окремих зон.Вилучити всі реєстраційні записи у цій областіВилучити пункт з правила sudo.Вилучити сертифікати із запису службиВилучити сертифікати із запису вузлаВилучити команди і групи команд sudo, яких стосується правило sudo.Вилучити умови з правила автоматичної участі.Вилучити типову (резервну) групу для невідповідних записів.Вилучити записи з DNSВилучити з CRLВилучити групу виконання з запису sudo.Вилучити затриманняВилучити вузли та групи вузлів, яких стосується правило sudo.Вилучити записи вузлів, які можуть керувати цим вузлом.Вилучити вузли, які можуть керувати цією службою.Вилучити дані щодо домену, пов’язаного з цим правилом довіри.Вилучити запис учасника із іменованого правила делегування служб.Вилучити запис учасника із іменованого призначення делегування служб.Вилучити запис із делегування іменованої служби.Вилучити учасників з групи команд sudo.Вилучити учасників з групи.Вилучити записи з групи вузлів.Вилучити учасників з мережевої групи.Вилучити учасників із запису права доступу.Вилучити учасників з запису привілеївВилучити учасників з запису ролі.Вилучити записи учасників сховища.Вилучити учасників з групи служб HBAC.Вилучити одну або декілька прив’язок сертифікатів із запису користувача етапу.Вилучити одну або декілька прив’язок сертифікатів із запису користувача.Вилучити один або декілька сертифікатів запису idoverrideuserВилучити один або декілька сертифікатів запису користувача етапуВилучити один або декілька сертифікатів запису користувачаВилучити записи власників із контейнера сховища.Вилучити записи власників сховища.Вилучити права доступу з привілею.Вилучити псевдонім реєстраційного запису із запису вузлаВилучити альтернативну назву реєстраційного запису зі службиВилучити псевдонім реєстраційного запису із запису користувача етапуВилучити псевдонім реєстраційного запису із запису користувачаВилучити привілеї з запису ролі.Вилучити профілі із CA ACL.Вилучити служби та групи служб з правила HBAC.Вилучити служби з CA ACL.Вилучити вузли джерела та групи вузлів з правила HBAC.Вилучити ціль із іменованого правила делегування служб.Вилучити вузли призначення та групи вузлів з CA ACL.Вилучити вузли призначення та групи вузлів з правила HBAC.Вилучити вузли призначення та групи вузлів з правила карти користувачів SELinux.Вилучити записи користувачів та груп, яких стосується правило sudo.Вилучити користувачів та групи для виконання команд sudo від їхнього імені.Вилучити користувачів або групи з CA ACL.Вилучити користувачів і групи з правила HBAC.Вилучити користувачів і групи з правила карти користувачів SELinux.Вилучити записи користувачів, які можуть керувати цим жетоном.Вилучити псевдоніми із запису вузла «%(value)s»Вилучено псевдоніми із запису користувача етапу «%(value)s»Вилучити псевдоніми із запису користувача «%(value)s»Вилучено псевдоніми реєстраційного запису служби «%(value)s»Вилучено прив’язки сертифікатів до запису користувача «%(value)s»Вилучено сертифікати із запису вузла «%(value)s»Вилучено сертифікати із запису idoverrideuser «%(value)s»Вилучено сертифікати із реєстраційного запису служби «%(value)s»Вилучено сертифікати із запису користувача етапу «%(value)s»Вилучено сертифікати із запису користувача «%(value)s»Вилучено умови з «%(value)s»Вилучити типову (резервну) групу для автоматичної участі «%(value)s»Дані щодо довіреного домену «%(value)s» вилученоЗ правила sudo «%(rule)s» вилучено параметр «%(option)s»Вилучено системні права доступу «%(value)s»Вилучаємо %(servers)s з топології реплікації, будь ласка, зачекайте…Вилучення реєстраційного запису %s ПерейменуватиПерейменувати запис ACI.Перейменувати об’єкт %(ldap_obj_name)sПерейменувати об’єкт запису ресурсу DNSПерейменувати об’єкт перевизначення ідентифікатора групиПерейменувати об’єкт перегляду ідентифікатораПерейменувати об’єкт жетона OTPПерейменувати об’єкт проксі-сервера RADIUSПерейменувати об’єкт перевизначення ідентифікатора користувачаПерейменувати об’єкт ключа автоматичного монтуванняПерейменувати об’єкт групиПерейменувати об’єкт права доступуПерейменувати об’єкт привілеївПерейменувати об’єкт роліПерейменувати об’єкт користувача етапуПерейменувати об’єкт користувачаACI перейменовано на «%(value)s»Основний сервер відновлення для центру сертифікації IPAЗамінаРепліка є активним основним сервером ключів DNSSEC. Вилучення може зашкодити вашій системі DNS. Будь ласка, спочатку вимкніть або замініть основний сервер ключів DNSSEC.Увімкнено угоду щодо реплікаціїНалаштування реплікаціїОновлення реплікації для сегмента: надіслано запит щодо «%(pkey)s».Топологія реплікації суфікса «%(suffix)s» містить помилки.Топологія реплікації суфікса «%(suffix)s» у порядку.Звіт щодо стану PKINIT на основних елементах IPAНадіслати запит щодо повної повторної ініціалізації вузла, щоб отримує дані з іншого вузла.Помилка під час виконання запиту, стан %(status)s: %(reason)sІд. запитуУ запиті не вказано метод ("method")У запиті не вказано параметри ("params")Запит має належати до типу словника (dict)Стан запитуОбов’язковеУ обов’язковому правилі створення CSR, %(name)s, не вистачає данихОбов’язкове полеВимагає попереднього розпізнаванняСкинутиВідновити типові правила квитків Kerberos.Скинути ОПСкинути одноразовий парольСкинути парольСкинути пароль і увійтиСкинути ваш пароль.Визначити назву вузла у DNS.Визначити назву вузла у DNS. (Застаріле)Визначати ідентифікатори безпеки користувачів та груп у довірених доменахВідповідь від CA не була коректним кодом JSONВідновитиРезультатРезультат імітаціїРезультат виконання командиСписок результатів обрізано. Спробуйте точніше визначити критерії пошуку.Результати мають містити лише атрибут основного ключа («%s»)Результати мають містити лише атрибут основного ключа («anchor»)Результати мають містити лише атрибут основного ключа («сертифікат»)Результати мають містити лише атрибут основного ключа («cn»)Результати мають містити лише атрибут основного ключа («command»)Результати мають містити лише атрибут основного ключа («delegation-name»)Результати мають містити лише атрибут основного ключа («domain»)Результати мають містити лише атрибут основного ключа («group»)Результати мають містити лише атрибут основного ключа («group-name»)Результати мають містити лише атрибут основного ключа («hostgroup-name»)Результати мають містити лише атрибут основного ключа («hostname»)Результати мають містити лише атрибут основного ключа («id»)Результати мають містити лише атрибут основного ключа («location»)Результати мають містити лише атрибут основного ключа («login»)Результати мають містити лише атрибут основного ключа («map»)Результати мають містити лише атрибут основного ключа («name»)Результати мають містити лише атрибут основного ключа («principal»)Результати мають містити лише атрибут основного ключа («realm»)Результати мають містити лише атрибут основного ключа («service»)Результати мають містити лише атрибут основного ключа («suydocmdgroup-name»)Результати мають містити лише атрибут основного ключа («sudorule-name»)Кількість спробОтримати дані зі сховища.Отримати вже створений сертифікат.Отримати і вивести всі атрибути з сервера. Стосується лише виводу команд.Отримувати поточні ключі без внесення до них змінОтримати сертифікати іменування.Отримано дані зі сховища «%(value)s»Спроба отримання ланцюжка сертифікації CA зазнала невдачі: %sСпроба отримання стану CA зазнала невдачі, стан %dСпроба отримання даних щодо стану служби сертифікації зазнала невдачі: %sПовторитиПовторюємо спробу з використанням способу отримання сховища ключів, який використовувався до версії 4.0… Повернутися до головної сторінки і повторити спробуЗворотний запис для IP-адреси %(ip)s вже існує у зворотній зоні %(zone)s.Зворотна зона %(name)s потребує точно %(count)d компонентів IP-адрес, надано %(user_count)dМережа IP зворотної зониЗворотна зона для запису PTR має бути підзоною одного з таких повноформатних доменів: %sПовернутиПричина відкликанняВідкликатиВідкликати сертифікатВідкликати сертифікат для ${primary_key} ${entity}Відкликати сертифікат.АнульованийВідкликано зВідкликано з цієї дати (РРРР-мм-дд)Відкликано доВідкликано до цієї дати (РРРР-мм-дд)Правий вузолПравий вузол реплікації — сервер IPAПраваПрава доступу, які слід надати (read, search, compare, write, add, delete, all)РольПараметри ролейНазва роліСтан роліКерування доступом на основі ролейРоліКореневий домен правила довіри для наявного правила довіри завжди увімкненоНазва правилаСтан правилаТип правилаТип правила (allow)Правило, яке використовується для визначення того, чи придатний сертифікат для розпізнаванняПравило, яке використовується для прив’язування сертифіката до запису користувачаПравилаПравила для перевірки. Якщо не вказано, вважається, що використано --enabled.Виконання командЗапустити тест…Запуск від користувачаЗапускати від імені будь-якого користувача вказаної групиЗапускати з ідентифікатором вказаної групи POSIXЗовнішня група для RunAsЗовнішній користувач для RunAsКатегорія запуску від імені групиКатегорія запуску від імені групи, до якої застосовується правилоГрупи запуску від іменіКатегорія запуску від імені користувачівКатегорія запуску від імені користувачів, до якої застосовується правилоКористувачі запуску від іменіНазва групи «%(name)s» є неприйнятною для RunAsGroupНазва групи «%(name)s» є неприйнятною для RunAsUserНе можна вказувати «%(name)s» як ім’я користувача у записі RunAsUserПараметри SELinuxКористувач SELinuxКарта користувачів SELinuxПравило карти користувачів SELinuxПравила карти користувачів SELinuxКарти користувачів SELinuxЗапису користувача SELinux %(user)s не виявлено у порядковому списку (у налаштуваннях)Користувач SELinux «%(user)s» є некоректним: %(error)sТипового користувача типової карти користувачів SELinux немає у порядковому спискуСписку карт користувачів SELinux у налаштуваннях не виявленоПорядок карт користувачів SELinuxВідбиток SHA1Відбиток SHA256SIDЧорний список вхідних SIDЧорний список вихідних SIDЧорні списки SIDSID не відповідає жодному з довірених доменівSID не збігається точно з будь-яким з SID довірених доменівНе вдалося знайти SID для вказаного довіреного домену. Будь ласка, вкажіть SID безпосередньо за допомогою параметра dom-sid.SID не розпізнано як чинний SID для довіреного доменуSID не є чиннимАлгоритм SIGМітка ключа SIGМітки SIGПочатковий TTL SIGПідпис SIGСтрок дії підпису SIGПочаток підпису SIGІм’я підписника SIGОб’єднувані типи SIGЗапис SIGКлас SOAЗастарівання SOAМінімальний SOAПеревизначити mname SOA (довірений сервер)Перевизначення mname SOAКлас записів SOAЧас завершення строку дії запису SOAЧас оновлення запису SOAПроміжок між повторними спробами для запису SOAСерійний номер запису SOAСтрок дії запису SOAОсвіження SOAПовторення спроби SOAСерійний номер SOAСтрок дії SOAЗапис SPFПорт SRVПріоритетність SRVЦіль SRVВага SRVЗапис SRVВідкритий ключ SSHВідбиток відкритого ключа SSHВідкритий ключ SSH:Відкриті ключі SSHАлгоритм SSHFPВідбиток SSHFPТип відбитка SSHFPЗапис SSHFPSSSD не вдалося визначити за об’єктом коректний SIDСільТе саме, що і --%sЗберегтиСхема не потребує оновлення (Відбиток «%(fingerprint)s», TTL %(ttl)s с)ПошукПараметри пошукуШукати параметри команди.Шукати довірені домениШукати %(searched_object)s у цих %(relationship)s %(ldap_object)s.Шукати %(searched_object)s не у цих %(relationship)s %(ldap_object)s.Спроба пошуку %1$s у rootdse завершилася невдало з повідомленням про помилку %2$d Шукати CA ACL.Шукати CA.Шукати правила прив’язування сертифікатів до профілів.Шукати профілі сертифікатів.Пошук зон переспрямовування DNS.Шукати ресурси DNS.Шукати сервери DNS.Пошук зон DNS (записів SOA).Шукати правила HBAC.Шукати служби HBAC.Шукати місця IPA.Спроба пошуку namingContext IPA завершилася помилкою %d Шукати сервери IPA.Знайти служби IPA.Шукати жетон OTP.Шукати проксі-сервери RADIUS.Шукати карти користувачів SELinux.Шукати групи команд sudo.Знайти команди sudo.Знайти правило sudo.Шукати мережеву групу.Шукати права доступу автослужби.Шукати перевизначення ідентифікаторів групи.Шукати групу служб HBAC.Шукати перегляд ідентифікаторів.Шукати перевизначення ідентифікатора.Шукати перевизначення ідентифікатора користувача.Виконати пошук ключа автоматичного монтування.Шукати запис автоматичного монтування.Виконати пошук карти автоматичного монтування.Шукати правила автоматичної участі.Шукати сертифікати із вказаними %s власника.Шукати сертифікати, власником яких не є %s.Шукати класи.Шукати за даними, які виводить команда.Шукати команди.Пошук уповноважень.Шукати облікові записи іменування.Шукати наявні сертифікати.Шукати лише прямі зониЗнайти групу правил для паролів.Шукати групи із вказаними групами-учасниками.Шукати групи із цими правилами HBAC участі.Шукати групи із вказаними групами участі.Шукати групи із вказаними мережевими групами участі.Шукати групи із вказаними ролями участі.Шукати групи із цими правилами sudo участі.Шукати групи із вказаними користувачами-учасниками.Шукати групи без вказаних груп-учасників.Шукати групи без цих правил HBAC участі.Шукати групи без вказаних груп участі.Шукати групи без вказаних мережевих груп участі.Шукати групи без вказаних ролей участі.Шукати групи без цих правил sudo участі.Шукати групи без вказаних користувачів-учасників.Шукати групи.Шукати у темах довідки.Шукати групи вузлів із цими групами вузлів-учасників.Шукати групи вузлів із цими вузлами-учасниками.Шукати групи вузлів із цими правилами HBAC участі.Шукати групи вузлів із цими групами вузлів участі.Шукати групи вузлів із вказаними мережевими групами участі.Шукати групи вузлів із цим учасником правил sudo.Шукати групи вузлів без цих груп вузлів-учасників.Шукати групи вузлів без цих вузлів-учасників.Шукати групи вузлів без цього учасника правил HBAC.Шукати групи вузлів без цих груп вузлів участі.Шукати групи вузлів без вказаних мережевих груп учасників.Шукати групи вузлів без вказаних учасників правил sudo.Шукати групи вузлів.Шукати вузли з цими користувачами, якими надано ролі.Шукати вузли із цими керованими вузлами.Шукати вузли із цими керівними вузлами.Шукати вузли із цими правилами HBAC участі.Шукати вузли із вказаними групами вузлів участі.Шукати вузли із вказаними мережевими групами участі.Шукати вузли із вказаними ролями участі.Шукати вузли із цими правилами sudo участі.Шукати вузли без цих користувачів, якими надано ролі.Шукати вузли без цих керованих вузлів.Шукати вузли без цих керівних вузлів.Шукати вузли без цих правил HBAC участі.Шукати вузли без вказаних груп вузлів участі.Шукати вузли без вказаних мережевих груп участі.Шукати вузли без вказаних ролей участі.Шукати вузли без цих правил sudo участі.Шукати вузли.Спроба пошуку ipaCertificateSubjectBase завершилася невдало з повідомлення про помилку %dШукати мережеві групи із вказаними групами-учасниками.Шукати мережеві групи із вказаними групами вузлів-учасниками.Шукати мережеві групи з цими вузлами-учасниками.Шукати мережеві групи з цими мережевими групами-учасниками.Шукати мережеві групи з цими мережевими групами участі.Шукати мережеві групи з цими користувачами-учасниками.Шукати мережеві групи без цих груп-учасників.Шукати мережеві групи без цих груп вузлів-учасників.Шукати мережеві групи без цих вузлів-учасників.Шукати мережеві групи без цих мережевих груп-учасників.Шукати мережеві групи без цих мережевих груп участі.Шукати мережеві групи без цих користувачів-учасників.Знайти права доступу.Знайти привілеї.Шукати діапазони.Знайти ролі.Шукати сервери із цими керованими суфіксами.Шукати сервери без цих керованих суфіксів.Шукати ціль делегування службШукати правило делегування служб.Шукати служби із цими керованими вузлами.Шукати служби без цих керованих вузлів.Шукати користувачів етапу із цими правилами HBAC участі.Шукати користувачів етапу із вказаними групами участі.Шукати користувачів етапу із вказаними мережевими групами участі.Шукати користувачів етапу із вказаними ролями участі.Шукати користувачів етапу із цими правилами sudo участі.Шукати користувачів етапу без цих правил HBAC участі.Шукати користувачів етапу без вказаних груп участі.Шукати користувачів етапу без вказаних мережевих груп участі.Шукати користувачів етапу без вказаних ролей участі.Шукати користувачів етапу без цих правил sudo участі.Шукати записи користувачів етапу.Шукати сегменти топології.Шукати суфікси топології.Шукати суфікси топології.Шукати записи довіри.Шукати користувачів із цими правилами HBAC участі.Шукати користувачів з вказаними групами участі.Шукати користувачів із вказаними мережевими групами участі.Шукати користувачів із вказаними ролями участі.Шукати користувачів із цими правилами sudo участі.Шукати користувачів без цих правил HBAC участі.Шукати користувачів без вказаних груп участі.Шукати користувачів без вказаних мережевих груп участі.Шукати користувачів без вказаних ролей участі.Шукати користувачів без цих правил sudo участі.Шукати користувачів.Шукати сховища.Результат пошуку обрізано: %(reason)sОбласть пошукуОбмеження розміру пошукуОбмеження часу пошукуДругий кодДругий OTPВторинна основа RIDСекунди широтиСекунди довготиКлючРеєстраційні дані можна додавати до сховища або отримувати з нього лише за допомогою інструментів командного рядка vault-archive і vault-retrieve.Ідентифікатор безпекиІдентифікатори безпеки (SID)Подробиці сегментаНазва сегментаВибрати всеВиберіть записи, які слід вилучити.СелекторSelfПрава доступу автослужбиПрава доступу до самообслуговуванняНазва самообслуговуванняСемантику %(label)s було змінено. %(current_behavior)s %(hint)sСписок відокремлених крапкою з комою записів IP-адрес або мереж, яким надано доступ до надсилання запитівСписок відокремлених крапкою з комою записів IP-адрес або мереж, яким надано доступ до перенесення зониЗ врахуваннямСерійний номерСерійний номерСерійний номер (шістнадцятковий)Серійний номерСерійний номер (шістнадцятковий)Серійний десятковий номер або шістнадцятковий номер з префіксом 0xСерверСервер «%(srv)s» має %(n)d узгоджень із такими серверами:Сервер %(srv)s не може встановити зв’язок із серверами: %(replicas)sНазва сервераРоль сервераРолі сервераЗапис сервера вже вилученоНа сервері немає інформації щодо домену «%(domain)s»Місце сервераНазва сервераНе надано назви сервера, сервер недоступний Вилучення сервера перервано: %(reason)s.Сервер перевірятиме засоби переспрямовування DNS.СервериПараметри сервера:Сервери у місціСервери, що належать до запису місця IPAСлужбаДля застосування змін у налаштуваннях службу %(service)s на сервері IPA %(server)s слід перезапустити.У базі даних Kerberos не виявлено служби «%(service)s»Сертифікат службиГрупи службПараметри службиПараметри службиСховища службКатегорія службКатегорія служб, до якої застосовується ACLКатегорія служб, до якої застосовується правилоПравило делегування службПравила делегування службЦіль делегування службПризначення делегування службНазва групи службНазва службиНазва служби сховища службиРеєстраційний запис службиАльтернативна назва реєстраційного запису службиРеєстраційний запис служби для цього сертифіката (наприклад HTTP/test.example.com)Реєстраційний запис служби вказано у формі, відмінній від: служба/повна назва вузла: %(reason)sСлід вказати реєстраційний запис службиВідносна вага службСлужбу не передбаченоВага службПараметри служби, спільного використання та користувача не можна вказувати одночасноПараметри служби, спільного використання та користувача не можна вказувати одночасноПараметри служби, спільного використання та користувача не можна вказувати одночасноСлужбиПомилка сеансуКлюч сеансу, пов’язаний із сертифікатом передаванняЧас очікування сеансуВстановитиВстановити рівень доменуОдноразовий парольВстановити одноразовий парольВстановити ключ SSHВстановити пароль користувача.Встановити атрибут для пари назва/значення. Формат: атрибут=значення. Для атрибутів з багатьма значенням команда замінює вже вказані значення.Встановити типову (резервну) групу для невідповідних записів.Встановити типову (резервну) групу для автоматичної участі «%(value)s»Встановити відкритий ключПараметриСпільнеСпільні сховищаОприлюднений ключ для довіриСховище спільного використанняПоказатиПоказати сервер IPA.Показати QR-кодПоказати результатиПоказати список завантажених додатків.Показати адресу налаштуваньПоказати подробиціПоказати змінні середовища.Показати налаштування довіри на загальному рівні.Показати керований суфікс.Показати стан ролі на серверіПоказати поточні налаштування прив’язки сертифікатів до профілів.Показати поточні налаштування OTP.Показати поточні налаштування.Показати поточні загальні налаштування DNS.Показати список дозволених типів шифрування і завершити роботуПоказати налаштування сховища.Показати або встановити ключПоказано записи від ${start} до ${end} з ${total} записів.ПідписСтрок дії підписуПочаток підписуІм’я підписникаНевдала спроба простого прив’язування Імітувати використання керування доступом на основі вузлівОскільки IPA не керує записами DNS, слід налаштувати DNS так, щоб система визначала адресу домену «{domain}» за даними щодо вузлів IPA, і навпаки.РозмірОбмеження розміруОб’єм даних перевищує обмеження. Поточне обмеження об’єму сховища — %(limit)d БРозмір діапазону ідентифікаторів, зарезервованого для довіреного доменуПропустити перевірку DNSПропустити перевірку того, чи вилучено останній основний сервер CA або сервер DNSПропустити перевірку перекриттяПропущено %(key)sПропущено %(map)sДеякі з записів не вилученоДеякі з дій не вдалося виконати.Групи вузлів-джерелВузли-джерелаВузол джерелаКатегорія вузлів-джерелКатегорія вузлів-джерел, якої має стосуватися правилоВказані CAВказані команди і групиВказані групиВказані вузли і групиВказані профіліВказані служби і групиВказані користувачі і групиВизначає, де слід зберігати дані таблиці ключів.Вкажіть зовнішній ${entity}ЕтапКористувач етапуКористувачі етапуАктивовано користувача етапу %sКористувачі етапуОбліковий запис користувача етапу «%(value)s»СтандартнеСтандартні типи записівОбласть/провінціяСтанСтан роліЗупинити вже почате оновлення вибраних вузлівЗупиняємо реплікацію для сегмента: надіслано запит щодо «%(pkey)s».Зберігати видані сертифікатиВулиця і будинокСтруктурованаОб’єктDN призначенняDN призначення вже використано CA «%s»Назва DNS призначенняУнікальна назва призначенняНазва EDI Party призначенняIP-адреса призначенняНазва реєстраційного запису Kerberos призначенняOID призначенняІнша назва призначенняДані щодо відкритого ключа суб’єктаUPN призначенняАдреса призначенняАдреса X.400 призначенняВикористання типу альтернативної назви об’єкта %s забороненоНазва каталогу призначенняАдреса електронної пошти призначенняПризначення сертифікатаНадіслати запит щодо підписування сертифіката.ПіддеревоПіддерево, до якого слід застосувати ACIПіддерево, до якого буде застосовано права доступуПідтипУспіхSudoГрупи дозволених команд sudoДозволені команди sudoКоманда sudoГрупа команд sudoГрупи команд sudoКоманди sudoГрупи заборонених команд sudoЗаборонені команди sudoПункт sudoПравило sudoПравила SudoПорядок sudoНазва суфіксаЗаміненоПідтримувані типи шифрування: Придушити обробку атрибутів участі.СиметричнийСинхронізувати жетон OTPСинхронізувати жетон OTP.Синтаксична помилка: %(error)sОновлено записи DNS системиКодуванням системи має бути UTF-8, підтримки «%(encoding)s» не передбачено. Встановіть такі значення змінних середовища: LC_ALL="C.UTF-8" або LC_ALL="" і LC_CTYPE="C.UTF-8".Запис TAЗапис TKEYДані прив’язки сертифікатів TLSAВикористання сертифіката TLSAВідповідний тип TLSAСелектор TLSAЗапис TLSAВікно синхронізації TOTPВікно розпізнавання TOTPВідхилення часу розпізнавання TOTP (у секундах)Відхилення часу синхронізації TOTP (у секундах)Часова розбіжність між ключем TOTP і сервером FreeIPAЗапис TSIGТекстові дані TXTЗапис TXTЗабрати відкликаний сертифікат.ЦільDN призначенняПіддерево DN призначенняУніверсальний ідентифікатор ресурсу призначенняУніверсальний ідентифікатор ресурсу призначення відповідно до RFC 3986Цільова групаВузол призначенняЦільові учасники групиЦільові учасники групи (встановлює фільтр призначення memberOf)Не знайдено зворотної зони призначення.Виконати над власним записом (self)DN завданняDN завдання = «%s»Номер телефонуПомилка шаблона під час форматування даних сертифікатаПеревірити синтаксис ACI, але не виконувати записуТекстові даніТекст не відповідає шаблону поляПараметр --domain не можна використовувати разом із параметрами --add-domain і --del-domain. Скористайтеся параметром --domain для визначення усього списку доменів області явним чином. Щоб додати або вилучити окремі домени, скористайтеся параметрами --add-domain/del-domain.ACI для прав доступу %(name)s у %(dn)s не знайдено Область IPAНе вдалося створити запис TXT _kerberos з домену %(domain)s (%(error)s). Причиною може бути те, що зона не є керованою IPA. Будь ласка, створіть запис вручну так, щоб він містив таке значення: «%(realm)s»Не вдалося вилучити запис TXT _kerberos з домену %(domain)s (%(error)s). Причиною може бути те, що зона не є керованою IPA. Будь ласка, вилучіть запис вручну.Ключа автоматичного монтування %(key)s з інформацією %(info)s не існуєНе можна використовувати символ %(char)r.Не можна вилучати типову групу користувачівТип «deny» вважається застарілим.Домен %s не є ні доменом IPA, ні довіреним доменом.Доменна назва вузла призначення або '.', якщо служба є явно недоступною на цьому доменіВказані нижче домени не належать до цієї області: %(domains)sТакої групи не існуєНе існує вузла «%s», до якого слід було додати службу.Назву вузла слід вказувати повністю: %s Назва вузла не повинна бути такою: %s Назва вузла або IP-адреса (з портом або без порту)Назва вузла, на яку вказує цей зворотний записНазва вузла для реєстраціїПара ключ,інформація має бути унікальною. Ключ з назвою %(key)s та інформацією %(info)s вже існує.Файл таблиці ключів, звідки слід вилучити реєстраційні записиНайпоширенішими типами для цього типу зон є: %s Кількість спроб пройти розпізнаванняВами введено помилкове ім’я користувача або пароль.Значення primary_key (основного ключа) запису, наприклад, «iivanenko» для користувачаРеєстраційного запису для цього запиту не існує.Реєстраційний запис, для якого слід отримати таблицю ключів (приклад: ftp/ftp.example.com@EXAMPLE.COM)Реєстраційні записи, які слід вилучити із таблиці ключів (приклад: ftp/ftp.example.com@EXAMPLE.COM)Область дії реєстраційного запису не збігається з областю цього сервера IPAНе вдалося виявити область таких доменів: %(domains)s. Якщо ці домени належать до цієї області, будь ласка, створіть запис TXT _kerberos, що міститиме «%(realm)s», на кожному з них.Схема, використана на сервері LDAP. Підтримувані значення: RFC2307 і RFC2307bis. Типове значення: RFC2307bisКритерій пошуку не був достатньо точним. Мало бути вказано один критерій, виявлено — %(found)d.Ключ, який використовується для шифрування данихСлужбі дозволено проходити розпізнавання від імені клієнтаРеєстраційного запису служби для альтернативної назви об’єкта %s запиту щодо сертифіката не існуєНазва теми або команди.Загальний час очікування за усіма спробами (у секундах)Атрибут імені користувача об’єкта користувачаІм’я користувача, пароль або коди жетона є помилковимиВідносини довіри із {ipa_domain} вже встановлено із непідтримуваним типом {trust_type}. Будь ласка, вилучте запис цих відносин вручну на боці AD DC.Цією командою не можна скористатися для зміни розподілу ідентифікаторів для локального домену IPA. Щоб дізнатися більше, скористайтеся командою «ipa help idrange».Для виконання цієї команди має існувати група «editors», але групи з такою назвою не знайдено.Для виконання цієї команди потрібні права доступу користувача rootЦей запис вже існуєЦей запис не можна вмикати або вимикатиЦей запис вже є серед учасниківЦей запис вже вимкненоЦей запис вже увімкненоЦього запису немає серед учасниківУ цій групі вже дозволено зовнішніх учасниківЦя група не може належати до груп POSIX, оскільки є зовнішньоюВже є posix-групоюЦя група вже належить до груп POSIX, отже її не можна перетворити на зовнішнюЦе доволі тривала дія. Будь ласка, зачекайте…На цій сторінці виявлено незбережені зміни. Будь ласка, збережіть зміни або скасуйте їх.Цей реєстраційний запис потрібен основному серверу IPAСплив строк дії квиткаНе вдалося прочитати правила щодо квитків для %sОбмеження часуОбмеження часу пошуку у секундахОбмеження часу пошуку у секундах (0 — без обмежень)Поточний часСтрок діїЧас життя записів у апексі зониЧас життя записів без явного визначення TTLНа основі часу (TOTP)Час очікуванняПеревищено обмеження за часом.Для встановлення довіри з Active Directory назва домену і назва області сервера IPA мають збігатисяЩоб отримати довідку щодо команди, скористайтеся такою командою:Ідентифікатор жетонаОпис ключа (лише інформаційний)Алгоритм хешування ключаМодель ключа (лише інформація)Пароль ключа (Base32; типове значення: випадковий)Серійний номер ключа (лише інформація)Спроба синхронізації жетонів зазнала невдачіНазва виробника ключа (лише інформація)Жетон синхронізованоКоманди теми:Тема або командаТопологіяСегмент топологіїСегменти топологіїТопологія не дозволяє серверу %(server)s виконувати реплікацію із серверами:Топологію від’єднаноКерування топологією потребує мінімального рівня домену {0} Суфікс топологіїСуфікси топологіїКількість змінних env (>= count)Сертифікат передаванняТакTrue, якщо повернуто було всі результатиTrue означає, що дію було виконано успішноДовіраПараметри довіриНапрямок довіриНалаштування довіриСтан довіриТип довіриТип довіри (типовим для Active Directory є ad)Довірений доменДо доменів області IPA включено домен %(domain)s. Перш ніж встановлювати довіру, це включення слід усунути. Див. команду «ipa realmdomains-mod --del-domain».Довіреним доменом і обліковим записом адміністратора використовуються різні областіДовіреним доменом не повернуто унікального об’єктаДовіреним доменом не повернуто коректного SID об’єктаПартнер довіреного доменуДовірені домениДовірено для уповноваженняДовірений «ліс»Довіра до розпізнавання як користувача«Ліс» довіриЗаписи довіриДвофакторне розпізнавання (пароль + OTP)Двобічна довіраТипОб’єднувані типиКарта типівТип об’єкта IPA (встановлює фільтри призначення subtree і objectClass)тип об’єкта IPA (user (користувач), group (група), host (вузол), hostgroup (група вузлів), service (служба), netgroup (мережева група), dns)Тип ключаТип діапазону ідентифікаторів довіреного домену, одне з таких значень: ipa-ad-trust-posix, ipa-ad-trustТип діапазону ідентифікаторів довіреного домену, одне з таких значень: {vals}Типи підтримуваного розпізнавання користувачівUIDСуфікси UPNURIАдресаUUIDСкасуватиСкасувати застосування перегляду ідентифікаторів ${primary_key} до вузлівСкасувати застосування ${primary_key} перегляду ідентифікаторів з вузлів ${entity}Скасувати застосування переглядів ідентифікаторів до вузлівСкасувати застосування переглядів ідентифікаторів до вузлів груп вузлівСкасувати застосування до груп вузлівСкасувати застосування до вузлівНе вдалося обмінятися даними з CMSНе вдалося обмінятися даними з CMS (стан %d)Не вдалося створити закриту групу. Група «%(group)s» вже існує.Не вдалося визначити сервер IPA з %s Не вдалося визначити призначення сертифіката %s Не вдалося визначити, чи існує вже реєстраційний запис Kerberos %s. Скористайтеся командою «ipa user-mod», щоб встановити його параметри вручну.Не вдалося визначити кореневий DN %s Неможливо показати код QR за допомогою налаштованого кодування виведення результатів. Будь ласка, скористайтеся адресою ключа для налаштовування вашого пристрою OTPНе вдалося увімкнути SSL у LDAP Не вдалося створити кеш реєстраційних даних Kerberos Не вдалося ініціалізувати з’єднання з %s Не вдалося ініціалізувати сеанс STARTTLS Не вдалося ініціалізувати з’єднання з сервером LDAP: %sНе вдалося ініціалізувати бібліотеку ldap! Не вдалося долучити вузол: не знайдено кешу реєстраційних даних Kerberos Не вдалося долучити вузол: не знайдено реєстраційного запису користувача Kerberos і не вказано пароля вузла. Не вдалося долучити вузол: невдала спроба ініціалізації контексту Kerberos Не вдалося обробити реєстраційний запис Не вдалося обробити назву реєстраційного запису Не вдалося обробити реєстраційний запис: %1$s (%2$d) Не вдалося вилучити запис Не вдалося визначити контролер домену для домену {domain}. Не вдалося встановити версію LDAP Не вдалося встановити LDAP_OPT_PROTOCOL_VERSION Не вдалося встановити LDAP_OPT_X_SASL_NOCANON Не вдалося встановити LDAP_OPT_X_TLS Не вдалося встановити LDAP_OPT_X_TLS_CERTIFICATE Не вдалося встановити LDAP_OPT_X_TLS_REQUIRE_CERT Не вдалося перевірити права доступу на запис до ADВідновити вилучений обліковий запис користувача.Відновлено обліковий запис користувача «%(value)s»Скасуватискасувати всі діїСкасувати усі зміни у цьому полі.Скасувати цю зміну.Скасувати реєстрацію цього вузла на сервері IPAСпроба скасування реєстрації зазнала невдачі. Успішне скасування реєстрації. Унікальний ід.НевідомоНевідома помилкаНевідомий параметр: %(option)sРозблокуватиРозблоковано обліковий запис «%(value)s»НевідповіднийСкасування передбаченняСкасування передбачення ${entity}Нерозпізнані атрибути: %(attrs)sНепридатні до обробки правила у --rulesВідкликання скасованоНезбережені зміниСкасувати вибір всьогоНе вказаноНепідтримуване значенняОновитиОновити записи DNSОновити записи DNS системиОновити записи місць та серверів DNS IPAСпроба оновлення запису системи «%(record)s» зазнала невдачі. Повідомлення про помилку: %(error)sКористувачГрупа користувачівГрупи користувачівІд. користувачаНомер ідентифікатора користувачаІдентифікаційний номер користувача (система призначить його, якщо не буде вказано)Перевизначення ідентифікатора користувачаПеревизначення ідентифікатора користувачаКористувачПараметри користувачаСховища користувачівАтрибут користувачаТипи розпізнавання користувачівКатегорії користувачівКатегорія користувачівКатегорія вузлів (семантику цього атрибуту призначено для локальної обробки)Категорія користувачів, до якої застосовується ACLКатегорія користувачів, до якої застосовується правилоКонтейнер користувачівГрупа користувачівГрупа користувачів, до якої надає доступ ACIПравило групи користувачівПравила груп користувачівГрупа користувачів, до якої слід застосувати уповноваженняГрупа користувачів, до якої буде застосовано права доступуГрупа користувачів, до якої буде застосовано права доступу (встановлює target)КористувачКористувачіІм'я користувачаКлас об’єктів користувачаПріоритет об’єкта користувачаПароль користувачаВичерпання строку дії пароля користувачаПоля пошуку користувачівКористувач для перевизначенняЗручний для користувача опис дії, що виконуєтьсяВказані користувачем атрибути, до яких застосовується правило доступуВказані користувачем атрибути, до яких права доступу явним чином не застосовуватимутьсяКористувачІм’я користувача сховища користувачаКористувачіКористувачі, яким дозволено створення таблиці ключівКористувачі, яким дозволено отримувати таблицю ключівЄ чинний сертифікатЧинний зЧинний не пізніше післяЧинний не пізніше, ніж з цієї дати (РРРР-мм-дд)Чинний не пізніше доЧинний не пізніше, ніж до цієї дати (РРРР-мм-дд)Чинний не раніше відЧинний не раніше від цієї дати (РРРР-мм-дд)Чинний не ранішеЧинний не раніше цієї дати (РРРР-мм-дд)Чинний доПомилка під час перевіркиКоректністьЗавершення чинностіПочаток чинностіСховищеКонтейнер сховищКонтейнери сховищТип сховищаНалаштування сховищаДані сховища зашифровано за допомогою ключа сеансуОпис сховищаНазва сховищаПароль до сховищаЗакритий ключ сховищаВідкритий ключ сховища«Сіль» сховищаСлужба сховищаТип сховищаКористувач сховищаСховищаНалаштування сховищаПостачальникПовторіть парольПеревірка пароля реєстраційного записуВерсіяТочність за вертикаллюПроміжна службаПереглядПереглянути сертифікатОчікуємо на підтвердження з віддаленого бокуПопередженняПопередження: невідомий тип шифрування. Попередження: невідомий тип солі (salt). Попередження: вам варто скористатися реплікацією службПопередження: не вдалося виконати перетворення типу (№%d) Попередження: для випадкових паролів типи солі (salt) не мають значення (див. параметр -P) ВагаВага служб сервераПід час перенесення групи, яку вже створено у домені IPA буде перезаписано ідентифікатор групи і повідомлено про успіхВизначає, увімкнено чи вимкнено PKINITВизначає, чи є активною угода щодо реплікації, тобто, чи відбувається реплікація за цією угодоюВизначає, чи слід зберігати сертифікати, видані за допомогою цього профілюХтоПрацюєЗаписати CertificationRequestInfo до файлаЗаписати сертифікат (ланцюжок сертифікації, якщо використано --chain) до файлаЗаписати налаштування профілів до файлаЛанцюжок сертифікації X.509Ви намагаєтеся послатися на магічну приватну групу, яку не можна перевизначати Спробуйте краще перевизначити атрибут GID запису відповідного користувача.Ви можете скористатися FreeOTP як програмою для роботи з ключами OTP.Ймовірно, вам доведеться вилучити їх із ієрархії вручнуЩоб створити службу вузла, вам слід зареєструвати вузолВам слід вказати обидва параметри, rid-base і secondary-rid-base, оскільки вже запущено ipa-adtrust-install.Вас буде переспрямовано до зони DNS.Строк дії вашого пароля буде вичерпано за ${days} днів.Строк роботи у вашому сеансі вичерпано. Будь ласка, увійдіть до системи ще раз.Довіру до %(domain)s втрачено. Будь ласка, відновіть її за допомогою команди «ipa trust-add».Слот YubiKeyІндексПереспрямовувачі зонВиявлено зону: ${zone}Назва зониНазва зони (FQDN)Запис зони «%s» не можна вилучатиІнтервал між оновленнями даних зониНевдала спроба виконання access() для %1$s: номер помилки = %2$d запис активного користувача із іменем «%(user)s» вже існуєдодано значення атрибута до запису %(value)sзначення алгоритму: дозволеним є інтервал від 0 до 255для усіх основних серверів має бути увімкнено роль %(role)sсталася внутрішня помилкана сервері «%(server)s» сталася внутрішня помилкавідповідь на запит «%(owner)s %(rtype)s» не містить підписів DNSSEC (немає даних RRSIG)будь-який з налаштованих серверівapi не надає такого простору назв: «%(name)s»має бути вказано принаймні один з варіантів: тип, користувачі чи вузлислід вказати хоча б одне з: type, filter, subtree, targetgroup, attrs або memberofмає бути надано принаймні одне значення, що є рівним канонічній назві реєстраційного записуне можна використовувати атрибут «%(attribute)s»не можна використовувати атрибут «%s»атрибут не можна налаштовуватине можна одразу вказувати attrs та атрибути включенняне можна одразу вказувати attrs та атрибути включення або виключенняавтоматично додати реєстраційний запис, якщо його не існуєавтоматично додати реєстраційний запис, якщо його не існує (лише реєстраційні записи служб)ключ автомонтуванняключі автомонтуваннязапис автомонтуваннязаписи автомонтуваннякарта автомонтуваннякарти автоматичного монтуванняБазовий DNСпроба виконання ber_init() зазнала невдачі. Некоректне керування?! помилка ber_scanf(), не вдалося знайти kvno?! пароль прив’язкине повинне перевищувати %(len)d символів у довжинуне повинне перевищувати за розміром %(maxlength)d байтівне повинне перевищувати %(maxlength)d символів у довжинуне може перевищувати %(maxvalue)dне може перевищувати %(maxvalue)sнеможливо додати права доступу «%(perm)s» з типом прив’язки «%(bindtype)s» до привілеюне може бути порожнімне може бути довшим за 255 символівне вдалося встановити з’єднання з «%(uri)s»: %(error)sнеможливо вилучити загальні правила паролівнеможливо вилучити керовані права доступувилучення кореневого домену правила довіри неможливе, скористайтеся trust-del для вилучення самого правила довіривимикання кореневого домену правила довіри неможливе, скористайтеся trust-del для вилучення самого правила довіриполе призначення не може бути порожнімне вдалося відкрити файл налаштувань %s неможливо перейменувати керовані права доступуне можна встановлювати типу прив’язки для прав доступу, які пов’язано з привілеємне можна одночасно вказувати код сертифіката і файл із сертифікатомне можна вказувати одночасно subject/issuer і certificateне можна вказувати одночасно subject/issuer і ipacertmapdataне можна одразу вказувати повне фільтрування за призначенням та фільтрування за додатковими параметрами призначенняне вдалося обробити функцією stat() файл налаштування %s зміна конфліктує з іншою внесеною зміноюзмінити на групу POSIXзмінити для підтримки зовнішніх учасників поза IPA з довірених доменівдочірній процес завершив роботу з повідомленням %d cn є незміннимсписок доменів, відокремлених двокрапками, які використовуються для обробки коротких назвсписок груп служб HBAC, які слід додати, відокремлених комамисписок груп служб HBAC, які слід вилучити, відокремлених комамисписок служб HBAC, які слід додати, відокремлених комамисписок служб HBAC, які слід вилучити, відокремлених комамисписок груп, які слід додати, відокремлених комамисписок груп, які слід виключити з перенесення, відокремлених комамисписок груп, які слід вилучити, відокремлених комамисписок груп вузлів, які слід додати, відокремлених комамисписок груп вузлів, які слід вилучити, відокремлених комамисписок вузлів, які слід додати, відокремлених комамисписок вузлів, які слід вилучити, відокремлених комамисписок учасників довіреного домену у форматі ДОМЕН\ім’я або ім’я@домен, відокремлених комамисписок мережевих груп, які слід додати, відокремлених комамисписок мережевих груп, які слід вилучити, відокремлених комамисписок прав доступу, відокремлених комамиправа доступу, які слід надати, відокремлених комами (read, write, add, delete, all)список привілеїв, відокремлених комамисписок привілеїв, які слід додати, відокремлених комамисписок привілеїв, які слід вилучити, відокремлених комамисписок ролей, які слід додати, відокремлених комамисписок ролей, які слід вилучити, відокремлених комамисписок груп команд sudo, які слід додати, відокремлених комамисписок груп команд sudo, які слід вилучити, відокремлених комамисписок команд sudo, які слід додати, відокремлених комамисписок команд sudo, які слід вилучити, відокремлених комамисписок записів користувачів, які слід додати, відокремлених комамисписок записів користувачів, які слід виключити з перенесення, відокремлених комамисписок записів користувачів, які слід вилучити, відокремлених комамикомандакоманда «%(name)s» приймає не більше %(count)d аргументукоманда «%(name)s» приймає не більше %(count)d аргументівкоманда «%(name)s» приймає не більше %(count)d аргументівкоманда «%(name)s» не приймає ніяких аргументівкомандине можна додавати команди, якщо категорія команд=«all»команди керування налаштуванням sudoспроба обмінятися даними з сервером CIFS зазнала невдачіпараметри налаштуванняне знайдено запис контейнера (%(container)s)типовий ACL CA можна лише вимкнутиуповноваженняуповноваженнявилучитиописне отримано реєстраційних даних Kerberosне відповідає жодному з прийнятних форматів: домендомен не налаштованодомен не є довіренимназву домену «%(domain)s» слід нормалізувати до %(normalized)sназва домену не повинна перевищувати за довжиною 255 символівкожен з елементів ACL має бути відокремлено від інших крапкою з комоюпорожня мітка DNSпорожній фільтрзаписизаписпомилка під час розміщення даних для каналу передавання XML-RPC: %(error)sпомилка на сервері «%(server)s»: %(error)sспроба виконання ipa-getkeytab зазнала невдачі, номер помилки %d очікуваний формат: <0-255> <0-255> <0-65535> парна_кількість_шістнадцяткових_цифр_або_дефісфайл для зберігання записів DNS у форматі nsupdateфайл, у якому зберігатимуться дані сертифікатаназва файлаfilter і memberof не можна використовувати разомзначенням прапорців (flags) має бути одна з літер, "S", "A", "U" або "P"значення прапорців: дозволеним є інтервал від 0 до 255примусово створити запис сервера назв, навіть якщо відповідної назви вузла немає у DNSпримусове вилучення прав доступу SYSTEMпримусове значення назви вузла, навіть якщо назви немає у DNSпримусове значення назви реєстраційного запису, навіть якщо назви немає у DNSневдала спроба виконання fork() формат має бути таким: "d1 [m1 [s1]] {"N"|"S"} d2 [m2 [s2]] {"E"|"W"} alt["m"] [siz["m"] [hp["m"] [vp["m"]]]]" where: d1: [0 .. 90] (широта у градусах) d2: [0 .. 180] (довгота у градусах) m1, m2: [0 .. 59] (мінути широти і довготи) s1, s2: [0 .. 59.999] (секунди широти і довготи) alt: [-100000.00 .. 42849672.95] крок — .01 (висота у метрах) siz, hp, vp: [0 .. 90000000.00] (розміри, точність у метрах) Див. RFC 1876.формат має бути встановлено так: "%(format)s", відповідно до %(rfcs)sзона переспрямовування «%(fwzone)s» не є ефективною, оскільки не вказано належного делегування NS у основній зоні «%(authzone)s». Будь ласка, додайте запис NS «%(ns_rec)s» до батьківської зони «%(authzone)s».Не можна встановлювати gid для зовнішньої групислід вказати ім’ягрупагрупа, від імені якої виконуватиметьсяgroup, permission і self не можна використовувати разомгрупигрупи для додаваннягрупи, які слід виключити з перенесеннягрупи для вилученнявузолне можна встановлювати для категорії вузлів значення «all», доки є записи дозволених вузлівгрупа вузлівгрупи вузлівгрупи вузлів для додаваннягрупи вузлів для вилученнямаски для дозволених вузлівгрупа вузлівГрупа вузлів з назвою «%s» вже створено. Групи вузлів і мережеві групи мають спільний простір назв.групи вузлівназва вузланазва вузла містить лише порожню мітку (послідовні крапки)назва вузла у предметі запиту «%(cn)s» не збігається із назвою або альтернативними назвами реєстраційного запису «%(principal)s»назва вузла у призначенні запиту, «%(cn)s», не збігається з назвою вузла реєстраційного запису, «%(hostname)s»вузлине можна додавати записи вузлів, якщо категорія вузлів=«all»не можна вказувати вузли, якщо типом є «group»вузли для додаваннявузли для вилученнядіапазон ідентифікаторівтип діапазону ідентифікаторівнеповне часове значенняпомилковий типціле число для впорядковування правил sudoнекоректне «%(name)s»: %(error)sнекоректне DN (%s)некоректний формат запису IP-адресинекоректна версія IP-адреси (маємо: %(value)d, має бути: %(required_value)d)!некоректний формат запису мережі IPнекоректний ідентифікатор профілюнекоректний SID: {SID}некоректний відкритий ключ SSHнекоректний формат адресинекоректна назва атрибутанекоректна назва доменунекоректна назва домену: %sнекоректна назва домену: назва не є повноюнекоректний формат адреси електронної пошти: %(email)sнекоректний керівний код у назві доменунекоректна маска вузлівнекоректний номер портуПомилкові права доступу до ipa-getkeytab? Не знайдено ipa-getkeytab є обов’язковимзначення кількості ітерацій: дозволеним є інтервал від 0 до 65535параметри правил квитків kerberosзапис ключа %(key)s вже існуєключ з назвою %(key)s вже існуєkrb5_kt_close %1$d: %2$s krb5_kt_get_entry %1$d: %2$s krb5_kt_remove_entry %1$d: %2$s krb5_parse_name %1$d: %2$s krb5_unparse_name %1$d: %2$s Сертифікати krbtgt можуть використовувати лише профіль %skvno %d у лівому вузлі ({host}) не передбачено підтримки суфіксів «{suff}»лівий і правий вузли повинні бути різними вузламилівий вузол не є вузлом топології: %(leftnode)sслід вказати лівий або правий вузолцим запитом перевищено обмеженнялокальний діапазон доменівмісцемісцякерування %(manager)s не знайденозапис карти %(map)s вже існуєкарти, не з’єднані з /etc/auto.master:повна відповідність загальній назвімаксимальний серійний номер%s учасникаучасник Профіль сертифікатівслужба HBAC учасникагрупа служб учасника HBACгрупа учасникавузол-учасникгрупа вузлів учасникамережева група учасникаучасник «реєстраційний запис»привілеї учасникароль учасникаучасник службаучасник призначення делегування службкоманда учасника sudoучасник група команд sudoкористувач учасникамінімальний серійний номерне вистачає base_idзміну основного ключа забороненоточка монтування вказується відносно батьківської картки, її запис не може починатися з «/»має бути «%s»має бути «%(value)s»має бути назвою DNSмає бути реєстраційним записом Kerberosмає дорівнювати TRUE або FALSEмає дорівнювати True або Falseмає бути текстом у Unicodeмає бути сертифікатоммає бути запитом щодо підписування сертифікатамає бути десятковим числоммає бути абсолютноюмає бути цілим числоммає бути розміром, не менше за %(minlength)d байтівмає бути не меншим за %(minlength)d символів довжиноюмає бути числом, не меншим за %(minvalue)dмає бути принаймні %(minvalue)sмає бути принаймні 1має бути бінарними данимимає бути значенням дати і часумає бути словникоммає бути увімкнено лише на одному основномуслід брати у дужкимає бути розміром точно у %(length)d байтівмає бути точно %(length)d символів у довжинумає бути одним з таких значень: %(values)sмає бути відносноюмає містити кортеж (список, словник)має дорівнювати %rмає бути увімкнено роль %(role)sмає відповідати шаблону «%(pattern)s»мережева групаМережеву групу з назвою «%s» вже створено. Групи вузлів і мережеві групи мають спільний простір назв.мережеві групимережеві групи, які слід додатимережеві групи для вилученняне виявлено ні команди, ні запису довідки «%(topic)s»змін не внесеноНе налаштовано жодного довіреного доменувказаній простій назві не відповідає жоден довірений домензаборонено змінювати записи групзаборонено змінювати записи користувачіввиконувати цю дію заборонено: %sне дозволено виконувати перевірку з’єднання серверане знайденовказано не повністюне можна змінювати для керованих прав доступучисловий клас «%(cls)s» не включено до списку дозволених числових класів: %(allowed)sкількість паролівклас об’єктів %s не знайденоодне або декілька значень для вилученняпередбачено підтримку лише «ad»доступне лише для керованих прав доступуможна використовувати лише літери, цифри, %(chars)s. Символ %(chars2)s не повинен бути першим або останнім символом мітки DNS.записи можуть містити лише основні зониможна використовувати лише один запис CNAME на назву (RFC 2136, розділ 1.1.5)можна використовувати лише один запис DNAME на назву (RFC 6672, розділ 2.4)можна вказувати лише один вузолдію не визначеноназву параметра змінено; користуйтеся новою назвою — %sне можна використовувати параметрипорядковий номер повинен мати унікальне значення (%(order)d вже використано для %(rule)s)не вистачає пам'яті дані поза зоною: назва запису має бути піддоменом зони або відносною назвоюперекриття аргументів і параметрів: %(names)sвласник %sгрупа-власникне можна використовувати шаблон назви домену у полі власника записів %(types)s (RFC 4592, розділ 4)служба-власниккористувач-власникparams має бути списком (list)params має містити записи [аргументи, параметри]params[0] (або аргументи) має бути списком (list)params[1] (або параметри) має належати до типу словника (dict)парольправила щодо паролівправила для паролівпароль, який слід використати, якщо не використовується kerberosправа доступуправо доступу «%(value)s» вже існуєправа доступуpkinitзберегтине можна одночасно встановлювати ознаку зарезервованості та незарезервованостіреєстраційного запису не знайдено реєстраційного запису не знайдено у XML-RPC відповіді реєстраційний запис для додаванняреєстраційний запис для вилученнядля загальних правил не може встановлювати пріоритетипріоритет повинен мати унікальне значення (%(prio)d вже використано для %(gname)s)привілейпривілейована групапривілейована група вузлівпривілейоване правило делегування службпривілейована ціль делегування службпривілеїпривілеї для додаванняпривілеї для вилученняне можна встановлювати для категорії профілів значення «all», доки є записи дозволених профілівпрофілі не можна додавати, якщо категорія профілів «all»pyhbac не встановлено.pysss_murmur на сервері не доступний, отже base-id не надано.python-yubico не встановлено.запит «%(owner)s %(rtype)s» за допомогою EDNS0: %(error)sзапит «%(owner)s %(rtype)s»: %(error)sдіапазон вже існуєне можна виконувати зміни діапазону, у результаті яких виникають об’єкти з ідентифікаторами поза визначеним діапазономзміна типу діапазонупомилка читання область не знайдено область або суфікс UPN перекриваються із простором назв довіреного доменузапис «%(owner)s %(rtype)s» не пройшов перевірки DNSSEC на сервері %(ip)sвилучено значення атрибутів із запису %(value)sпомилка запиту зі станом HTTP %dу відповіді XML-RPC не знайдено результату отримати і вивести всі атрибути з сервера. Стосується лише виводу команд.у правому вузлі ({host}) не передбачено підтримки суфіксів «{suff}»правий вузол не є вузлом топології: %(rightnode)sрольроліролі для додаванняролі для вилученнягрупи, від імені яких виконуватиметьсякористувач, від імені якого виконуватиметьсякористувачі, від імені яких виконуватиметьсязначення солі: %(err)sшукати групи POSIXшукати групи з підтримкою зовнішніх учасників поза IPA з довірених доменівшукати керовані групишукати групи, які не є групами POSIXшукати закриті груписписок результатів пошуку об’єктів міграції було обрізано сервером; ймовірно, процес міграції не завершено секундсегментсегментиправа доступу автослужбиправа доступу до автослужбисерверроль сервераролі серверасерверислужбане можна встановлювати для категорії служб значення «all», доки є дозволені службиправило делегування службиправила делегування службціль делегування службпризначення делегування службпризначення делегування служб для додаванняпризначення делегування служб для вилученняслужбине можна додавати записи служб, якщо категорія служб=«all»служби для додаванняслужби для вилученнявстановлення основного сервера назвне можна використовувати шаблон назви домену (RFC 4592, розділ 4)sidgen_was_runпропустити зворотне визначення DNSслід вказати snкористувач етапукористувачі етапувикористання типу альтернативної назви об’єкта %s заборонено для реєстраційних записів, які не пов’язано із користувачамивикористання типу альтернативної назви об’єкта %s заборонено для реєстраційних записів користувачівне можна одночасно використовувати subtree і typeкоманда sudoгрупа команд sudoгрупи команд sudoгрупи команд sudo для додаваннягрупи команд sudo для вилученнякоманди sudoкоманди sudo, які слід додатикоманди sudo для вилученняправило sudoправила sudoсуфікссуфіксисистемний перегляд ідентифікаторівсистемні об’єкти IPA (наприклад системні групи, приватні групи користувачів) не може бути перевизначеноне можна одночасно використовувати target і targetgroupсервер IPA і віддалений домен не можуть використовувати спільно ту саму назву NetBIOS: %sсертифікат із серійним номером запис було вилучено під час внесення змінзначення не відповідає формату «РРРРММДДГГХХСС»має бути вказано хоча б один специфікатор запису призначення (наприклад target, targetfilter, attrs)цей параметр вважається застарілим.цей параметр вважається застарілимзанадто багато символів «@»довірадовірені налаштуваннядовірений домендовірені доменитип довіриоб’єкт довіреного доменуоб’єкт довіреного домену не знайденоне знайдено користувача довіреного доменузаписи довіритип об’єкта IPA (user (користувач), group (група), host (вузол), hostgroup (група вузлів), service (служба), netgroup (мережева група))type, filter, subtree і targetgroup є взаємовиключниминевідома команда: «%(name)s»%(server)s повідомляє про невідому помилку %(code)d: %(error)sнепідтримуваний функціональний рівеньнепідтримуваний тип довіриадресакористувачкористувач «%s» вже є активнимне можна встановлювати для категорії користувачів значення «all», доки є записи дозволених користувачівкористувачіне можна одночасно вказувати користувачів і вузлине можна додавати записи користувачів, якщо категорія запуску від імені користувачів або запуску від імені груп=«all»не можна додавати записи користувачів, якщо категорія користувачів=«all»не можна вказувати користувачів, якщо типом є «hostgroup»користувачі для додаваннязаписи користувачів, які слід виключити з перенесеннякористувачі, записи яких слід вилучитизначеннясховищеконтейнер сховищконтейнери сховищсховища{attr}: немає такого атрибута{role}: такої ролі не знайдено