{"id":5549,"date":"2016-01-07T11:30:47","date_gmt":"2016-01-07T03:30:47","guid":{"rendered":"http:\/\/rmohan.com\/?p=5549"},"modified":"2016-01-07T11:36:38","modified_gmt":"2016-01-07T03:36:38","slug":"freeipa-centos-6-7","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=5549","title":{"rendered":"Freeipa Centos 6.7"},"content":{"rendered":"<p>FreeIPA is a solution for managing users, groups, hosts, services, and much, much more. It uses open source solutions with some Python glue to make things work. Identity Management made easy for the Linux administrator.<br \/>\nFreeIPA is an open source alternative to Microsoft Directory Server. It provides the following functionality:<\/p>\n<p>Centralised LDAP based authorisation<br \/>\nKerberos<br \/>\nTime server<br \/>\nDNS<br \/>\nCertificate Authority<br \/>\nHost and Role based access control<\/p>\n<p>and more, all with a reasonable web GUI and excellent command line tools.<\/p>\n<p>Inside FreeIPA are some common pieces; The Apache Web Server, BIND, 389DS, and MIT Kerberos.<\/p>\n<p>Additionally, Dogtag is used for certificate management, and sssd for client side configurations.<\/p>\n<p>It uses open source solutions with some Python glue to make things work. Identity Management made easy for the Linux administrator.<\/p>\n<p><a href=\"http:\/\/rmohan.com\/wp-content\/uploads\/2016\/01\/ipa-components-590x444.png\" rel=\"attachment wp-att-5550\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5550\" src=\"http:\/\/rmohan.com\/wp-content\/uploads\/2016\/01\/ipa-components-590x444.png\" alt=\"ipa-components-590x444\" width=\"590\" height=\"444\" srcset=\"https:\/\/mohan.sg\/wp-content\/uploads\/2016\/01\/ipa-components-590x444.png 590w, https:\/\/mohan.sg\/wp-content\/uploads\/2016\/01\/ipa-components-590x444-300x226.png 300w, https:\/\/mohan.sg\/wp-content\/uploads\/2016\/01\/ipa-components-590x444-150x113.png 150w, https:\/\/mohan.sg\/wp-content\/uploads\/2016\/01\/ipa-components-590x444-400x301.png 400w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/a><br \/>\nDomain:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 rmohan.com<br \/>\nRealm:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 rmohan.COM<br \/>\nServer1:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cluster1.rmohan.com\u00a0 (IPA SERVER -1)<br \/>\nServer2(replica):\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cluster3.rmohan.com\u00a0 (IPA SERVER -2)<br \/>\nClient:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cluster2.rmohan.com<\/p>\n<p>vi \/etc\/hosts<\/p>\n<p>192.168.1.60 cluster1.rmohan.com cluster1<br \/>\n192.168.1.62 cluster2.rmohan.com cluster2<br \/>\n192.168.1.63 cluster3.rmohan.com cluster3<\/p>\n<p>Install FreeIPA.<br \/>\n[root@cluster1 ~]# yum -y install ipa-server bind bind-dyndb-ldap<\/p>\n<p>[root@cluster1 ~]# ipa-server-install &#8211;setup-dns<\/p>\n<p>The log file for this installation can be found in \/var\/log\/ipaserver-install.log<br \/>\n==============================================================================<br \/>\nThis program will set up the IPA Server.<\/p>\n<p>This includes:<br \/>\n* Configure a stand-alone CA (dogtag) for certificate management<br \/>\n* Configure the Network Time Daemon (ntpd)<br \/>\n* Create and configure an instance of Directory Server<br \/>\n* Create and configure a Kerberos Key Distribution Center (KDC)<br \/>\n* Configure Apache (httpd)<br \/>\n* Configure DNS (bind)<\/p>\n<p>To accept the default shown in brackets, press the Enter key.<\/p>\n<p>Existing BIND configuration detected, overwrite? [no]: yes<br \/>\nEnter the fully qualified domain name of the computer<br \/>\non which you&#8217;re setting up server software. Using the form<br \/>\n&lt;hostname&gt;.&lt;domainname&gt;<br \/>\nExample: master.example.com.<\/p>\n<p>Server host name [cluster1.rmohan.com]:<\/p>\n<p>Warning: skipping DNS resolution of host cluster1.rmohan.com<br \/>\nThe domain name has been determined based on the host name.<\/p>\n<p>Please confirm the domain name [rmohan.com]:<\/p>\n<p>The kerberos protocol requires a Realm name to be defined.<br \/>\nThis is typically the domain name converted to uppercase.<\/p>\n<p>Please provide a realm name [RMOHAN.COM]:<br \/>\nCertain directory server operations require an administrative user.<br \/>\nThis user is referred to as the Directory Manager and has full access<br \/>\nto the Directory for system management tasks and will be added to the<br \/>\ninstance of directory server created for IPA.<br \/>\nThe password must be at least 8 characters long.<\/p>\n<p>Directory Manager password:<br \/>\nPassword (confirm):<\/p>\n<p>The IPA server requires an administrative user, named &#8216;admin&#8217;.<br \/>\nThis user is a regular system account used for IPA server administration.<\/p>\n<p>IPA admin password:<br \/>\nPassword (confirm):<\/p>\n<p>Do you want to configure DNS forwarders? [yes]: yes<br \/>\nEnter the IP address of DNS forwarder to use, or press Enter to finish.<br \/>\nEnter IP address for a DNS forwarder: 192.168.1.63<br \/>\nDNS forwarder 192.168.1.63 added<br \/>\nEnter IP address for a DNS forwarder: 192.168.1.63<br \/>\nDNS forwarder 192.168.1.63 added<br \/>\nEnter IP address for a DNS forwarder:<br \/>\nDo you want to configure the reverse zone? [yes]: yes<br \/>\nPlease specify the reverse zone name [1.168.192.in-addr.arpa.]:<br \/>\nUsing reverse zone 1.168.192.in-addr.arpa.<\/p>\n<p>The IPA Master Server will be configured with:<br \/>\nHostname:\u00a0\u00a0\u00a0\u00a0\u00a0 cluster1.rmohan.com<br \/>\nIP address:\u00a0\u00a0\u00a0 192.168.1.60<br \/>\nDomain name:\u00a0\u00a0 rmohan.com<br \/>\nRealm name:\u00a0\u00a0\u00a0 RMOHAN.COM<\/p>\n<p>BIND DNS server will be configured to serve IPA domain with:<br \/>\nForwarders:\u00a0\u00a0\u00a0 192.168.1.63, 192.168.1.63<br \/>\nReverse zone:\u00a0 1.168.192.in-addr.arpa.<\/p>\n<p>Continue to configure the system with these values? [no]: yes<\/p>\n<p>The following operations may take some minutes to complete.<br \/>\nPlease wait until the prompt is returned.<\/p>\n<p>Configuring NTP daemon (ntpd)<br \/>\n[1\/4]: stopping ntpd<br \/>\n[2\/4]: writing configuration<br \/>\n[3\/4]: configuring ntpd to start on boot<br \/>\n[4\/4]: starting ntpd<br \/>\nDone configuring NTP daemon (ntpd).<br \/>\nConfiguring directory server for the CA (pkids): Estimated time 30 minutes 30 seconds<br \/>\n[1\/3]: creating directory server user<br \/>\n[2\/3]: creating directory server instance<br \/>\n[3\/3]: restarting directory server<br \/>\nDone configuring directory server for the CA (pkids).<br \/>\nConfiguring certificate server (pki-cad): Estimated time 33 minutes 30 seconds<br \/>\n[1\/21]: creating certificate server user<br \/>\n[2\/21]: creating pki-ca instance<br \/>\n[3\/21]: configuring certificate server instance<br \/>\n[4\/21]: disabling nonces<br \/>\n[5\/21]: creating CA agent PKCS#12 file in \/root<br \/>\n[6\/21]: creating RA agent certificate database<br \/>\n[7\/21]: importing CA chain to RA certificate database<br \/>\n[8\/21]: fixing RA database permissions<br \/>\n[9\/21]: setting up signing cert profile<br \/>\n[10\/21]: set up CRL publishing<br \/>\n[11\/21]: set certificate subject base<br \/>\n[12\/21]: enabling Subject Key Identifier<br \/>\n[13\/21]: setting audit signing renewal to 2 years<br \/>\n[14\/21]: configuring certificate server to start on boot<br \/>\n[15\/21]: restarting certificate server<br \/>\n[16\/21]: requesting RA certificate from CA<br \/>\n[17\/21]: issuing RA agent certificate<br \/>\n[18\/21]: adding RA agent as a trusted user<br \/>\n[19\/21]: configure certificate renewals<br \/>\n[20\/21]: configure Server-Cert certificate renewal<br \/>\n[21\/21]: Configure HTTP to proxy connections<br \/>\nDone configuring certificate server (pki-cad).<br \/>\nConfiguring directory server (dirsrv): Estimated time 31 minutes<br \/>\n[1\/38]: creating directory server user<br \/>\n[2\/38]: creating directory server instance<br \/>\n[3\/38]: adding default schema<br \/>\n[4\/38]: enabling memberof plugin<br \/>\n[5\/38]: enabling winsync plugin<br \/>\n[6\/38]: configuring replication version plugin<br \/>\n[7\/38]: enabling IPA enrollment plugin<br \/>\n[8\/38]: enabling ldapi<br \/>\n[9\/38]: disabling betxn plugins<br \/>\n[10\/38]: configuring uniqueness plugin<br \/>\n[11\/38]: configuring uuid plugin<br \/>\n[12\/38]: configuring modrdn plugin<br \/>\n[13\/38]: enabling entryUSN plugin<br \/>\n[14\/38]: configuring lockout plugin<br \/>\n[15\/38]: creating indices<br \/>\n[16\/38]: enabling referential integrity plugin<br \/>\n[17\/38]: configuring ssl for ds instance<br \/>\n[18\/38]: configuring certmap.conf<br \/>\n[19\/38]: configure autobind for root<br \/>\n[20\/38]: configure new location for managed entries<br \/>\n[21\/38]: restarting directory server<br \/>\n[22\/38]: adding default layout<br \/>\n[23\/38]: adding delegation layout<br \/>\n[24\/38]: adding replication acis<br \/>\n[25\/38]: creating container for managed entries<br \/>\n[26\/38]: configuring user private groups<br \/>\n[27\/38]: configuring netgroups from hostgroups<br \/>\n[28\/38]: creating default Sudo bind user<br \/>\n[29\/38]: creating default Auto Member layout<br \/>\n[30\/38]: adding range check plugin<br \/>\n[31\/38]: creating default HBAC rule allow_all<br \/>\n[32\/38]: Upload CA cert to the directory<br \/>\n[33\/38]: initializing group membership<br \/>\n[34\/38]: adding master entry<br \/>\n[35\/38]: configuring Posix uid\/gid generation<br \/>\n[36\/38]: enabling compatibility plugin<br \/>\n[37\/38]: tuning directory server<br \/>\n[38\/38]: configuring directory to start on boot<br \/>\nDone configuring directory server (dirsrv).<br \/>\nConfiguring Kerberos KDC (krb5kdc): Estimated time 30 minutes 30 seconds<br \/>\n[1\/10]: adding sasl mappings to the directory<br \/>\n[2\/10]: adding kerberos container to the directory<br \/>\n[3\/10]: configuring KDC<br \/>\n[4\/10]: initialize kerberos container<br \/>\n[5\/10]: adding default ACIs<br \/>\n[6\/10]: creating a keytab for the directory<br \/>\n[7\/10]: creating a keytab for the machine<br \/>\n[8\/10]: adding the password extension to the directory<br \/>\n[9\/10]: starting the KDC<br \/>\n[10\/10]: configuring KDC to start on boot<br \/>\nDone configuring Kerberos KDC (krb5kdc).<br \/>\nConfiguring kadmin<br \/>\n[1\/2]: starting kadmin<br \/>\n[2\/2]: configuring kadmin to start on boot<br \/>\nDone configuring kadmin.<br \/>\nConfiguring ipa_memcached<br \/>\n[1\/2]: starting ipa_memcached<br \/>\n[2\/2]: configuring ipa_memcached to start on boot<br \/>\nDone configuring ipa_memcached.<br \/>\nConfiguring the web interface (httpd): Estimated time 31 minutes<br \/>\n[1\/14]: setting mod_nss port to 443<br \/>\n[2\/14]: setting mod_nss protocol list to TLSv1.0 &#8211; TLSv1.2<br \/>\n[3\/14]: setting mod_nss password file<br \/>\n[4\/14]: enabling mod_nss renegotiate<br \/>\n[5\/14]: adding URL rewriting rules<br \/>\n[6\/14]: configuring httpd<br \/>\n[7\/14]: setting up ssl<br \/>\n[8\/14]: setting up browser autoconfig<br \/>\n[9\/14]: publish CA cert<br \/>\n[10\/14]: creating a keytab for httpd<br \/>\n[11\/14]: clean up any existing httpd ccache<br \/>\n[12\/14]: configuring SELinux for httpd<br \/>\n[13\/14]: restarting httpd<br \/>\n[14\/14]: configuring httpd to start on boot<br \/>\nDone configuring the web interface (httpd).<br \/>\nApplying LDAP updates<br \/>\nRestarting the directory server<br \/>\nRestarting the KDC<br \/>\nConfiguring DNS (named)<br \/>\n[1\/9]: adding DNS container<br \/>\n[2\/9]: setting up our zone<br \/>\n[3\/9]: setting up reverse zone<br \/>\n[4\/9]: setting up our own record<br \/>\n[5\/9]: setting up kerberos principal<br \/>\n[6\/9]: setting up named.conf<br \/>\n[7\/9]: restarting named<br \/>\n[8\/9]: configuring named to start on boot<br \/>\n[9\/9]: changing resolv.conf to point to ourselves<br \/>\nDone configuring DNS (named).<\/p>\n<p>Global DNS configuration in LDAP server is empty<br \/>\nYou can use &#8216;dnsconfig-mod&#8217; command to set global DNS options that<br \/>\nwould override settings in local named.conf files<\/p>\n<p>Restarting the web server<br \/>\n==============================================================================<br \/>\nSetup complete<\/p>\n<p>Next steps:<br \/>\n1. You must make sure these network ports are open:<br \/>\nTCP Ports:<br \/>\n* 80, 443: HTTP\/HTTPS<br \/>\n* 389, 636: LDAP\/LDAPS<br \/>\n* 88, 464: kerberos<br \/>\n* 53: bind<br \/>\nUDP Ports:<br \/>\n* 88, 464: kerberos<br \/>\n* 53: bind<br \/>\n* 123: ntp<\/p>\n<p>2. You can now obtain a kerberos ticket using the command: &#8216;kinit admin&#8217;<br \/>\nThis ticket will allow you to use the IPA tools (e.g., ipa user-add)<br \/>\nand the web user interface.<\/p>\n<p>Be sure to back up the CA certificate stored in \/root\/cacert.p12<br \/>\nThis file is required to create replicas. The password for this<br \/>\nfile is the Directory Manager password<br \/>\n[root@cluster1 ~]# kinit admin<br \/>\nPassword for admin@RMOHAN.COM:<br \/>\n[root@cluster1 ~]#<br \/>\n[root@cluster1 ~]# klist<br \/>\nTicket cache: FILE:\/tmp\/krb5cc_0<br \/>\nDefault principal: admin@RMOHAN.COM<\/p>\n<p>Valid starting\u00a0\u00a0\u00a0\u00a0 Expires\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Service principal<br \/>\n01\/07\/16 10:51:49\u00a0 01\/08\/16 10:51:46\u00a0 krbtgt\/RMOHAN.COM@RMOHAN.COM<br \/>\n[root@cluster1 ~]#<\/p>\n<p>[root@cluster1 ~]# ipa config-mod &#8211;defaultshell=\/bin\/bash<br \/>\nMaximum username length: 32<br \/>\nHome directory base: \/home<br \/>\nDefault shell: \/bin\/bash<br \/>\nDefault users group: ipausers<br \/>\nDefault e-mail domain: rmohan.com<br \/>\nSearch time limit: 2<br \/>\nSearch size limit: 100<br \/>\nUser search fields: uid,givenname,sn,telephonenumber,ou,title<br \/>\nGroup search fields: cn,description<br \/>\nEnable migration mode: FALSE<br \/>\nCertificate Subject base: O=RMOHAN.COM<br \/>\nPassword Expiration Notification (days): 4<br \/>\nPassword plugin features: AllowNThash<br \/>\nSELinux user map order: guest_u:s0$xguest_u:s0$user_u:s0$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023<br \/>\nDefault SELinux user: unconfined_u:s0-s0:c0.c1023<br \/>\nDefault PAC types: MS-PAC<br \/>\n[root@cluster1 ~]#<\/p>\n<p>Add User Accounts on FreeIPA Server.<\/p>\n<p>ipa user-add mohan &#8211;first=Mohan &#8211;last=Ramadoss &#8211;password<\/p>\n<p>ipa user-add test &#8211;first=test &#8211;last=test &#8211;password<\/p>\n<p>ipa user-add test1 &#8211;first=test1 &#8211;last=test1 &#8211;password<\/p>\n<p>[root@cluster1 ~]# ipa user-add mohan &#8211;first=Mohan &#8211;last=Ramadoss &#8211;password<br \/>\nPassword:<br \/>\nEnter Password again to verify:<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nAdded user &#8220;mohan&#8221;<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nUser login: mohan<br \/>\nFirst name: Mohan<br \/>\nLast name: Ramadoss<br \/>\nFull name: Mohan Ramadoss<br \/>\nDisplay name: Mohan Ramadoss<br \/>\nInitials: MR<br \/>\nHome directory: \/home\/mohan<br \/>\nGECOS field: Mohan Ramadoss<br \/>\nLogin shell: \/bin\/bash<br \/>\nKerberos principal: mohan@RMOHAN.COM<br \/>\nEmail address: mohan@rmohan.com<br \/>\nUID: 1620400001<br \/>\nGID: 1620400001<br \/>\nPassword: True<br \/>\nKerberos keys available: True<br \/>\n[root@cluster1 ~]#<\/p>\n<p>[root@cluster1 ~]# ipa user-add test &#8211;first=test &#8211;last=test &#8211;password<br \/>\nPassword:<br \/>\nEnter Password again to verify:<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nAdded user &#8220;test&#8221;<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nUser login: test<br \/>\nFirst name: test<br \/>\nLast name: test<br \/>\nFull name: test test<br \/>\nDisplay name: test test<br \/>\nInitials: tt<br \/>\nHome directory: \/home\/test<br \/>\nGECOS field: test test<br \/>\nLogin shell: \/bin\/bash<br \/>\nKerberos principal: test@RMOHAN.COM<br \/>\nEmail address: test@rmohan.com<br \/>\nUID: 1620400003<br \/>\nGID: 1620400003<br \/>\nPassword: True<br \/>\nKerberos keys available: True<br \/>\n[root@cluster1 ~]#<\/p>\n<p>Configure FreeIPA Client to connect to FreeIPA Server.<\/p>\n<p>Add the record to master node<\/p>\n<p>[root@cluster1 ~]#\u00a0 ipa dnsrecord-add rmohan.com cluster02 &#8211;a-rec 192.168.1.62<br \/>\nRecord name: cluster02<br \/>\nA record: 192.168.1.62<br \/>\n[root@cluster1 ~]#<\/p>\n<p>Install Client tools on FreeIPA Client Host and change DNS settings.<br \/>\n[root@cluster2 ~]# yum -y install ipa-client<br \/>\n[root@cluster2 ~]# vi \/etc\/sysconfig\/network-scripts\/ifcfg-eth0<br \/>\n# change to FreeIPA server<br \/>\n[root@cluster2 ~]# vi \/etc\/sysconfig\/network-scripts\/ifcfg-eth0<br \/>\nDEVICE=eth0<br \/>\nTYPE=Ethernet<br \/>\nUUID=9a1e932e-195a-4a19-8474-998c2d9517d0<br \/>\nONBOOT=yes<br \/>\nNM_CONTROLLED=yes<br \/>\nBOOTPROTO=none<br \/>\nHWADDR=00:0C:29:EA:7C:5B<br \/>\nIPADDR=192.168.1.62<br \/>\nPREFIX=24<br \/>\nGATEWAY=192.168.1.254<br \/>\nDNS1=192.168.1.60<br \/>\nDEFROUTE=yes<br \/>\nIPV4_FAILURE_FATAL=yes<br \/>\nIPV6INIT=no<br \/>\nNAME=&#8221;System eth0&#8243;<\/p>\n<p>DNS1=192.168.1.60<br \/>\nRestart the network<\/p>\n<p>[root@cluster2 ~]# \/etc\/rc.d\/init.d\/network restart<\/p>\n<p>[root@cluster2 ~]# ipa-client-install<br \/>\nDiscovery was successful!<br \/>\nHostname: cluster2.rmohan.com<br \/>\nRealm: RMOHAN.COM<br \/>\nDNS Domain: rmohan.com<br \/>\nIPA Server: cluster1.rmohan.com<br \/>\nBaseDN: dc=rmohan,dc=com<\/p>\n<p>Continue to configure the system with these values? [no]: yes<br \/>\nUser authorized to enroll computers: admin<br \/>\nSynchronizing time with KDC&#8230;<br \/>\nPassword for admin@RMOHAN.COM:<br \/>\nSuccessfully retrieved CA cert<br \/>\nSubject:\u00a0\u00a0\u00a0\u00a0 CN=Certificate Authority,O=RMOHAN.COM<br \/>\nIssuer:\u00a0\u00a0\u00a0\u00a0\u00a0 CN=Certificate Authority,O=RMOHAN.COM<br \/>\nValid From:\u00a0 Thu Jan 07 02:43:14 2016 UTC<br \/>\nValid Until: Mon Jan 07 02:43:14 2036 UTC<\/p>\n<p>Enrolled in IPA realm RMOHAN.COM<br \/>\nAttempting to get host TGT&#8230;<br \/>\nCreated \/etc\/ipa\/default.conf<br \/>\nNew SSSD config will be created<br \/>\nConfigured sudoers in \/etc\/nsswitch.conf<br \/>\nConfigured \/etc\/sssd\/sssd.conf<br \/>\nConfigured \/etc\/krb5.conf for IPA realm RMOHAN.COM<br \/>\ntrying https:\/\/cluster1.rmohan.com\/ipa\/xml<br \/>\nForwarding &#8216;env&#8217; to server u&#8217;https:\/\/cluster1.rmohan.com\/ipa\/xml&#8217;<br \/>\nHostname (cluster2.rmohan.com) not found in DNS<br \/>\nDNS server record set to: cluster2.rmohan.com -&gt; 192.168.1.62<br \/>\nAdding SSH public key from \/etc\/ssh\/ssh_host_rsa_key.pub<br \/>\nAdding SSH public key from \/etc\/ssh\/ssh_host_dsa_key.pub<br \/>\nForwarding &#8216;host_mod&#8217; to server u&#8217;https:\/\/cluster1.rmohan.com\/ipa\/xml&#8217;<br \/>\nSSSD enabled<br \/>\nConfiguring rmohan.com as NIS domain<br \/>\nConfigured \/etc\/openldap\/ldap.conf<br \/>\nNTP enabled<br \/>\n\/etc\/ssh\/ssh_config not found, skipping configuration<br \/>\nConfigured \/etc\/ssh\/sshd_config<br \/>\nClient configuration complete.<br \/>\n[root@cluster2 ~]#<\/p>\n<p>[root@cluster2 ~]#\u00a0 authconfig &#8211;enablemkhomedir &#8211;update<br \/>\nStarting oddjobd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [\u00a0 OK\u00a0 ]<br \/>\n[root@cluster2 ~]# logout<\/p>\n<p>[MohanSystem.Mohanserver] ? ssh mohan@192.168.1.62<br \/>\nX11 forwarding request failed on channel 0<br \/>\nPassword expired. Change your password now.<br \/>\nLast login: Thu Jan\u00a0 7 11:03:19 2016 from 192.168.1.2<br \/>\nWARNING: Your password has expired.<br \/>\nYou must change your password now and login again!<br \/>\nChanging password for user mohan.<br \/>\nCurrent Password:<br \/>\nNew password:<br \/>\nRetype new password:<br \/>\npasswd: all authentication tokens updated successfully.<br \/>\nConnection to 192.168.1.62 closed.<\/p>\n<p>how disable the user<\/p>\n<p>[root@cluster1 ~]#\u00a0 ipa user-disable mohan<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nDisabled user account &#8220;mohan&#8221;<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n[root@cluster1 ~]#<\/p>\n<p>Enable the user id<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n[root@cluster1 ~]# ipa user-enable mohan<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nEnabled user account &#8220;mohan&#8221;<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>Find the user<\/p>\n<p>[root@cluster1 ~]# ipa user-find mohan<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n1 user matched<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nUser login: mohan<br \/>\nFirst name: Mohan<br \/>\nLast name: Ramadoss<br \/>\nHome directory: \/home\/mohan<br \/>\nLogin shell: \/bin\/bash<br \/>\nEmail address: mohan@rmohan.com<br \/>\nUID: 1620400001<br \/>\nGID: 1620400001<br \/>\nAccount disabled: False<br \/>\nPassword: True<br \/>\nKerberos keys available: True<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nNumber of entries returned 1<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>[root@cluster1 ~]# ipa group-add &#8211;desc=&#8217;Production Support Group&#8217; prodsupport<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nAdded group &#8220;prodsupport&#8221;<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nGroup name: prodsupport<br \/>\nDescription: Production Support Group<br \/>\nGID: 1620400004<br \/>\n[root@cluster1 ~]# ipa group-add-member &#8211;users=test,test1 prodsupport<br \/>\n[root@cluster1 ~]# ipa group-add-member &#8211;users=test,test1 prodsupport<br \/>\nGroup name: prodsupport<br \/>\nDescription: Production Support Group<br \/>\nGID: 1620400004<br \/>\nMember users: test, test1<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nNumber of members added 2<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n[root@cluster1 ~]# ipa group-find prodsupport<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n1 group matched<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nGroup name: prodsupport<br \/>\nDescription: Production Support Group<br \/>\nGID: 1620400004<br \/>\nMember users: test, test1<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nNumber of entries returned 1<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n[root@cluster1 ~]# ipa group-del prodsupport<\/p>\n<p>FreeIPA Replication<\/p>\n<p>[root@cluster3 ~]# yum -y install ipa-server bind bind-dyndb-ldap<br \/>\n[root@cluster3 ~]# vi \/etc\/sysconfig\/network-scripts\/ifcfg-eth0<br \/>\n# change to FreeIPA server<br \/>\nDNS1=192.168.1.60<br \/>\n[root@cluster3 ~]# \/etc\/rc.d\/init.d\/network restart<\/p>\n<p>Add DNS entry for Replica Host on FreeIPA server.<br \/>\n# ipa dnsrecord-add [domain name] [record name] [record type] [record]<\/p>\n<p>[root@cluster1 ~]# ipa dnsrecord-add rmohan.com cluster3 &#8211;a-rec 192.168.1.63<br \/>\nRecord name: cluster3<br \/>\nA record: 192.168.1.63<br \/>\n[root@cluster1 ~]# ipa-replica-prepare cluster3.rmohan.com &#8211;ip-address 192.168.1.63<br \/>\nDirectory Manager (existing master) password:<\/p>\n<p>Preparing replica for cluster3.rmohan.com from cluster1.rmohan.com<br \/>\nCreating SSL certificate for the Directory Server<br \/>\nCreating SSL certificate for the dogtag Directory Server<br \/>\nCreating SSL certificate for the Web Server<br \/>\nExporting RA certificate<br \/>\nCopying additional files<br \/>\nFinalizing configuration<br \/>\nPackaging replica information into \/var\/lib\/ipa\/replica-info-cluster3.rmohan.com.gpg<br \/>\nAdding DNS records for cluster3.rmohan.com<br \/>\nUsing reverse zone 1.168.192.in-addr.arpa.<br \/>\n[root@cluster1 ~]#<\/p>\n<p>[root@cluster1 ~]# scp \/var\/lib\/ipa\/replica-info-cluster3.rmohan.com.gpg root@cluster3.rmohan.com:\/var\/lib\/ipa\/<br \/>\nThe authenticity of host &#8216;cluster3.rmohan.com (&lt;no hostip for proxy command&gt;)&#8217; can&#8217;t be established.<br \/>\nRSA key fingerprint is 60:83:98:1f:db:c6:d4:65:63:f1:21:dc:23:ea:de:97.<br \/>\nAre you sure you want to continue connecting (yes\/no)? yes<br \/>\nWarning: Permanently added &#8216;cluster3.rmohan.com&#8217; (RSA) to the list of known hosts.<br \/>\nroot@cluster3.rmohan.com&#8217;s password:<br \/>\nreplica-info-cluster3.rmohan.com.gpg\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100%\u00a0\u00a0 35KB\u00a0 35.1KB\/s\u00a0\u00a0 00:00<br \/>\n[root@cluster1 ~]#<\/p>\n<p>Setup as a Replica Server on FreeIPA Replica.<br \/>\nThe following example set &#8220;&#8211;no-forwarders&#8221; for DNS, but if you set it, specify like &#8220;&#8211;forwarder=x.x.x.x&#8221;.<\/p>\n<p>[root@cluster3 ~]#\u00a0 ipa-replica-install &#8211;setup-ca &#8211;setup-dns &#8211;no-forwarders \/var\/lib\/ipa\/replica-info-cluster3.rmohan.com.gpg<br \/>\nDirectory Manager (existing master) password:<\/p>\n<p>Run connection check to master<br \/>\nCheck connection from replica to remote master &#8216;cluster1.rmohan.com&#8217;:<br \/>\nDirectory Service: Unsecure port (389): OK<br \/>\nDirectory Service: Secure port (636): OK<br \/>\nKerberos KDC: TCP (88): OK<br \/>\nKerberos Kpasswd: TCP (464): OK<br \/>\nHTTP Server: Unsecure port (80): OK<br \/>\nHTTP Server: Secure port (443): OK<br \/>\nPKI-CA: Directory Service port (7389): OK<\/p>\n<p>The following list of ports use UDP protocol and would need to be<br \/>\nchecked manually:<br \/>\nKerberos KDC: UDP (88): SKIPPED<br \/>\nKerberos Kpasswd: UDP (464): SKIPPED<\/p>\n<p>Connection from replica to master is OK.<br \/>\nStart listening on required ports for remote master check<br \/>\nGet credentials to log in to remote master<br \/>\nadmin@RMOHAN.COM password:<\/p>\n<p>Execute check on remote master<br \/>\nCheck connection from master to remote replica &#8216;cluster3.rmohan.com&#8217;:<br \/>\nDirectory Service: Unsecure port (389): OK<br \/>\nDirectory Service: Secure port (636): OK<br \/>\nKerberos KDC: TCP (88): OK<br \/>\nKerberos KDC: UDP (88): OK<br \/>\nKerberos Kpasswd: TCP (464): OK<br \/>\nKerberos Kpasswd: UDP (464): OK<br \/>\nHTTP Server: Unsecure port (80): OK<br \/>\nHTTP Server: Secure port (443): OK<br \/>\nPKI-CA: Directory Service port (7389): OK<\/p>\n<p>Connection from master to replica is OK.<\/p>\n<p>Connection check OK<br \/>\nConfiguring NTP daemon (ntpd)<br \/>\n[1\/4]: stopping ntpd<br \/>\n[2\/4]: writing configuration<br \/>\n[3\/4]: configuring ntpd to start on boot<br \/>\n[4\/4]: starting ntpd<br \/>\nDone configuring NTP daemon (ntpd).<br \/>\nConfiguring directory server for the CA (pkids): Estimated time 30 minutes 30 seconds<br \/>\n[1\/3]: creating directory server user<br \/>\n[2\/3]: creating directory server instance<br \/>\n[3\/3]: restarting directory server<br \/>\nDone configuring directory server for the CA (pkids).<br \/>\nConfiguring certificate server (pki-cad): Estimated time 33 minutes 30 seconds<br \/>\n[1\/17]: creating certificate server user<br \/>\n[2\/17]: creating pki-ca instance<br \/>\n[3\/17]: configuring certificate server instance<br \/>\n[4\/17]: disabling nonces<br \/>\n[5\/17]: creating RA agent certificate database<br \/>\n[6\/17]: importing CA chain to RA certificate database<br \/>\n[7\/17]: fixing RA database permissions<br \/>\n[8\/17]: setting up signing cert profile<br \/>\n[9\/17]: set up CRL publishing<br \/>\n[10\/17]: set certificate subject base<br \/>\n[11\/17]: enabling Subject Key Identifier<br \/>\n[12\/17]: setting audit signing renewal to 2 years<br \/>\n[13\/17]: configuring certificate server to start on boot<br \/>\n[14\/17]: configure certmonger for renewals<br \/>\n[15\/17]: configure clone certificate renewals<br \/>\n[16\/17]: configure Server-Cert certificate renewal<br \/>\n[17\/17]: Configure HTTP to proxy connections<br \/>\nDone configuring certificate server (pki-cad).<br \/>\nRestarting the directory and certificate servers<br \/>\nConfiguring directory server (dirsrv): Estimated time 31 minutes<br \/>\n[1\/31]: creating directory server user<br \/>\n[2\/31]: creating directory server instance<br \/>\n[3\/31]: adding default schema<br \/>\n[4\/31]: enabling memberof plugin<br \/>\n[5\/31]: enabling winsync plugin<br \/>\n[6\/31]: configuring replication version plugin<br \/>\n[7\/31]: enabling IPA enrollment plugin<br \/>\n[8\/31]: enabling ldapi<br \/>\n[9\/31]: disabling betxn plugins<br \/>\n[10\/31]: configuring uniqueness plugin<br \/>\n[11\/31]: configuring uuid plugin<br \/>\n[12\/31]: configuring modrdn plugin<br \/>\n[13\/31]: enabling entryUSN plugin<br \/>\n[14\/31]: configuring lockout plugin<br \/>\n[15\/31]: creating indices<br \/>\n[16\/31]: enabling referential integrity plugin<br \/>\n[17\/31]: configuring ssl for ds instance<br \/>\n[18\/31]: configuring certmap.conf<br \/>\n[19\/31]: configure autobind for root<br \/>\n[20\/31]: configure new location for managed entries<br \/>\n[21\/31]: restarting directory server<br \/>\n[22\/31]: setting up initial replication<br \/>\nStarting replication, please wait until this has completed.<br \/>\nUpdate in progress<br \/>\nUpdate in progress<br \/>\nUpdate in progress<br \/>\nUpdate succeeded<br \/>\n[23\/31]: adding replication acis<br \/>\n[24\/31]: setting Auto Member configuration<br \/>\n[25\/31]: enabling S4U2Proxy delegation<br \/>\n[26\/31]: initializing group membership<br \/>\n[27\/31]: adding master entry<br \/>\n[28\/31]: configuring Posix uid\/gid generation<br \/>\n[29\/31]: enabling compatibility plugin<br \/>\n[30\/31]: tuning directory server<br \/>\n[31\/31]: configuring directory to start on boot<br \/>\nDone configuring directory server (dirsrv).<br \/>\nConfiguring Kerberos KDC (krb5kdc): Estimated time 30 minutes 30 seconds<br \/>\n[1\/9]: adding sasl mappings to the directory<br \/>\n[2\/9]: writing stash file from DS<br \/>\n[3\/9]: configuring KDC<br \/>\n[4\/9]: creating a keytab for the directory<br \/>\n[5\/9]: creating a keytab for the machine<br \/>\n[6\/9]: adding the password extension to the directory<br \/>\n[7\/9]: enable GSSAPI for replication<br \/>\n[8\/9]: starting the KDC<br \/>\n[9\/9]: configuring KDC to start on boot<br \/>\nDone configuring Kerberos KDC (krb5kdc).<br \/>\nConfiguring kadmin<br \/>\n[1\/2]: starting kadmin<br \/>\n[2\/2]: configuring kadmin to start on boot<br \/>\nDone configuring kadmin.<br \/>\nConfiguring ipa_memcached<br \/>\n[1\/2]: starting ipa_memcached<br \/>\n[2\/2]: configuring ipa_memcached to start on boot<br \/>\nDone configuring ipa_memcached.<br \/>\nConfiguring the web interface (httpd): Estimated time 31 minutes<br \/>\n[1\/13]: setting mod_nss port to 443<br \/>\n[2\/13]: setting mod_nss protocol list to TLSv1.0 &#8211; TLSv1.2<br \/>\n[3\/13]: setting mod_nss password file<br \/>\n[4\/13]: enabling mod_nss renegotiate<br \/>\n[5\/13]: adding URL rewriting rules<br \/>\n[6\/13]: configuring httpd<br \/>\n[7\/13]: setting up ssl<br \/>\n[8\/13]: publish CA cert<br \/>\n[9\/13]: creating a keytab for httpd<br \/>\n[10\/13]: clean up any existing httpd ccache<br \/>\n[11\/13]: configuring SELinux for httpd<br \/>\n[12\/13]: restarting httpd<br \/>\n[13\/13]: configuring httpd to start on boot<br \/>\nDone configuring the web interface (httpd).<br \/>\nApplying LDAP updates<br \/>\nRestarting the directory server<br \/>\nRestarting the KDC<br \/>\nUsing reverse zone 1.168.192.in-addr.arpa.<br \/>\nConfiguring DNS (named)<br \/>\n[1\/8]: adding NS record to the zone<br \/>\n[2\/8]: setting up reverse zone<br \/>\n[3\/8]: setting up our own record<br \/>\n[4\/8]: setting up kerberos principal<br \/>\n[5\/8]: setting up named.conf<br \/>\n[6\/8]: restarting named<br \/>\n[7\/8]: configuring named to start on boot<br \/>\n[8\/8]: changing resolv.conf to point to ourselves<br \/>\nDone configuring DNS (named).<\/p>\n<p>Global DNS configuration in LDAP server is empty<br \/>\nYou can use &#8216;dnsconfig-mod&#8217; command to set global DNS options that<br \/>\nwould override settings in local named.conf files<\/p>\n<p>Restarting the web server<br \/>\n[root@cluster3 ~]#<\/p>\n<p>&nbsp;<\/p>\n<p>[root@cluster3 ~]# kinit admin<br \/>\nPassword for admin@RMOHAN.COM:<br \/>\n[root@cluster3 ~]# klist<br \/>\nTicket cache: FILE:\/tmp\/krb5cc_0<br \/>\nDefault principal: admin@RMOHAN.COM<\/p>\n<p>Valid starting\u00a0\u00a0\u00a0\u00a0 Expires\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Service principal<br \/>\n01\/07\/16 11:35:16\u00a0 01\/08\/16 11:35:12\u00a0 krbtgt\/RMOHAN.COM@RMOHAN.COM<br \/>\n[root@cluster3 ~]#<\/p>\n<p>[root@cluster3 ~]# ipa user-find<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n4 users matched<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nUser login: admin<br \/>\nLast name: Administrator<br \/>\nHome directory: \/home\/admin<br \/>\nLogin shell: \/bin\/bash<br \/>\nUID: 1620400000<br \/>\nGID: 1620400000<br \/>\nAccount disabled: False<br \/>\nPassword: True<br \/>\nKerberos keys available: True<\/p>\n<p>User login: mohan<br \/>\nFirst name: Mohan<br \/>\nLast name: Ramadoss<br \/>\nHome directory: \/home\/mohan<br \/>\nLogin shell: \/bin\/bash<br \/>\nEmail address: mohan@rmohan.com<br \/>\nUID: 1620400001<br \/>\nGID: 1620400001<br \/>\nAccount disabled: False<br \/>\nPassword: True<br \/>\nKerberos keys available: True<\/p>\n<p>User login: test<br \/>\nFirst name: test<br \/>\nLast name: test<br \/>\nHome directory: \/home\/test<br \/>\nLogin shell: \/bin\/bash<br \/>\nEmail address: test@rmohan.com<br \/>\nUID: 1620400003<br \/>\nGID: 1620400003<br \/>\nAccount disabled: False<br \/>\nPassword: True<br \/>\nKerberos keys available: True<\/p>\n<p>User login: test1<br \/>\nFirst name: test1<br \/>\nLast name: test1<br \/>\nHome directory: \/home\/test1<br \/>\nLogin shell: \/bin\/bash<br \/>\nEmail address: test1@rmohan.com<br \/>\nUID: 1620400005<br \/>\nGID: 1620400005<br \/>\nAccount disabled: False<br \/>\nPassword: True<br \/>\nKerberos keys available: True<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nNumber of entries returned 4<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n[root@cluster3 ~]# ipa group-find<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n5 groups matched<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nGroup name: admins<br \/>\nDescription: Account administrators group<br \/>\nGID: 1620400000<br \/>\nMember users: admin<\/p>\n<p>Group name: editors<br \/>\nDescription: Limited admins who can edit other users<br \/>\nGID: 1620400002<\/p>\n<p>Group name: ipausers<br \/>\nDescription: Default group for all users<br \/>\nMember users: mohan, test, test1<\/p>\n<p>Group name: prodsupport<br \/>\nDescription: Production Support Group<br \/>\nGID: 1620400004<br \/>\nMember users: test, test1<\/p>\n<p>Group name: trust admins<br \/>\nDescription: Trusts administrators group<br \/>\nMember users: admin<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nNumber of entries returned 5<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FreeIPA is a solution for managing users, groups, hosts, services, and much, much more. It uses open source solutions with some Python glue to make things work. Identity Management made easy for the Linux administrator. FreeIPA is an open source alternative to Microsoft Directory Server. It provides the following functionality:<\/p>\n<p>Centralised LDAP based authorisation Kerberos [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,73,59,20],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/5549"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5549"}],"version-history":[{"count":4,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/5549\/revisions"}],"predecessor-version":[{"id":5554,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/5549\/revisions\/5554"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}