<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-933941164961652504</id><updated>2011-11-27T16:36:25.122-08:00</updated><category term='Ubuntu'/><category term='Intrepid'/><category term='Upgrade'/><category term='Jaunty'/><title type='text'>Demystify Your Linux Box !!</title><subtitle type='html'>Open Air, Fresh Breathe, Open Freedom
...Its All About FOSS</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default?start-index=101&amp;max-results=100'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>107</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-6640033949897743731</id><published>2011-09-12T20:03:00.001-07:00</published><updated>2011-09-12T20:03:23.080-07:00</updated><title type='text'>Configuring the SNMP Agent on RHEL 5.5 on PowerEdge P805</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, helvetica, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;strong&gt;Configuring the SNMP Agent on RHEL 5.5 on PowerEdge P805&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1:&amp;gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1.SNMP Agent control Configuration&lt;br /&gt;2.SNMP Agent Install Actions&lt;br /&gt;3.Changing the Community Name&lt;br /&gt;4.Enabling SNMP Set Operation&lt;br /&gt;5.Sending System Trap to a Management Station&lt;br /&gt;&lt;br /&gt;File: /etc/snmp/snmpd.conf&lt;/span&gt;&lt;br /&gt;&lt;ol style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 3em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li&gt;the agent so that you can change the community names, and give&lt;/li&gt;&lt;li&gt;yourself write access to the mib tree as well.&lt;/li&gt;&lt;/ol&gt;#&lt;br /&gt;# For more information, read the FAQ as well as the snmpd.conf(5)&lt;br /&gt;&lt;ol style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 3em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li&gt;manual page.&lt;/li&gt;&lt;/ol&gt;####&lt;br /&gt;# First, map the community name "public" into a "security name"&lt;br /&gt;#sec.name sourcecommunity&lt;br /&gt;com2sec notConfigUser default raina ===&amp;lt; Changing the Community Name&lt;br /&gt;com2sec readonly default public&lt;br /&gt;####&lt;br /&gt;&lt;ol style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 3em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li&gt;Second, map the security name into a group name:&lt;/li&gt;&lt;/ol&gt;#groupName securityModel securityName&lt;br /&gt;group notConfigGroup v1notConfigUser&lt;br /&gt;group notConfigGroup v2cnotConfigUser&lt;br /&gt;####&lt;br /&gt;&lt;ol style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 3em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li&gt;Third, create a view for us to let the group have rights to:&lt;/li&gt;&lt;li&gt;Make at least snmpwalk -v 1 localhost -c public system fast again.&lt;/li&gt;&lt;/ol&gt;#nameincl/excl subtreemask(optional)&lt;br /&gt;view allincluded .1 ===&amp;lt; SNMP Agent Install Actions&lt;br /&gt;view systemview included .1.3.6.1.2.1.1&lt;br /&gt;view systemview included .1.3.6.1.2.1.25.1.1&lt;br /&gt;####&lt;br /&gt;&lt;ol style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 3em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li&gt;Finally, grant the group read-only access to the systemview view.&lt;/li&gt;&lt;/ol&gt;#groupcontext sec.model sec.level prefix read write notif&lt;br /&gt;access notConfigGroup "" anynoauth exact all all none&lt;br /&gt;trapsink 10.112.173.215 raina ===&amp;lt; Sending Trap to remote Management Station&lt;br /&gt;smuxpeer .1.3.6.1.4.1.674.108922.1 ===&amp;lt; SNNP Multiplexing Protocol&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step:2&amp;gt;&lt;/strong&gt;&lt;strong&gt;SERVICES IN SEQUENCE:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;#/etc/init.d/srvadmin-services stop&lt;br /&gt;#/etc/init.d/snmpd stop&lt;br /&gt;#/etc/init.d/ipmi start&lt;br /&gt;#/etc/init.d/srvadmin-services start&lt;br /&gt;#/etc/init.d/dataeng enablesnmp&lt;br /&gt;#/etc/init.d/snmpd restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step3&lt;/strong&gt;:&amp;gt;&amp;nbsp;&lt;strong&gt;SNMPWALK&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Command output has been truncated and put under a file tester.&lt;br /&gt;Command Used: snmpwalk -v 2c -c raina 127.0.0.1 1.3.6.1.4.1.674.10892 &amp;gt; tester&lt;br /&gt;[root@localhost snmp]# vi tester&lt;br /&gt;&lt;br /&gt;"tester" "tester" 2532L, 173770CSNMPv2-SMI::enterprises.674.10892.1.1.1.0 = INTEGER: 5&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.1.2.0 = INTEGER: 9&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.1.3.0 = INTEGER: 5&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.1.0 = STRING: "Server Administrator"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.2.0 = STRING: "5.9.5"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.3.0 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.4.0 = STRING: "Management software for Dell systems."&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.5.0 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.6.0 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.7.0 = STRING: "No Updates"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.8.0 = ""&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.9.0 = ""&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.10.0 = STRING: "6.5.0"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.11.0 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.12.0 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.100.13.0 = STRING: "Dell Inc."&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.1.1 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.2.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.3.1 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.4.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.5.1 = Hex-STRING: 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.6.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.7.1 = Hex-STRING: 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.8.1 = Hex-STRING: 02 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.9.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.10.1 = Hex-STRING: 03 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.11.1 = Hex-STRING: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02&lt;br /&gt;&lt;br /&gt;02 02 02 02 02 02 02 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.12.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.13.1 = Hex-STRING: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03&lt;br /&gt;&lt;br /&gt;03 03 03 03 03 03 03 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.14.1 = Hex-STRING: 02 02 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.15.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.16.1 = Hex-STRING: 03 03 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.17.1 = Hex-STRING: 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.18.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.19.1 = Hex-STRING: 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.20.1 = Hex-STRING: 02 02 02 02 02 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.21.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.22.1 = Hex-STRING: 03 03 03 03 03 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.23.1 = Hex-STRING: 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.24.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.25.1 = Hex-STRING: 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.26.1 = Hex-STRING: 02 02 02 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.27.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.28.1 = Hex-STRING: 03 03 03 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.29.1 = Hex-STRING: 02&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.30.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.31.1 = Hex-STRING: 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.41.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.42.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.43.1 = Hex-STRING: 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.44.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.45.1 = Hex-STRING: 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.50.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.51.1 = Hex-STRING: 03 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.52.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.200.10.1.53.1 = Hex-STRING: 03&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.1.1 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.2.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.3.1 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.4.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.5.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.6.1 = INTEGER: 23&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.7.1 = STRING: "Main System Chassis"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.8.1 = STRING: "Dell Inc."&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.9.1 = STRING: "PowerEdge R805"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.10.1 = ""&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.11.1 = STRING: "15XFW1S"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.12.1 = INTEGER: 254&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.13.1 = INTEGER: 545&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.14.1 = INTEGER: 4&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.15.1 = STRING: "localhost.localdomain"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.16.1 = STRING: "20110827194722.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.17.1 = STRING: "20110913083449.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.18.1 = STRING: "Please set the value"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.19.1 = STRING: "Please set the value"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.20.1 = STRING: "Please set the value"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.21.1 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.22.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.23.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.24.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.25.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.26.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.27.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.28.1 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.29.1 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.30.1 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.31.1 = INTEGER: 1023&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.32.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.37.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.38.1 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.39.1 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.44.1 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.45.1 = INTEGER: 4&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.46.1 = INTEGER: 0&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.10.1.49.1 = STRING: "2535281920"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.1 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.2 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.3 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.4 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.5 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.6 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.7 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.8 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.9 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.10 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.11 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.12 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.13 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.14 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.15 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.16 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.17 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.18 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.19 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.20 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.21 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.22 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.23 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.24 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.25 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.26 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.27 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.28 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.29 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.30 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.31 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.32 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.33 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.34 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.35 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.36 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.37 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.38 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.39 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.40 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.41 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.42 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.43 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.44 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.45 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.46 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.1.1.47 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.1 = INTEGER: 1&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.2 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.3 = INTEGER: 3&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.4 = INTEGER: 4&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.5 = INTEGER: 5&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.6 = INTEGER: 6&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.7 = INTEGER: 7&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.8 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.9 = INTEGER: 9&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.10 = INTEGER: 10&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.11 = INTEGER: 11&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.12 = INTEGER: 12&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.13 = INTEGER: 13&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.14 = INTEGER: 14&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.15 = INTEGER: 15&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.16 = INTEGER: 16&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.17 = INTEGER: 17&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.18 = INTEGER: 18&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.19 = INTEGER: 19&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.20 = INTEGER: 20&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.21 = INTEGER: 21&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.22 = INTEGER: 22&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.23 = INTEGER: 23&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.24 = INTEGER: 24&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.25 = INTEGER: 25&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.26 = INTEGER: 26&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.27 = INTEGER: 27&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.28 = INTEGER: 28&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.29 = INTEGER: 29&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.30 = INTEGER: 30&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.31 = INTEGER: 31&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.32 = INTEGER: 32&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.33 = INTEGER: 33&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.34 = INTEGER: 34&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.35 = INTEGER: 35&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.36 = INTEGER: 36&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.37 = INTEGER: 37&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.38 = INTEGER: 38&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.39 = INTEGER: 39&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.40 = INTEGER: 40&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.41 = INTEGER: 41&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.42 = INTEGER: 42&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.43 = INTEGER: 43&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.44 = INTEGER: 44&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.45 = INTEGER: 45&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.46 = INTEGER: 46&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.2.1.47 = INTEGER: 47&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.1 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.2 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.3 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.4 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.5 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.6 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.7 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.8 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.9 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.10 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.11 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.12 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.13 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.14 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.15 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.16 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.17 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.18 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.19 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.20 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.21 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.22 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.23 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.24 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.25 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.26 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.27 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.28 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.29 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.30 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.31 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.32 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.33 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.34 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.35 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.36 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.37 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.38 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.39 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.40 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.41 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.42 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.43 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.44 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.45 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.46 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.3.1.47 = INTEGER: 8&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.1 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.2 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.3 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.4 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.5 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.6 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.7 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.8 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.9 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.10 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.11 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.12 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.13 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.14 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.15 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.16 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.17 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.18 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.19 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.20 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.21 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.22 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.23 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.24 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.25 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.26 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.27 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.28 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.29 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.30 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.31 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.32 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.33 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.34 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.35 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.36 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.37 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.38 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.39 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.40 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.41 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.42 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.43 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.44 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.45 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.46 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.300.40.1.4.1.47 = INTEGER: 2&lt;br /&gt;&lt;br /&gt;:$ SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.7.1.7 = STRING: "4341F5CA"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.7.1.8 = STRING: "4341F5BF"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.7.1.9 = STRING: "4341F53A"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.7.1.10 = STRING: "4341F5D0"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.1 = STRING: "0D456H"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.2 = STRING: "12685J"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.3 = STRING: "0G193F"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.4 = STRING: "0G193F"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.5 = STRING: "0CR679"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.6 = STRING: "0MX203"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.7 = STRING: "M3 93T5160CZA-CE6"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.8 = STRING: "M3 93T5160CZA-CE6"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.9 = STRING: "M3 93T5160CZA-CE6"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.8.1.10 = STRING: "M3 93T5160CZA-CE6"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.9.1.1 = STRING: "A00"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.9.1.2 = STRING: "A02"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.9.1.3 = STRING: "A00"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.9.1.4 = STRING: "A00"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.9.1.5 = STRING: "A03"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.9.1.6 = STRING: "A01"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.1 = STRING: "20080603170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.2 = STRING: "20080518000000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.3 = STRING: "20080602170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.4 = STRING: "20080602170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.5 = STRING: "20080519170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.6 = STRING: "20080504170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.7 = STRING: "20080421170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.8 = STRING: "20080421170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.9 = STRING: "20080421170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.10.1.10 = STRING: "20080421170000.000000+330"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.11.1.7 = STRING: "010817"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.11.1.8 = STRING: "010817"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.11.1.9 = STRING: "010817"&lt;br /&gt;&lt;br /&gt;SNMPv2-SMI::enterprises.674.10892.1.2000.10.1.11.1.10 = STRING: "010817"&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-6640033949897743731?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/6640033949897743731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2011/09/configuring-snmp-agent-on-rhel-55-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6640033949897743731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6640033949897743731'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2011/09/configuring-snmp-agent-on-rhel-55-on.html' title='Configuring the SNMP Agent on RHEL 5.5 on PowerEdge P805'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-7322618081910479901</id><published>2010-10-28T05:40:00.000-07:00</published><updated>2010-10-28T05:40:41.936-07:00</updated><title type='text'>Rsync Explained !!!!</title><content type='html'>&lt;strong&gt;Rsync&lt;/strong&gt; is a  free software computer program for Unix and Linux like systems which  synchronizes files and directories from one location to another while  minimizing data transfer using delta encoding when appropriate.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How do I install rsync?&lt;/h3&gt;Use any one of the following commands to install rsync.&lt;br /&gt;&lt;h4&gt;If you are using Debian or Ubuntu Linux, type the following command &lt;/h4&gt;&lt;code&gt;# apt-get install rsync&lt;/code&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;code&gt;$ sudo apt-get install rsync&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Always use rsync over ssh&lt;/h3&gt;Since rsync does not provide any security while transferring data it  is recommended that you use rsync over ssh . This allows a secure remote  connection. Now let us see some examples of rsync.&lt;br /&gt;&lt;h3&gt;rsync command common options&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;--delete&lt;/strong&gt; : delete files that don't exist on sender (system)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;-v&lt;/strong&gt; : Verbose (try &lt;strong&gt;-vv&lt;/strong&gt; for more detailed information)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;-e "ssh options"&lt;/strong&gt; : specify the ssh as remote shell&lt;/li&gt;&lt;li&gt;&lt;strong&gt;-a&lt;/strong&gt; : archive mode&lt;/li&gt;&lt;li&gt;&lt;strong&gt;-r&lt;/strong&gt;  : recurse into directories&lt;/li&gt;&lt;li&gt;&lt;strong&gt;-z&lt;/strong&gt; : compress file data&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Task : Copy file from a local computer to a remote server &lt;/h3&gt;Copy file from /www/backup.tar.gz to a remote server called openbsd.nixcraft.in&lt;br /&gt;&lt;code&gt;$ rsync -v -e ssh /www/backup.tar.gz jerry@openbsd.nixcraft.in:~&lt;/code&gt;Output: &lt;br /&gt;&lt;pre&gt;Password:&lt;br /&gt;sent 19099 bytes  received 36 bytes  1093.43 bytes/sec&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;total size is 19014  speedup is 0.99&lt;/pre&gt;Please note that symbol &lt;strong&gt;~&lt;/strong&gt; indicate the users home directory (/home/jerry). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Task : Copy file from a remote server to a local computer&lt;/h3&gt;Copy file /home/jerry/webroot.txt from a remote server openbsd.nixcraft.in to a local computer /tmp directory:&lt;br /&gt;&lt;code&gt;$ rsync -v -e ssh jerry@openbsd.nixcraft.in:~/webroot.txt /tmp &lt;/code&gt;&lt;br /&gt;Password&lt;br /&gt;&lt;h3&gt;Task: Synchronize a local directory with a remote directory&lt;/h3&gt;&lt;code&gt;$ rsync -r -a -v -e "ssh -l jerry" --delete openbsd.nixcraft.in:/webroot/ /local/webroot &lt;/code&gt;&lt;br /&gt;&lt;h3&gt;Task: Synchronize a remote directory with a local directory&lt;/h3&gt;&lt;code&gt;$ rsync -r -a -v -e "ssh -l jerry" --delete /local/webroot openbsd.nixcraft.in:/webroot&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Task: Synchronize a local directory with a remote rsync server&lt;/h3&gt;&lt;code&gt;$ rsync -r -a -v --delete rsync://rsync.nixcraft.in/cvs /home/cvs&lt;/code&gt;&lt;br /&gt;&lt;h3&gt;Task: Mirror a directory between my "old" and "new" web server/ftp&lt;/h3&gt;You can mirror a directory between my "old" (my.old.server.com) and  "new" web server with the command (assuming that ssh keys are set for  password less authentication)&lt;br /&gt;&lt;code&gt;$ rsync -zavrR --delete --links --rsh="ssh -l vivek" my.old.server.com:/home/lighttpd /home/lighttpd&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-7322618081910479901?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/7322618081910479901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/10/rsync-explained.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7322618081910479901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7322618081910479901'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/10/rsync-explained.html' title='Rsync Explained !!!!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-256510673483181487</id><published>2010-08-03T00:02:00.001-07:00</published><updated>2010-08-03T00:02:27.991-07:00</updated><title type='text'>How do I set-up Red Hat Cluster Suite 4?</title><content type='html'>&lt;div class="content"&gt;         &lt;div class="post-49 page type-page hentry post" id="post-49"&gt;      &lt;h2&gt;&lt;a href="http://linuxdistribution.wordpress.com/clustering/" rel="bookmark" title="Clustering"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="entry"&gt;       &lt;div class="snap_preview"&gt;&lt;br /&gt;First install all of the required packages for Red Hat Cluster Suite  4.&amp;nbsp; Once all Cluster Suite packages are installed, execute the following  command to launch the cluster configuration interface:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;system-config-cluster&lt;/code&gt;&lt;/pre&gt;This tool provides the capability to configure the cluster members, fencing, resources and services for this cluster.&lt;br /&gt;First, configure the cluster nodes. Click on the Cluster Nodes label.  A button will show up in the bottom right hand corner that says Add a  Cluster Node (Figure 1). Click on this button. Add the hostname for the  cluster nodes. Use the output from uname -n on the nodes for the member  names. Give each node 1 quorum vote, unless there is a large system that  needs to be weighted more (Figure 2).&lt;br /&gt;&lt;a href="http://linuxdistribution.files.wordpress.com/2010/06/cluster-1.jpg"&gt;&lt;img alt="" class="aligncenter size-thumbnail wp-image-87" height="150" src="http://linuxdistribution.files.wordpress.com/2010/06/cluster-1.jpg?w=138&amp;amp;h=150" title="cluster-1" width="138" /&gt;&lt;/a&gt;&lt;a href="http://linuxdistribution.files.wordpress.com/2010/06/cluster-2.jpg"&gt;&lt;img alt="" class="aligncenter size-thumbnail wp-image-88" height="58" src="http://linuxdistribution.files.wordpress.com/2010/06/cluster-2.jpg?w=150&amp;amp;h=58" title="cluster-2" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;Fencing set-up. Fencing is what reboots the nodes if there is a  failure. This is absolutely required in Red Hat Cluster Suite 4, since  fencing keeps data corruption from happening. First, there must be a  power switch that the nodes are plugged into. Click on the Fence Devices  label and then click on the Add a Fence Device button in the bottom  right hand corner of the interface. Select the make of the power switch  and enter the power switch specific information here (Figure 3). Once  this is complete the host specific fencing information can be  configured.&lt;br /&gt;&lt;a href="http://linuxdistribution.files.wordpress.com/2010/06/cl-3.jpg"&gt;&lt;img alt="" class="aligncenter size-thumbnail wp-image-89" height="129" src="http://linuxdistribution.files.wordpress.com/2010/06/cl-3.jpg?w=150&amp;amp;h=129" title="cl-3" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;Select the individual nodes under the Cluster Nodes label. Click the  Manage Fencing For This Node button to bring up the fencing  configuration dialog (Figure 4). Click on the Add a New Fence Level  button. This will create Fence-Level-1. Click on the Fence-Level-1 label  and then click the Add a New Fence to this Level button. Select the  fence device that was configured in the previous step. Enter any node  specific information, such as which power socket this node is plugged  into, then click OK (Figure 5).&lt;br /&gt;&lt;a href="http://linuxdistribution.files.wordpress.com/2010/06/cl-4.jpg"&gt;&lt;img alt="" class="aligncenter size-thumbnail wp-image-90" height="129" src="http://linuxdistribution.files.wordpress.com/2010/06/cl-4.jpg?w=150&amp;amp;h=129" title="cl-4" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://linuxdistribution.files.wordpress.com/2010/06/cl-6.jpg"&gt;&lt;img alt="" class="aligncenter size-thumbnail wp-image-92" height="129" src="http://linuxdistribution.files.wordpress.com/2010/06/cl-6.jpg?w=150&amp;amp;h=129" title="cl-6" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;Services set-up. First, add resources. The available resources are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GFS – This is a Global File System resource, create this if you are mounting a GFS file system&lt;/li&gt;&lt;li&gt;File System – The shared partition the service’s data will be on&lt;/li&gt;&lt;li&gt;IP Address – The IP address that clients will connect to the service through&lt;/li&gt;&lt;li&gt;NFS Mount – Use this option if there is no shared storage and  instead the system is using an NFS mount for the service’s shared data&lt;/li&gt;&lt;li&gt;Script – This is the init scrip that will control the service&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Note:&lt;/strong&gt; There are other NFS options, but they will be  changing as of Red Hat Enterprise Linux 4 Update 3, so they will not be  described here.&lt;br /&gt;A service will generally use a few of the above resources, not all.  For example, if I were to setup Apache as a service, I would first  create an IP address resource for the clients to connect to, then a  Script resource that would point to /etc/init.d/httpd and then a File  System that would point to my shared storage where the web pages are  held. The File System resource could in this case be replaced with an  NFS mount of the web page. Once the resources are created, you would  want to create a service and add the resources to that service. You can  do this by clicking on the Orange Services label, and then clicking the  Create a Service button.&lt;br /&gt;Once you are satisfied with your configuration, navigate to the  File-&amp;gt;Save option in the menu. This will save the configuration in  /etc/cluster/cluster.conf. In case something else is wrong that may have  missed, it is best to use scp to copy the configuration over to the  other nodes in the cluster when the cluster is initially set-up. Once  this is complete, start the cluster services with the following  commands:&lt;br /&gt;&lt;!--[CodeBlockStart:e05af396-ea34-4296-9c3e-565db91cd043]--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;service ccsd start&lt;br /&gt;&lt;br /&gt;service cman start&lt;br /&gt;&lt;br /&gt;service fence start&lt;br /&gt;&lt;br /&gt;service rgmanager start&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!--[CodeBlockEnd:d0b5723f-38b5-403b-a2f7-0819fbe1670a]--&gt;&lt;br /&gt;If there are problems with this step, ensure any firewalls are off and all of the nodes can ping each other.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-256510673483181487?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/256510673483181487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/08/how-do-i-set-up-red-hat-cluster-suite-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/256510673483181487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/256510673483181487'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/08/how-do-i-set-up-red-hat-cluster-suite-4.html' title='How do I set-up Red Hat Cluster Suite 4?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-4237109811482775626</id><published>2010-08-03T00:00:00.001-07:00</published><updated>2010-08-03T00:01:08.149-07:00</updated><title type='text'>Ubuntu 10.10 Maverick Meerkat schedule changed !!</title><content type='html'>&lt;h2&gt;&lt;a href="http://linuxdistribution.wordpress.com/2010/06/12/ubuntu-10-10-maverick-meerkat-schedule-c/" rel="bookmark" title="Ubuntu 10.10 Maverick Meerkat schedule changed !!"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="postinfo"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="snap_preview"&gt;&lt;a href="http://linuxdistribution.files.wordpress.com/2010/06/ubuntu-logo1.jpg"&gt;&lt;img alt="" class="alignleft size-thumbnail wp-image-6" height="137" src="http://linuxdistribution.files.wordpress.com/2010/06/ubuntu-logo1.jpg?w=150&amp;amp;h=137" title="ubuntu-logo1" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;The release schedule of Ubuntu 10.10 Maverick Meerkat has changed again.&lt;br /&gt;As per Ubuntu official website, the following dates has been finalized:&lt;br /&gt;Alpha 1 -&amp;gt; June 3rd 2010&lt;br /&gt;Alpha 2 -&amp;gt; July 1st 2010&lt;br /&gt;Alpha 3 -&amp;gt; August 5th 2010&lt;br /&gt;Beta -&amp;gt; September 2nd 2010&lt;br /&gt;Release candidate -&amp;gt; October 1st 2010&lt;br /&gt;Final Release(GA) -&amp;gt; October 10th 2010&lt;br /&gt;&lt;br /&gt;Source:https://wiki.ubuntu.com/MaverickReleaseSchedule&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-4237109811482775626?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/4237109811482775626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/08/ubuntu-1010-maverick-meerkat-schedule.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4237109811482775626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4237109811482775626'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/08/ubuntu-1010-maverick-meerkat-schedule.html' title='Ubuntu 10.10 Maverick Meerkat schedule changed !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3333323827808909237</id><published>2010-08-02T23:59:00.000-07:00</published><updated>2010-08-03T00:01:29.558-07:00</updated><title type='text'>Fedora 14 Release Schedule Finalized !!</title><content type='html'>&lt;h2&gt;&lt;a href="http://linuxdistribution.wordpress.com/2010/06/16/fedora-13-laughlin-release-scheduled/" rel="bookmark" title="Fedora 14 “Laughlin” Release scheduled !!"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="postinfo"&gt;&lt;br /&gt;&lt;span class="postdate"&gt;&lt;/span&gt;      &lt;/div&gt;&lt;div class="snap_preview"&gt;&lt;a href="http://linuxdistribution.files.wordpress.com/2010/06/fedora-logo.png"&gt;&lt;img alt="" class="alignleft size-thumbnail wp-image-175" height="148" src="http://linuxdistribution.files.wordpress.com/2010/06/fedora-logo.png?w=150&amp;amp;h=148" title="fedora-logo" width="150" /&gt;&lt;/a&gt;Fedora  14 “Laughlin” is scheduled to be released in late October or  early-to-mid November. The first alpha release of Red Hat’s Fedora 14 is  expected in mid-August. Fedora 14 is expected to ship with X.Org Server  1.9, GCC 4.5, and offer many other package updates and new features.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;2010-05-25 &amp;nbsp;&amp;nbsp; &amp;nbsp;Fedora 13 Release&lt;br /&gt;2010-07-13 &amp;nbsp;&amp;nbsp; &amp;nbsp;Feature Submission Deadline&lt;br /&gt;2010-07-27 &amp;nbsp;&amp;nbsp; &amp;nbsp;Feature Freeze–Planning &amp;amp; Development Ends&lt;br /&gt;2010-07-27 &amp;nbsp;&amp;nbsp; &amp;nbsp;Branch Fedora 14 from Rawhide&lt;br /&gt;2010-08-03 &amp;nbsp;&amp;nbsp; &amp;nbsp;Software String Freeze&lt;br /&gt;2010-08-03 &amp;nbsp;&amp;nbsp; &amp;nbsp;Alpha Change Deadline&lt;br /&gt;2010-08-17 &amp;nbsp;&amp;nbsp; &lt;b&gt; Alpha Release&lt;/b&gt;&lt;br /&gt;2010-08-31 &amp;nbsp;&amp;nbsp; &amp;nbsp;Software Translation Deadline&lt;br /&gt;2010-09-07 &amp;nbsp;&amp;nbsp; &amp;nbsp;Beta Change Deadline&lt;br /&gt;2010-09-21 &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;b&gt;Beta Release&lt;/b&gt;&lt;br /&gt;2010-10-11 &amp;nbsp;&amp;nbsp; &amp;nbsp;Final Change Deadline&lt;br /&gt;2010-10-12 &amp;nbsp;&amp;nbsp; &amp;nbsp;Compose Release Candidate&lt;br /&gt;2010-10-26 &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;b&gt;Fedora 14 Final Release&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-3333323827808909237?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/3333323827808909237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/08/fedora-14-release-schedule-finalized.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3333323827808909237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3333323827808909237'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/08/fedora-14-release-schedule-finalized.html' title='Fedora 14 Release Schedule Finalized !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-434759124616269115</id><published>2010-05-27T05:01:00.000-07:00</published><updated>2010-06-14T04:53:35.906-07:00</updated><title type='text'>How to access ILOM from within Linux Host ?</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;1) Check for below packages&lt;br /&gt;#rpm -q hpasm &lt;br /&gt;#rpm -q hprsm&lt;br /&gt;#rpm -q hponcfg&lt;br /&gt;&lt;br /&gt;if they are not installed follow below instructions to install those packages&lt;br /&gt;&lt;br /&gt;Install latest version of &lt;br /&gt;hpasm, hprsm and hponcfg packages from below hp web url for specified model and OS version  &lt;br /&gt;&lt;br /&gt;http://h18000.www1.hp.com/support/files/server/us/index.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3)Then start hpasm service followed by hprsm.&lt;br /&gt;&lt;br /&gt;#servce hpasm start&lt;br /&gt;#service hprsm start&lt;br /&gt;#hponcfg -?&lt;br /&gt;if it throws any firmware related error&lt;br /&gt;then download latest firmware (ILO online firmware) from above link&lt;br /&gt;#sh &lt;firmware.exe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;wait for 2 minutes to get ILO reset&lt;br /&gt;&lt;br /&gt;4)Then execute below command to view the ILO configuration&lt;br /&gt;&lt;br /&gt;#hponcfg -w /tmp/ilo -l /tmp/ilo_log&lt;br /&gt;&lt;br /&gt;#cat /tmp/ilo output contains ILO configuration&lt;br /&gt;&lt;br /&gt;5)To add user to the ILO.&lt;br /&gt;&lt;br /&gt;#hponcfg -f  add_user.xml -l /tmp/ilo_log  &lt;br /&gt;&lt;br /&gt;Below is the add_user.xml customized script. keep this script in current working directory&lt;br /&gt;&lt;br /&gt;&lt;ribcl version="2.1"&gt;&lt;br /&gt;&lt;login password="password" user_login="Administrator"&gt;&lt;/login&gt;&lt;/ribcl&gt;&lt;/firmware.exe&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_zBpmLlXk0_M/TBYYGkCeh0I/AAAAAAAAABc/3wst02EMUU0/s1600/fig-1.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_zBpmLlXk0_M/TBYYGkCeh0I/AAAAAAAAABc/3wst02EMUU0/s320/fig-1.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;firmware.exe&gt;&lt;ribcl version="2.1"&gt;&lt;login password="password" user_login="Administrator"&gt;&lt;br /&gt;&lt;user_info mode="write"&gt;&lt;br /&gt;&lt;add_user password="operator" user_login="operator" user_name="operator"&gt;&lt;br /&gt;&lt;admin_priv value="No"&gt;&lt;br /&gt;&lt;remote_cons_priv value="Yes"&gt;&lt;br /&gt;&lt;reset_server_priv value="yes"&gt;&lt;br /&gt;&lt;virtual_media_priv value="Yes"&gt;&lt;br /&gt;&lt;config_ilo_priv value="Yes"&gt;&lt;br /&gt;&lt;/config_ilo_priv&gt;&lt;br /&gt;&lt;/virtual_media_priv&gt;&lt;br /&gt;&lt;/reset_server_priv&gt;&lt;br /&gt;&lt;/remote_cons_priv&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Below is the command for to change the network parameters &lt;br /&gt;#hponcfg -f network_mod.xml -l /tmp/ilo_log&lt;br /&gt;&lt;br /&gt;Below is the network_mod.xml customized script. keep this script in current working directory and change the&lt;br /&gt;ipaddress, netmask,gateway,speed and duplex parameters in the below script as per your requirement.&lt;br /&gt;&lt;br /&gt;&lt;/admin_priv&gt;&lt;/add_user&gt;&lt;/user_info&gt;&lt;/login&gt;&lt;/ribcl&gt;&lt;/firmware.exe&gt;&lt;br /&gt;&lt;firmware.exe&gt;&lt;ribcl version="2.1"&gt;&lt;login password="password" user_login="Administrator"&gt;&lt;user_info mode="write"&gt;&lt;add_user password="operator" user_login="operator" user_name="operator"&gt;&lt;admin_priv value="No"&gt;&lt;/admin_priv&gt;&lt;/add_user&gt;&lt;/user_info&gt;&lt;/login&gt;&lt;/ribcl&gt;&lt;/firmware.exe&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_zBpmLlXk0_M/TBYYIdfz5BI/AAAAAAAAABk/44TDWY3xa00/s1600/fig-2.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_zBpmLlXk0_M/TBYYIdfz5BI/AAAAAAAAABk/44TDWY3xa00/s320/fig-2.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;firmware.exe&gt;&lt;ribcl version="2.1"&gt;&lt;login password="password" user_login="Administrator"&gt;&lt;user_info mode="write"&gt;&lt;add_user password="operator" user_login="operator" user_name="operator"&gt;&lt;admin_priv value="No"&gt;&lt;br /&gt;&lt;br /&gt;Note:In HP web site u will get ILO driver for ESX and Linux for each server model.&lt;br /&gt;&lt;br /&gt;Install it and run following commands to see the ILO IP of the machine. No need of reboot.&lt;br /&gt;&lt;br /&gt;#hponcfg -w /tmp/ilo -l /tmp/ilo_log&lt;br /&gt;#cat /tmp/ilo&lt;/admin_priv&gt;&lt;/add_user&gt;&lt;/user_info&gt;&lt;/login&gt;&lt;/ribcl&gt;&lt;/firmware.exe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-434759124616269115?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/434759124616269115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/05/how-to-access-ilom-from-within-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/434759124616269115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/434759124616269115'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/05/how-to-access-ilom-from-within-linux.html' title='How to access ILOM from within Linux Host ?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zBpmLlXk0_M/TBYYGkCeh0I/AAAAAAAAABc/3wst02EMUU0/s72-c/fig-1.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5403295044511159852</id><published>2010-04-20T02:57:00.000-07:00</published><updated>2010-04-20T02:57:55.421-07:00</updated><title type='text'>Fedora 13 Beta Released Last Week !!</title><content type='html'>Anyone who gave a try to the new Fedora 13 Beta.&lt;br /&gt;Few new features which I appreciate:&lt;br /&gt;&lt;br /&gt;1. NetworkManager Command Line &lt;br /&gt;2.Enhanced NFS Client IPv6&lt;br /&gt;3.System Rollback With Btrfs &lt;br /&gt;4.Zarafa - Zarafa Outlook Sharing is a Microsoft Exchange replacement&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5403295044511159852?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5403295044511159852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/04/fedora-13-beta-released-last-week.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5403295044511159852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5403295044511159852'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/04/fedora-13-beta-released-last-week.html' title='Fedora 13 Beta Released Last Week !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-7082004037685768757</id><published>2010-04-18T23:00:00.001-07:00</published><updated>2010-04-18T23:00:34.142-07:00</updated><title type='text'>Installing Mac Fonts on Ubuntu 10.04</title><content type='html'>Installing the fonts:&lt;br /&gt;&lt;br /&gt;1. From the Linux terminal, download Mac fonts with this command:&lt;br /&gt;&lt;br /&gt;$ wget http://ubuntu-debs.googlecode.com/files/macfonts.tar.gz&lt;br /&gt;&lt;br /&gt;2. Untar or extract the downloaded file:&lt;br /&gt;&lt;br /&gt;$ tar zxvf macfonts.tar.gz&lt;br /&gt;&lt;br /&gt;3. Move macfonts folder to the /fonts directory:&lt;br /&gt;&lt;br /&gt;$ sudo mv macfonts /usr/share/fonts/&lt;br /&gt;&lt;br /&gt;4. Reload the font cache:&lt;br /&gt;&lt;br /&gt;$ sudo fc-cache -f -v&lt;br /&gt;&lt;br /&gt;Using the fonts:&lt;br /&gt;&lt;br /&gt;You can now test or use the fonts by going to System --&gt; Preferences --&gt; Appearance, and then clicking on the "Fonts" tab. Here is a sample setup on using theMac fonts:&lt;br /&gt;&lt;br /&gt;Application font: Lucida MAC 10&lt;br /&gt;Document font: Lucida MAC 10&lt;br /&gt;Desktop font: Lucida MAC 10&lt;br /&gt;Window title font: LucidaMacBold 10&lt;br /&gt;Fixed width font: Lucida Console 10&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-7082004037685768757?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/7082004037685768757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/04/installing-mac-fonts-on-ubuntu-1004.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7082004037685768757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7082004037685768757'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/04/installing-mac-fonts-on-ubuntu-1004.html' title='Installing Mac Fonts on Ubuntu 10.04'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-66639875348934585</id><published>2010-04-18T22:53:00.001-07:00</published><updated>2010-04-18T22:53:40.384-07:00</updated><title type='text'>Minimum RAM for Fedora 13 beta?</title><content type='html'>As a rule of thumb, I wouldn't go one byte less than 512MB for 32-bit, or 1GB for 64-bit.&lt;br /&gt;&lt;br /&gt;More realistically, 1GB is a probably a good "minimum RAM" to start with for any GUI OS (32- or 64-bit), then increase as-needed. People might disagree, but it's honestly my experience that if you really need to have less than 1GB RAM ... then you probably shouldn't be considering a Gnome or KDE desktop. If you don't have enough RAM, you should probably consider a server (e.g. text-mode) environment, or a distro like Puppy Linux (which supports REALLY tiny memory footprints!), or Ubuntu Remix.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-66639875348934585?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/66639875348934585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/04/minimum-ram-for-fedora-13-beta.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/66639875348934585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/66639875348934585'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/04/minimum-ram-for-fedora-13-beta.html' title='Minimum RAM for Fedora 13 beta?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-8854768992876990170</id><published>2010-03-31T01:00:00.000-07:00</published><updated>2010-03-31T01:01:10.635-07:00</updated><title type='text'>How to test Multicast Packet Filtering?</title><content type='html'>Today morning I started my day testing with Multicast Packet Filtering. I had Ubuntu 9.10 and CentOS 5.4 in my VM running over ESX 4.1.I decided to make CentOS as Client and Ubuntu as server for the setup.&lt;br /&gt;&lt;br /&gt;First of all, I downloaded iperf as yum was not feeling well today(just kidding).&lt;br /&gt;Its simple to install,download the package and install. Luckily, I dint get any dependency hell.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On Ubuntu Box:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SERVER MACHINE&lt;br /&gt;=====================================&lt;br /&gt;&lt;br /&gt;sudo iperf -s -u -B 224.0.65.68 -i 1&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;server listening on UDP port 5001&lt;br /&gt;Binding to local address 224.0.65.68&lt;br /&gt;Joining multicast group 224.0.65.68&lt;br /&gt;UDP Buffer size:  120 Kbytes(default)&lt;br /&gt;------------------------------------------&lt;br /&gt;&lt;br /&gt;[ 3] local 224.0.65.688 port 5001 connected with 10.112.173.86 port 38577&lt;br /&gt;[ 3] 0.0.-1.0 sec   128 KBytes 1.05 Mbits/sec   0.228 ms  0/   89 (0%)&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On CenTOS Box(Client):&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;iperf -c 224.0.65.68 -u -T 5 -t 5&lt;br /&gt;----------------------------------&lt;br /&gt;Client connecting to 224.0.65.68, UDP port 5001&lt;br /&gt;sending 1470 byte datagrams&lt;br /&gt;setting multicast TTL to 5&lt;br /&gt;UDP buffer size:   126 KBytes(default)&lt;br /&gt;------------------------------------------&lt;br /&gt;[ 3] local 10.112.173.86 port 38577 connected with 224.0.65.68 port 5001&lt;br /&gt;[ 3] 0.0- 5.0 sec 642 Kbytes  1.05 Mbits/sec&lt;br /&gt;[ 3] Sent 447 datagrams&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.It clearly shows that multicast address is 224.0.65.68.&lt;br /&gt;e.g.  server&gt; iperf -s -u -B &lt;multicast address&gt; -i 1&lt;br /&gt;&lt;br /&gt;This will have the iperf servers listening for datagram (-u) from the address (-B multicast address), with a periodic interval of 1s (-i 1)&lt;br /&gt;&lt;br /&gt;2. Configure the client VM, connecting to the multicast group address and setting the TTL (-T, --ttl) as needed&lt;br /&gt;e.g. client&gt; iperf -c &lt;multicast address&gt; -u -T 5 -t 5&lt;br /&gt;&lt;br /&gt;This will have the client connected to the multicast address (-c multicast address), with a TTL of 5 (-T 5), sending data for 5 seconds&lt;br /&gt;NOTE: Use tcpdump or ethereal on server VMs to capture and analyze IP packets and ensure its validity.&lt;br /&gt;&lt;br /&gt;Run the test for 120 sec.&lt;br /&gt;&lt;br /&gt;That's it..&lt;br /&gt;You Have just finally tested Multicast packet Filtering.&lt;br /&gt;&lt;br /&gt;Have a Cool Rainy Weather in Bangalore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-8854768992876990170?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/8854768992876990170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/how-to-test-multicast-packet-filtering.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8854768992876990170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8854768992876990170'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/how-to-test-multicast-packet-filtering.html' title='How to test Multicast Packet Filtering?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-4056467050892414248</id><published>2010-03-30T02:37:00.000-07:00</published><updated>2010-03-30T02:38:09.736-07:00</updated><title type='text'>Quick Command Reference: List Loaded Drivers on Linux?</title><content type='html'>driverquery is the command on Windows to get list of drivers. In the same way, on Linux we have lsmod which lists the drivers installed on the box.&lt;br /&gt;&lt;br /&gt;lsmod is a program to show the status of modules in the Linux Kernel. lsmod  is  a  trivial  program which nicely formats the contents of the /proc/modules, showing what kernel modules are currently loaded.&lt;br /&gt;&lt;br /&gt;Example: lsmod of a typical ESX 4.1 Box could show:&lt;br /&gt;&lt;br /&gt;[root@esx]# lsmod&lt;br /&gt;Module                  Size  Used by&lt;br /&gt;nfs                   245688  2&lt;br /&gt;lockd                  68016  2 nfs&lt;br /&gt;nfs_acl                 3904  1 nfs&lt;br /&gt;edd                    10696  0&lt;br /&gt;ppdev                  10056  0&lt;br /&gt;parport_pc             28584  0&lt;br /&gt;i2c_dev                10696  0&lt;br /&gt;i2c_core               23128  1 i2c_dev&lt;br /&gt;sunrpc                162248  11 nfs,lockd,nfs_acl&lt;br /&gt;ipt_REJECT              6080  0&lt;br /&gt;xt_tcpudp               3520  0&lt;br /&gt;ipt_LOG                 6656  0&lt;br /&gt;x_tables               17096  3 ipt_REJECT,xt_tcpudp,ipt_LOG&lt;br /&gt;parport                41100  2 ppdev,parport_pc&lt;br /&gt;nvram                   8456  0&lt;br /&gt;sg                     36520  0&lt;br /&gt;vmxnet_console         23360  1&lt;br /&gt;vmnixmod              789052  56 vmxnet_console&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-4056467050892414248?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/4056467050892414248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/quick-command-reference-list-loaded.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4056467050892414248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4056467050892414248'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/quick-command-reference-list-loaded.html' title='Quick Command Reference: List Loaded Drivers on Linux?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5831503835071688891</id><published>2010-03-28T06:13:00.000-07:00</published><updated>2010-03-28T06:13:27.958-07:00</updated><title type='text'>Understanding Jumbo Frames !!</title><content type='html'>Whether or not Gigabit Ethernet (and beyond) should support frame sizes (i.e. packets) larger than 1500 bytes has been a topic of great debate. With the explosive growth of Gigabit ethernet, the impact of this decision is critically important and will affect Internet performance for years to come.&lt;br /&gt;&lt;br /&gt;Most of the debate about jumbo frames has focused on local area network performance and the impact that frame size has on host processing requirements, interface cards, memory, etc. But what is less well known, and of critical concern for high performance computing, is the impact that frame size has on wide area network performance. This document discusses why you should care, and about the largely ignored but important impact that frame size has on the wide area performance of TCP.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How jumbo is a jumbo frame anyway?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ethernet has used 1500 byte frame sizes since it was created (around 1980). To maintain backward compatibility, 100 Mbps ethernet used the same size, and today "standard" gigabit ethernet is also using 1500 byte frames. This is so a packet to/from any combination of 10/100/1000 Mbps ethernet devices can be handled without any layer two fragmentation or reassembly.&lt;br /&gt;&lt;br /&gt;"Jumbo frames" extends ethernet to 9000 bytes. Why 9000? First because ethernet uses a 32 bit CRC that loses its effectiveness above about 12000 bytes. And secondly, 9000 was large enough to carry an 8 KB application datagram (e.g. NFS) plus packet header overhead. Is 9000 bytes enough? It's a lot better than 1500, but for pure performance reasons there is little reason to stop there. At 64 KB we reach the limit of an IPv4 datagram, while IPv6 allows for packets up to 4 GB in size. For ethernet however, the 32 bit CRC limit is hard to change, so don't expect to see ethernet frame sizes above 9000 bytes anytime soon. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;How can jumbo frames and 1500 byte frames coexist?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Two basic approaches exist:&lt;br /&gt;&lt;br /&gt;    * On a port by port basis, where everything "downstream" from a given port is known to support jumbo frames.&lt;br /&gt;    * Using 802.1q Virtual LANs, where jumbo frame and non-jumbo frame devices are segregated to different VLANs. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Jumbo frames bad for multimedia?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For applications that are sensitive to burst drops, delay jitter, etc., it can be argued that large frames are a bad idea. No application has to use large frames however, so the question is really whether other application's large frames will negatively impact your application's small ones. This is primarily an issue of slot time, i.e. how much will a large packet delay (or quantize) the time(s) available to transmit the small packets.&lt;br /&gt;&lt;br /&gt;A 9000 byte GigE packet takes the same amount of time to transmit as a 900 byte fast ethernet packet or a 90 byte 10 Mbps ethernet packet. So jumbo frames on gigabit ethernet at worse add less delay variation than 1500 byte frames do on slower ethernets. And no one is suggesting that slower ethernets use 9000 byte frames. As for queueing delay concerns, that could happen whether packets are large or small. If delivery QoS is required, then the routers need to implement some kind of priority or expedited forwarding, regardless of the packet sizes. Tiny frames (including 53 byte ATM cells) may be helpful when multiplexing lower bit rate streams, but they become increasingly ridiculous on gigabit and beyond links.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5831503835071688891?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5831503835071688891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/understanding-jumbo-frames.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5831503835071688891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5831503835071688891'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/understanding-jumbo-frames.html' title='Understanding Jumbo Frames !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5920690659951394324</id><published>2010-03-28T05:00:00.000-07:00</published><updated>2010-03-31T01:08:09.026-07:00</updated><title type='text'>Understanding iperf?</title><content type='html'>Iperf is a tool to measure the bandwidth and the quality of a network link. Jperf can be associated with Iperf to provide a graphical frontend written in Java.&lt;br /&gt;&lt;br /&gt;The network link is delimited by two hosts running Iperf.&lt;br /&gt;&lt;br /&gt;The quality of a link can be tested as follows:&lt;br /&gt;&lt;br /&gt;- Latency (response time or RTT): can be measured with the ping command.&lt;br /&gt;- Jitter (latency variation): can be measured with an Iperf UDP test.&lt;br /&gt;- Datagram loss: can be measured with an Iperf UDP test.&lt;br /&gt;&lt;br /&gt;The bandwidth is measured through TCP tests.&lt;br /&gt;&lt;br /&gt;To be clear, the difference between TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) is that TCP use processes to check that the packets are correctly sent to the receiver whereas with UDP the packets are sent without any checks but with the advantage of being quicker than TCP.&lt;br /&gt;Iperf uses the different capacities of TCP and UDP to provide statistics about network links.&lt;br /&gt;&lt;br /&gt;Finally, Iperf can be installed very easily on any UNIX/Linux or Microsoft Windows system. One host must be set as client, the other one as server.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://openmaniak.com/iperf.php#iperf-b"&gt;&lt;/a&gt;&lt;br /&gt;Here is a diagram where Iperf is installed on a Linux and Microsoft Windows machine.&lt;br /&gt;Linux is used as the Iperf client and Windows as the Iperf server. Of course, it is also possible to use two Linux boxes.&lt;br /&gt;&lt;br /&gt;screenshot Iperf bandwidth measure client server&lt;br /&gt;&lt;br /&gt;Iperf tests:&lt;br /&gt;&lt;br /&gt;no arg.&lt;br /&gt;-b&lt;br /&gt;-r&lt;br /&gt;-d&lt;br /&gt;-w&lt;br /&gt;Default settings&lt;br /&gt;Data format&lt;br /&gt;Bi-directional bandwidth&lt;br /&gt;Simultaneous bi-directional bandwidth&lt;br /&gt;TCP Window size&lt;br /&gt;-p, -t, -i&lt;br /&gt;-u, -b&lt;br /&gt;-m&lt;br /&gt;-M&lt;br /&gt;-P&lt;br /&gt;-h  Port, timing and interval&lt;br /&gt;UDP tests, bandwidth settings&lt;br /&gt;Maximum Segment Size display&lt;br /&gt;Maximum Segment Size settings&lt;br /&gt;Parallel tests&lt;br /&gt;help&lt;br /&gt;Jperf:&lt;br /&gt;&lt;br /&gt;no arg.&lt;br /&gt;-d&lt;br /&gt;-u, -b  Default settings&lt;br /&gt;Simultaneous bi-directional bandwidth&lt;br /&gt;UDP tests, bandwidth settings&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Default Iperf settings:&lt;br /&gt;Also check "Jperf section.&lt;br /&gt;&lt;br /&gt;By default, the Iperf client connects to the Iperf server on the TCP port 5001 and the bandwidth displayed by Iperf is the bandwidth from the client to the server.&lt;br /&gt;If you want to use UDP tests, use the -u argument.&lt;br /&gt;The -d and -r Iperf client arguments measure the bi-directional bandwidths. (See further on this tutorial)&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 16384 Byte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 33453 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 3]   0.0-10.2 sec   1.26 MBytes   1.05 Mbits/sec&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 5001&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 33453&lt;br /&gt;[ ID]   Interval          Transfer       Bandwidth&lt;br /&gt;[852]   0.0-10.6 sec   1.26 MBytes   1.03 Mbits/sec&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Data formatting: (-f argument)&lt;br /&gt;&lt;br /&gt;The -f argument can display the results in the desired format: bits(b), bytes(B), kilobits(k), kilobytes(K), megabits(m), megabytes(M), gigabits(g) or gigabytes(G).&lt;br /&gt;Generally the bandwidth measures are displayed in bits (or Kilobits, etc ...) and an amount of data is displayed in bytes (or Kilobytes, etc ...).&lt;br /&gt;As a reminder, 1 byte is equal to 8 bits and, in the computer science world, 1 kilo is equal to 1024 (2^10).&lt;br /&gt;For example: 100'000'000 bytes is not equal to 100 Mbytes but to 100'000'000/1024/1024 = 95.37 Mbytes.&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -f b&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 16384 Byte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 54953 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 3]   0.0-10.2 sec   1359872 Bytes   1064272 bits/sec&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 5001&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 33453&lt;br /&gt;[ ID]   Interval          Transfer       Bandwidth&lt;br /&gt;[852]   0.0-10.6 sec   920 KBytes   711 Kbits/sec&lt;br /&gt;&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bi-directional bandwidth measurement: (-r argument)&lt;br /&gt;&lt;br /&gt;The Iperf server connects back to the client allowing the bi-directional bandwidth measurement. By default, only the bandwidth from the client to the server is measured.&lt;br /&gt;If you want to measure the bi-directional bandwidth simultaneously, use the -d keyword. (See next test.)&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -r&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 5001&lt;br /&gt;TCP window size: 85.3 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 16.0 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 5] local 10.6.2.5 port 35726 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 5]   0.0-10.0 sec   1.12 MBytes   936 Kbits/sec&lt;br /&gt;[ 4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 1640&lt;br /&gt;[ 4]   0.0-10.1 sec   74.2 MBytes   61.7 Mbits/sec&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 5001&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 54355&lt;br /&gt;[ ID]   Interval          Transfer        Bandwidth&lt;br /&gt;[852]   0.0-10.1 sec   1.15 MBytes   956 Kbits/sec&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.6.2.5, TCP port 5001&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[824] local 10.1.1.1 port 1646 connected with 10.6.2.5 port 5001&lt;br /&gt;[ ID]   Interval          Transfer        Bandwidth&lt;br /&gt;[824]   0.0-10.0 sec   73.3 MBytes   61.4 Mbits/sec&lt;br /&gt;&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Simultaneous bi-directional bandwidth measurement: (-d argument)&lt;br /&gt;Also check the "Jperf" section.&lt;br /&gt;&lt;br /&gt;To measure the bi-directional bandwidths simultaneousely, use the -d argument. If you want to test the bandwidths sequentially, use the -r argument (see previous test).&lt;br /&gt;By default (ie: without the -r or -d arguments), only the bandwidth from the client to the server is measured.&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -d&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 5001&lt;br /&gt;TCP window size: 85.3 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 16.0 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 5] local 10.6.2.5 port 60270 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 2643&lt;br /&gt;[ 4] 0.0-10.0 sec 76.3 MBytes 63.9 Mbits/sec&lt;br /&gt;[ 5] 0.0-10.1 sec 1.55 MBytes 1.29 Mbits/sec&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 5001&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 60270&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.6.2.5, TCP port 5001&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[800] local 10.1.1.1 port 2643 connected with 10.6.2.5 port 5001&lt;br /&gt;[ ID]   Interval          Transfer       Bandwidth&lt;br /&gt;[800]   0.0-10.0 sec   76.3 MBytes   63.9 Mbits/sec&lt;br /&gt;[852]   0.0-10.1 sec   1.55 MBytes   1.29 Mbits/sec&lt;br /&gt;&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TCP Window size: (-w argument)&lt;br /&gt;&lt;br /&gt;The TCP window size is the amount of data that can be buffered during a connection without a validation from the receiver.&lt;br /&gt;It can be between 2 and 65,535 bytes.&lt;br /&gt;On Linux systems, when specifying a TCP buffer size with the -w argument, the kernel allocates double as much as indicated.&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -w 2000&lt;br /&gt;WARNING: TCP window size set to 2000 bytes. A small window size&lt;br /&gt;will give poor performance. See the Iperf documentation.&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 3.91 KByte (WARNING: requested 1.95 KByte)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 51400 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 3]   0.0-10.1 sec   704 KBytes   572 Kbits/sec&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s -w 4000&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 5001&lt;br /&gt;TCP window size: 3.91 KByte&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 51400&lt;br /&gt;[ ID]   Interval          Transfer       Bandwidth&lt;br /&gt;[852]   0.0-10.1 sec   704 KBytes   570 Kbits/sec&lt;br /&gt;&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Communication port (-p), timing (-t) and interval (-i):&lt;br /&gt;&lt;br /&gt;The Iperf server communication port can be changed with the -p argument. It must be configured on the client and the server with the same value, default is TCP port 5001.&lt;br /&gt;The -t argument specifies the test duration time in seconds, default is 10 secs.&lt;br /&gt;The -i argument indicates the interval in seconds between periodic bandwidth reports.&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -p 12000 -t 20 -i 2&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 12000&lt;br /&gt;TCP window size: 16.0 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 58316 connected with 10.1.1.1 port 12000&lt;br /&gt;[ 3]    0.0- 2.0 sec    224 KBytes    918 Kbits/sec&lt;br /&gt;[ 3]    2.0- 4.0 sec    368 KBytes    1.51 Mbits/sec&lt;br /&gt;[ 3]    4.0- 6.0 sec    704 KBytes    2.88 Mbits/sec&lt;br /&gt;[ 3]    6.0- 8.0 sec    280 KBytes    1.15 Mbits/sec&lt;br /&gt;[ 3]    8.0-10.0 sec    208 KBytes    852 Kbits/sec&lt;br /&gt;[ 3]   10.0-12.0 sec   344 KBytes    1.41 Mbits/sec&lt;br /&gt;[ 3]   12.0-14.0 sec   208 KBytes    852 Kbits/sec&lt;br /&gt;[ 3]   14.0-16.0 sec   232 KBytes    950 Kbits/sec&lt;br /&gt;[ 3]   16.0-18.0 sec   232 KBytes    950 Kbits/sec&lt;br /&gt;[ 3]   18.0-20.0 sec   264 KBytes    1.08 Mbits/sec&lt;br /&gt;[ 3]    0.0-20.1 sec   3.00 MBytes   1.25 Mbits/sec&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s -p 12000&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on TCP port 12000&lt;br /&gt;TCP window size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[852] local 10.1.1.1 port 12000 connected with 10.6.2.5 port 58316&lt;br /&gt;[ ID] Interval Transfer Bandwidth&lt;br /&gt;[852]   0.0-20.1 sec   3.00 MBytes   1.25 Mbits/sec&lt;br /&gt;&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UDP tests: (-u), bandwidth settings (-b)&lt;br /&gt;Also check the "Jperf" section.&lt;br /&gt;&lt;br /&gt;The UDP tests with the -u argument will give invaluable information about the jitter and the packet loss. If you don't specify the -u argument, Iperf uses TCP.&lt;br /&gt;To keep a good link quality, the packet loss should not go over 1 %. A high packet loss rate will generate a lot of TCP segment retransmissions which will affect the bandwidth.&lt;br /&gt;&lt;br /&gt;The jitter is basically the latency variation and does not depend on the latency. You can have high response times and a very low jitter. The jitter value is particularly important on network links supporting voice over IP (VoIP) because a high jitter can break a call.&lt;br /&gt;The -b argument allows the allocation if the desired bandwidth.&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -u -b 10m&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, UDP port 5001&lt;br /&gt;Sending 1470 byte datagrams&lt;br /&gt;UDP buffer size: 108 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 32781 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 3]   0.0-10.0 sec   11.8 MBytes   9.89 Mbits/sec&lt;br /&gt;[ 3] Sent 8409 datagrams&lt;br /&gt;[ 3] Server Report:&lt;br /&gt;[ 3]   0.0-10.0 sec   11.8 MBytes   9.86 Mbits/sec   2.617 ms   9/ 8409   (0.11%)&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s -u -i 1&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Server listening on UDP port 5001&lt;br /&gt;Receiving 1470 byte datagrams&lt;br /&gt;UDP buffer size: 8.00 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[904] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 32781&lt;br /&gt;[ ID]   Interval         Transfer        Bandwidth         Jitter        Lost/Total Datagrams&lt;br /&gt;[904]   0.0- 1.0 sec   1.17 MBytes   9.84 Mbits/sec   1.830 ms   0/ 837   (0%)&lt;br /&gt;[904]   1.0- 2.0 sec   1.18 MBytes   9.94 Mbits/sec   1.846 ms   5/ 850   (0.59%)&lt;br /&gt;[904]   2.0- 3.0 sec   1.19 MBytes   9.98 Mbits/sec   1.802 ms   2/ 851   (0.24%)&lt;br /&gt;[904]   3.0- 4.0 sec   1.19 MBytes   10.0 Mbits/sec   1.830 ms   0/ 850   (0%)&lt;br /&gt;[904]   4.0- 5.0 sec   1.19 MBytes   9.98 Mbits/sec   1.846 ms   1/ 850   (0.12%)&lt;br /&gt;[904]   5.0- 6.0 sec   1.19 MBytes   10.0 Mbits/sec   1.806 ms   0/ 851   (0%)&lt;br /&gt;[904]   6.0- 7.0 sec   1.06 MBytes   8.87 Mbits/sec   1.803 ms   1/ 755   (0.13%)&lt;br /&gt;[904]   7.0- 8.0 sec   1.19 MBytes   10.0 Mbits/sec   1.831 ms   0/ 850   (0%)&lt;br /&gt;[904]   8.0- 9.0 sec   1.19 MBytes   10.0 Mbits/sec   1.841 ms   0/ 850   (0%)&lt;br /&gt;[904]   9.0-10.0 sec   1.19 MBytes   10.0 Mbits/sec   1.801 ms   0/ 851   (0%)&lt;br /&gt;[904]   0.0-10.0 sec   11.8 MBytes   9.86 Mbits/sec   2.618 ms   9/ 8409  (0.11%)&lt;br /&gt;&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Maximum Segment Size (-m argument) display:&lt;br /&gt;&lt;br /&gt;The Maximum Segment Size (MSS) is the largest amount of data, in bytes, that a computer can support in a single, unfragmented TCP segment.&lt;br /&gt;It can be calculated as follows:&lt;br /&gt;MSS = MTU - TCP &amp; IP headers&lt;br /&gt;The TCP &amp; IP headers are equal to 40 bytes.&lt;br /&gt;The MTU or Maximum Transmission Unit is the greatest amount of data that can be transferred in a frame.&lt;br /&gt;Here are some default MTU size for different network topology:&lt;br /&gt;Ethernet - 1500 bytes: used in a LAN.&lt;br /&gt;PPPoE - 1492 bytes: used on ADSL links.&lt;br /&gt;Token Ring (16Mb/sec) - 17914 bytes: old technology developed by IBM.&lt;br /&gt;Dial-up - 576 bytes&lt;br /&gt;&lt;br /&gt;Generally, a higher MTU (and MSS) brings higher bandwidth efficiency&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -m&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 16.0 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 41532 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 3]   0.0-10.2 sec   1.27 MBytes   1.04 Mbits/sec&lt;br /&gt;[ 3] MSS size 1448 bytes (MTU 1500 bytes, ethernet)&lt;br /&gt;&lt;br /&gt;Here the MSS is not equal to 1500 - 40 but to 1500 - 40 - 12 (Timestamps option) = 1448&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Maximum Segment Size (-M argument) settings:&lt;br /&gt;&lt;br /&gt;Use the -M argument to change the MSS. (See the previous test for more explanations about the MSS)&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -M 1300 -m&lt;br /&gt;WARNING: attempt to set TCP maximum segment size to 1300, but got 536&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 16.0 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 41533 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 3]   0.0-10.1 sec   4.29 MBytes   3.58 Mbits/sec&lt;br /&gt;[ 3] MSS size 1288 bytes (MTU 1328 bytes, unknown interface)&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Parallel tests (-P argument):&lt;br /&gt;&lt;br /&gt;Use the -P argument to run parallel tests.&lt;br /&gt;&lt;br /&gt;Client side:&lt;br /&gt;&lt;br /&gt;#iperf -c 10.1.1.1 -P 2&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;Client connecting to 10.1.1.1, TCP port 5001&lt;br /&gt;TCP window size: 16.0 KByte (default)&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;[ 3] local 10.6.2.5 port 41534 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 4] local 10.6.2.5 port 41535 connected with 10.1.1.1 port 5001&lt;br /&gt;[ 4]     0.0-10.1 sec   1.35 MBytes   1.12 Mbits/sec&lt;br /&gt;[ 3]     0.0-10.1 sec   1.35 MBytes   1.12 Mbits/sec&lt;br /&gt;[SUM]  0.0-10.1 sec   2.70 MBytes   2.24 Mbits/sec&lt;br /&gt;&lt;br /&gt;Server side:&lt;br /&gt;&lt;br /&gt;#iperf -s&lt;br /&gt;Top of the page&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Iperf help:&lt;br /&gt;&lt;br /&gt;#iperf -h&lt;br /&gt;Usage: iperf [-s|-c host] [options]&lt;br /&gt;iperf [-h|--help] [-v|--version]&lt;br /&gt;&lt;br /&gt;Client/Server:&lt;br /&gt;-f&lt;br /&gt;-i&lt;br /&gt;-l&lt;br /&gt;-m&lt;br /&gt;-p&lt;br /&gt;-u&lt;br /&gt;-w&lt;br /&gt;-B&lt;br /&gt;-C&lt;br /&gt;-M&lt;br /&gt;-N&lt;br /&gt;-V  --format&lt;br /&gt;--interval&lt;br /&gt;--len&lt;br /&gt;--print_mss&lt;br /&gt;--port&lt;br /&gt;--udp&lt;br /&gt;--window&lt;br /&gt;--bind&lt;br /&gt;--compatibility&lt;br /&gt;--mss&lt;br /&gt;--nodelay&lt;br /&gt;--IPv6Version  [kmKM]&lt;br /&gt;#&lt;br /&gt;#[KM]&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#[KM]&lt;br /&gt;"host"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;format to report: Kbits, Mbits, KBytes, MBytes&lt;br /&gt;seconds between periodic bandwidth reports&lt;br /&gt;length of buffer to read or write (default 8 KB)&lt;br /&gt;print TCP maximum segment size (MTU - TCP/IP header)&lt;br /&gt;server port to listen on/connect to&lt;br /&gt;use UDP rather than TCP&lt;br /&gt;TCP window size (socket buffer size)&lt;br /&gt;bind to "host", an interface or multicast address&lt;br /&gt;for use with older versions does not sent extra msgs&lt;br /&gt;set TCP maximum segment size (MTU - 40 bytes)&lt;br /&gt;set TCP no delay, disabling Nagle's Algorithm&lt;br /&gt;Set the domain to IPv6&lt;br /&gt;Server specific:&lt;br /&gt;-s&lt;br /&gt;-U&lt;br /&gt;-D  --server&lt;br /&gt;--single_udp&lt;br /&gt;--daemon               &lt;br /&gt;&lt;br /&gt;run in server mode&lt;br /&gt;run in single threaded UDP mode&lt;br /&gt;run the server as a daemon&lt;br /&gt;Client specific:&lt;br /&gt;-b&lt;br /&gt;-c&lt;br /&gt;-d&lt;br /&gt;-n&lt;br /&gt;-r&lt;br /&gt;-t&lt;br /&gt;-F&lt;br /&gt;-I&lt;br /&gt;-L&lt;br /&gt;-P&lt;br /&gt;-T  --bandwidth    &lt;br /&gt;--client&lt;br /&gt;--dualtest&lt;br /&gt;--num&lt;br /&gt;--tradeoff&lt;br /&gt;--time&lt;br /&gt;--fileinput&lt;br /&gt;--stdin&lt;br /&gt;--listenport&lt;br /&gt;--parallel&lt;br /&gt;--ttl  #[KM] &lt;br /&gt;"host"&lt;br /&gt;&lt;br /&gt;#[KM]&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;"name"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;#  for UDP, bandwidth to send at in bits/sec (default 1 Mbit/sec, implies -u)&lt;br /&gt;run in client mode, connecting to "host"&lt;br /&gt;Do a bidirectional test simultaneously&lt;br /&gt;number of bytes to transmit (instead of -t)&lt;br /&gt;Do a bidirectional test individually&lt;br /&gt;time in seconds to transmit for (default 10 secs)&lt;br /&gt;input the data to be transmitted from a file&lt;br /&gt;input the data to be transmitted from stdin&lt;br /&gt;port to recieve bidirectional tests back on&lt;br /&gt;number of parallel client threads to run&lt;br /&gt;time-to-live, for multicast (default 1)&lt;br /&gt;Miscellaneous:&lt;br /&gt;-h&lt;br /&gt;-v  --help&lt;br /&gt;--version                    &lt;br /&gt;print this message and quit&lt;br /&gt;print version information and quit&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5920690659951394324?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5920690659951394324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/understanding-ipserf.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5920690659951394324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5920690659951394324'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/understanding-ipserf.html' title='Understanding iperf?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-1483076920205190133</id><published>2010-03-28T02:39:00.000-07:00</published><updated>2010-03-28T02:39:04.144-07:00</updated><title type='text'>Demystify Your Linux Box !!: vmxnet3 :A New Para-Virtualized NIC from Vmware</title><content type='html'>&lt;a href="http://linuxhunt.blogspot.com/2010/03/vmxnet3-new-para-virtualized-nic-from.html"&gt;Demystify Your Linux Box !!: vmxnet3 :A New Para-Virtualized NIC from Vmware&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-1483076920205190133?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://linuxhunt.blogspot.com/2010/03/vmxnet3-new-para-virtualized-nic-from.html' title='Demystify Your Linux Box !!: vmxnet3 :A New Para-Virtualized NIC from Vmware'/><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/1483076920205190133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/demystify-your-linux-box-vmxnet3-new.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1483076920205190133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1483076920205190133'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/demystify-your-linux-box-vmxnet3-new.html' title='Demystify Your Linux Box !!: vmxnet3 :A New Para-Virtualized NIC from Vmware'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-8710146997526849108</id><published>2010-03-28T02:38:00.000-07:00</published><updated>2010-03-28T02:38:01.470-07:00</updated><title type='text'>vmxnet3 :A New Para-Virtualized NIC from Vmware</title><content type='html'>VMXNET3, the newest generation of virtual network adapter from VMware, offers performance on par with or better than its previous generations in both Windows and Linux guests. Both the driver and the device have been highly tuned to perform better on modern systems. Furthermore, VMXNET3 introduces new features and enhancements, such as &lt;b&gt;TSO6&lt;/b&gt; and &lt;b&gt;RSS.&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;TSO6 makes it especially useful for users deploying applications that deal with IPv6 traffic, while RSS is helpful for deployments requiring high scalability. All these features give VMXNET3 advantages that are not possible with previous generations of virtual network adapters.&lt;br /&gt;Moving forward, to keep pace with an ever‐increasing demand for network bandwidth, Vmware recommend customers migrate to VMXNET3 if performance is of top concern to their deployments.&lt;br /&gt;&lt;br /&gt;The VMXNET3 driver is NAPI‐compliant on Linux guests. NAPI is an interrupt mitigation mechanism that improves high‐speed networking performance on Linux by switching back and forth between interrupt mode and polling mode during packet receive. It is a proven technique to improve CPU efficiency and allows the&lt;br /&gt;guest to process higher packet loads. VMXNET3 also supports Large Receive Offload (LRO) on Linux guests.However, in ESX 4.0 the VMkernel backend supports large receive packets only if the packets originate from another virtual machine running on the same host.&lt;br /&gt;&lt;br /&gt;VMXNET3 supports larger Tx/Rx ring buffer sizes compared to previous generations of virtual network devices. This feature benefits certain network workloads with bursty and high‐peak throughput. Having a larger ring size provides extra buffering to better cope with transient packet bursts. &lt;br /&gt;&lt;br /&gt;VMXNET3 supports three interrupt modes:&lt;br /&gt;&lt;br /&gt; MSI‐X,&lt;br /&gt; MSI, and&lt;br /&gt; INTx.&lt;br /&gt;&lt;br /&gt;Normally the VMXNET3 guest driver will attempt to use the interrupt modes in the order given above, if the guest kernel supports them. With VMXNET3, TCP Segmentation Offload (TSO) for IPv6 is supported for both Windows and Linux guests now, and TSO support for IPv4 is added for Solaris guests in addition to Windows and Linux guests.&lt;br /&gt;&lt;br /&gt;To use VMXNET3, the user must install VMware Tools on a virtual machine with hardware version 7.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-8710146997526849108?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/8710146997526849108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/vmxnet3-new-para-virtualized-nic-from.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8710146997526849108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8710146997526849108'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/vmxnet3-new-para-virtualized-nic-from.html' title='vmxnet3 :A New Para-Virtualized NIC from Vmware'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-7747161222355457247</id><published>2010-03-26T09:23:00.000-07:00</published><updated>2010-03-26T09:23:13.315-07:00</updated><title type='text'>How to Upgrade to Fedora 12?</title><content type='html'>Last night I thought of upgrading my Fedora 11 to Fedora 12.I went through Fedora Official website and came across a new tool called preupgrade.It went fine and so wanted to share it with you all.&lt;br /&gt;&lt;br /&gt;Here we go...&lt;br /&gt;&lt;br /&gt;In most cases, the simplest way to upgrade an existing Fedora installation is with the &lt;b&gt;preupgrade&lt;/b&gt; tool. When a new version of Fedora is available, preupgrade downloads the packages necessary to upgrade your installation, and initiates the upgrade process.&lt;br /&gt;&lt;br /&gt;Install preupgrade with your graphical package manager, or &lt;br /&gt;&lt;br /&gt;type yum install preupgrade at the command line and press Enter.&lt;br /&gt;&lt;br /&gt;To run preupgrade, type preupgrade at the command line and press Enter.&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;If the contents of your /etc/fedora-release file have been changed from the default, your Fedora installation may not be found when attempting an upgrade to Fedora 12.&lt;br /&gt;You can relax some of the checks against this file by booting with the following boot command:&lt;br /&gt;&lt;br /&gt;linux upgradeany&lt;br /&gt;&lt;br /&gt;Use the linux upgradeany command if your Fedora installation was not given as an option to upgrade.&lt;br /&gt;&lt;br /&gt;To perform an upgrade, select Perform an upgrade of an existing installation. Click Next when you are ready to begin your upgrade.&lt;br /&gt;&lt;br /&gt;To re-install your system, select Perform a new Fedora installation and refer to Chapter 6, Installing on Intel® and AMD Systems for further instructions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-7747161222355457247?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/7747161222355457247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/how-to-upgrade-to-fedora-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7747161222355457247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7747161222355457247'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/how-to-upgrade-to-fedora-12.html' title='How to Upgrade to Fedora 12?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5320017957893923821</id><published>2010-03-26T03:14:00.000-07:00</published><updated>2010-03-26T03:14:07.603-07:00</updated><title type='text'>Understanding /proc/cpuinfo?</title><content type='html'>A hyperthreaded processor has the same number of function units as an older, non-hyperthreaded processor. It just has two execution contexts, so it can maybe achieve better function unit utilization by letting more than one program execute concurrently. On the other hand, if you're running two programs which compete for the same function units, there is no advantage at all to having both running "concurrently." When one is running, the other is necessarily waiting on the same function units.&lt;br /&gt;&lt;br /&gt;A dual core processor literally has two times as many function units as a single-core processor, and can really run two programs concurrently, with no competition for function units.&lt;br /&gt;&lt;br /&gt;A dual core processor is built so that both cores share the same level 2 cache. A dual processor (separate physical cpus) system differs in that each cpu will have its own level 2 cache. This may sound like an advantage, and in some situations it can be but in many cases new research and testing shows that the shared cache can be faster when the cpus are sharing the same or very similar tasks.&lt;br /&gt;&lt;br /&gt;In general Hyperthreading is considered older technology and is no longer supported in newer cpus. Hyperthreading can provide a marginal (10%) for some server workloads like mysql, but dual core technology has essentially replaced hyperthreading in newer systems.&lt;br /&gt;&lt;br /&gt;A dual core cpu running at 3.0Ghz should be faster then a dual cpu (separate core) system running at 3.0Ghz due to the ability to share the cache at higher bus speeds.&lt;br /&gt;&lt;br /&gt;The examples below details how we determine what kind of cpu(s) are present.&lt;br /&gt;&lt;br /&gt;The kernel data Linux exposes in /proc/cpuinfo will show each logical cpu with a unique processor number. A logical cpu can be a hyperthreading sibling, a shared core in a dual or quad core, or a separate physical cpu. We must look at the siblings, cpu cores and core id to tell the difference.&lt;br /&gt;&lt;br /&gt;If the number of cores = the number of siblings for a given physical processor, then hyperthreading is OFF.&lt;br /&gt;&lt;br /&gt;/bin/cat /proc/cpuinfo | /bin/egrep 'processor|model name|cache size|core|sibling|physical'&lt;br /&gt;&lt;br /&gt;Example 1: &lt;b&gt;Single processor, 1 core, no Hyperthreading&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;processor : 0&lt;br /&gt;model name : AMD Duron(tm) processor&lt;br /&gt;cache size : 64 KB&lt;br /&gt;&lt;br /&gt;Example 2: &lt;b&gt;Single processor, 1 core, Hyperthreading is enabled.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Notice how we have 2 siblings, but only 1 core. The physical cpu id is the same for both: 0.&lt;br /&gt;&lt;br /&gt;processor : 0&lt;br /&gt;model name : Intel(R) Pentium(R) 4 CPU 2.80GHz&lt;br /&gt;cache size : 1024 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 1&lt;br /&gt;processor : 1&lt;br /&gt;model name : Intel(R) Pentium(R) 4 CPU 2.80GHz&lt;br /&gt;cache size : 1024 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Example 3.&lt;b&gt; Single socket Quad Core&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Notice how each processor has its own core id. The number of siblings matches the number of cores so there are no Hyperthreading siblings. Also notice the huge l2 cache - 6 MB. That makes sense though, when considering 4 cores share that l2 cache.&lt;br /&gt;&lt;br /&gt;processor : 0&lt;br /&gt;model name : Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz&lt;br /&gt;cache size : 6144 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 4&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 4&lt;br /&gt;processor : 1&lt;br /&gt;model name : Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz&lt;br /&gt;cache size : 6144 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 4&lt;br /&gt;core id  : 1&lt;br /&gt;cpu cores : 4&lt;br /&gt;processor : 2&lt;br /&gt;model name : Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz&lt;br /&gt;cache size : 6144 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 4&lt;br /&gt;core id  : 2&lt;br /&gt;cpu cores : 4&lt;br /&gt;processor : 3&lt;br /&gt;model name : Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz&lt;br /&gt;cache size : 6144 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 4&lt;br /&gt;core id  : 3&lt;br /&gt;cpu cores : 4&lt;br /&gt;&lt;br /&gt;Example 3a. &lt;b&gt;Single socket Dual Core&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Again, each processor has its own core so this is a dual core system.&lt;br /&gt;&lt;br /&gt;processor : 0&lt;br /&gt;model name : Intel(R) Pentium(R) D CPU 3.00GHz&lt;br /&gt;cache size : 2048 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 2&lt;br /&gt;processor : 1&lt;br /&gt;model name : Intel(R) Pentium(R) D CPU 3.00GHz&lt;br /&gt;cache size : 2048 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 1&lt;br /&gt;cpu cores : 2&lt;br /&gt;&lt;br /&gt;Example 4. Dual Single core CPU, Hyperthreading ENABLED&lt;br /&gt;&lt;br /&gt;This example shows that processer 0 and 2 share the same physical cpu and 1 and 3 share the same physical cpu. The number of siblings is twice the number of cores, which is another clue that this is a system with hyperthreading enabled.&lt;br /&gt;&lt;br /&gt;processor : 0&lt;br /&gt;model name : Intel(R) Xeon(TM) CPU 3.60GHz&lt;br /&gt;cache size : 1024 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 1&lt;br /&gt;processor : 1&lt;br /&gt;model name : Intel(R) Xeon(TM) CPU 3.60GHz&lt;br /&gt;cache size : 1024 KB&lt;br /&gt;physical id : 3&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 1&lt;br /&gt;processor : 2&lt;br /&gt;model name : Intel(R) Xeon(TM) CPU 3.60GHz&lt;br /&gt;cache size : 1024 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 1&lt;br /&gt;processor : 3&lt;br /&gt;model name : Intel(R) Xeon(TM) CPU 3.60GHz&lt;br /&gt;cache size : 1024 KB&lt;br /&gt;physical id : 3&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 1&lt;br /&gt;&lt;br /&gt;Example 5. Dual CPU Dual Core No hyperthreading&lt;br /&gt;&lt;br /&gt;Of the 5 examples this should be the most capable system processor-wise. There are a total of 4 cores; 2 cores in 2 separate socketed physical cpus. Each core shares the 4MB cache with its sibling core. The higher clock rate (3.0 Ghz vs 2.3Ghz) should offer slightly better performance than example 3.&lt;br /&gt;&lt;br /&gt;processor : 0&lt;br /&gt;model name : Intel(R) Xeon(R) CPU            5160  @ 3.00GHz&lt;br /&gt;cache size : 4096 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 2&lt;br /&gt;processor : 1&lt;br /&gt;model name : Intel(R) Xeon(R) CPU            5160  @ 3.00GHz&lt;br /&gt;cache size : 4096 KB&lt;br /&gt;physical id : 0&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 1&lt;br /&gt;cpu cores : 2&lt;br /&gt;processor : 2&lt;br /&gt;model name : Intel(R) Xeon(R) CPU            5160  @ 3.00GHz&lt;br /&gt;cache size : 4096 KB&lt;br /&gt;physical id : 3&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 0&lt;br /&gt;cpu cores : 2&lt;br /&gt;processor : 3&lt;br /&gt;model name : Intel(R) Xeon(R) CPU            5160  @ 3.00GHz&lt;br /&gt;cache size : 4096 KB&lt;br /&gt;physical id : 3&lt;br /&gt;siblings : 2&lt;br /&gt;core id  : 1&lt;br /&gt;cpu cores : 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5320017957893923821?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5320017957893923821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/understanding-proccpuinfo.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5320017957893923821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5320017957893923821'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/understanding-proccpuinfo.html' title='Understanding /proc/cpuinfo?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-225535167725604520</id><published>2010-03-19T23:05:00.000-07:00</published><updated>2010-03-19T23:05:36.066-07:00</updated><title type='text'>Shell Script: Quick Look into Command-Line Arguments</title><content type='html'>Following script is used to print command line argument and will show you how to access them:&lt;br /&gt;$ vi demo&lt;br /&gt;&lt;br /&gt;&lt;b&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# Script that demos, command line args&lt;br /&gt;#&lt;br /&gt;echo "Total number of command line argument are $#"&lt;br /&gt;echo "$0 is script name"&lt;br /&gt;echo "$1 is first argument"&lt;br /&gt;echo "$2 is second argument"&lt;br /&gt;echo "All of them are :- $* or $@"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Run it as follows&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Set execute permission as follows:&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;$ chmod 755 demo&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Run it &amp; test it as follows:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;$ ./demo Hello World&lt;br /&gt;&lt;br /&gt;If test successful, copy script to your own bin directory (Install script for private use)&lt;br /&gt;$ cp demo ~/bin&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Check whether it is working or not (?)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;$ demo&lt;br /&gt;$ demo Hello World&lt;br /&gt;&lt;br /&gt;NOTE: After this, for any script you have to used above command, in sequence, I am not going to show you all of the above command(s) for rest of Tutorial.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-225535167725604520?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/225535167725604520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/shell-script-quick-look-into-command.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/225535167725604520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/225535167725604520'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/shell-script-quick-look-into-command.html' title='Shell Script: Quick Look into Command-Line Arguments'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3030213956962988917</id><published>2010-03-19T22:02:00.001-07:00</published><updated>2010-03-19T22:06:30.487-07:00</updated><title type='text'>Shell Script: How to use GREP utility?</title><content type='html'>The grep command selects and prints lines from a file (or a bunch of files) that match a pattern. Let's say your friend Bill sent you an email recently with his phone number, and you want to call him ASAP to order some books. Instead of launching your email program and sifting through all the messages, you can scan your in-box file, like this: &lt;br /&gt;&lt;br /&gt;The most useful grep flags are shown here:&lt;br /&gt;&lt;br /&gt;-i Ignore uppercase and lowercase when comparing.&lt;br /&gt;-v Print only lines that do not match the pattern.&lt;br /&gt;-c Print only a count of the matching lines.&lt;br /&gt;-n Display the line number before each matching line.&lt;br /&gt;&lt;br /&gt;When grep performs its pattern matching, it expects you to provide a regular expression for the pattern. Regular expressions can be very simple or quite complex, so we won't get into a lot of details here. Here are the most common types of regular expressions:&lt;br /&gt;&lt;br /&gt;abc Match lines containing the string "abc" anywhere.&lt;br /&gt;^abc Match lines starting with "abc."&lt;br /&gt;abc$ Match lines ending with "abc."&lt;br /&gt;a..c Match lines containing "a" and "c" separated by any two characters (the dot matches any single character).&lt;br /&gt;a.*c Match lines containing "a" and "c" separated by any number of characters (the dot- asterisk means match zero or more characters).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Regular expressions also come into play when using vi, sed, awk, and other Unix commands. If you want to master Unix, take time to understand regular expressions. Here is a sample poem.txt file and some grep commands to demonstrate regular-expression pattern matching:&lt;br /&gt;&lt;br /&gt;Mary had a little lamb&lt;br /&gt;Mary fried a lot of spam&lt;br /&gt;Jack ate a Spam sandwich&lt;br /&gt;Jill had a lamb spamwich&lt;br /&gt;&lt;br /&gt;To print all lines containing spam (respecting uppercase and lowercase), enter&lt;br /&gt;&lt;br /&gt;grep 'spam' poem.txt&lt;br /&gt;Mary fried a lot of spam&lt;br /&gt;Jill had a lamb spamwich&lt;br /&gt;&lt;br /&gt;To print all lines containing spam (ignoring uppercase and lowercase), enter&lt;br /&gt;&lt;br /&gt;grep -i 'spam' poem.txt&lt;br /&gt;Mary fried a lot of spam&lt;br /&gt;Jack ate a Spam sandwich&lt;br /&gt;Jill had a lamb spamwich&lt;br /&gt;&lt;br /&gt;To print just the number of lines containing the word spam (ignoring uppercase and lowercase), enter&lt;br /&gt;&lt;br /&gt;grep -ic 'spam' poem.txt&lt;br /&gt;3&lt;br /&gt;&lt;br /&gt;To print all lines not containing spam (ignoring uppercase and lowercase), enter&lt;br /&gt;&lt;br /&gt;grep -i -v 'spam' poem.txt&lt;br /&gt;Mary had a little lamb&lt;br /&gt;&lt;br /&gt;To print all lines starting with Mary, enter&lt;br /&gt;&lt;br /&gt;grep '^Mary' poem.txt&lt;br /&gt;Mary had a little lamb&lt;br /&gt;Mary fried a lot of spam&lt;br /&gt;&lt;br /&gt;To print all lines ending with ich, enter&lt;br /&gt;&lt;br /&gt;grep 'ich$' poem.txt&lt;br /&gt;Jack ate a Spam sandwich&lt;br /&gt;Jill had a lamb spamwich&lt;br /&gt;&lt;br /&gt;To print all lines containing had followed by lamb, enter&lt;br /&gt;&lt;br /&gt;grep 'had.*lamb' poem.txt&lt;br /&gt;Mary had a little lamb&lt;br /&gt;Jill had a lamb spamwich&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-3030213956962988917?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/3030213956962988917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/shell-script-how-to-use-grep-utility.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3030213956962988917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3030213956962988917'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/shell-script-how-to-use-grep-utility.html' title='Shell Script: How to use GREP utility?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-6642345624977458882</id><published>2010-03-19T21:56:00.000-07:00</published><updated>2010-03-19T21:56:16.210-07:00</updated><title type='text'>Shell Script: A Simple Cut Command</title><content type='html'>Today is a sunny day outside and lets tweak with shell scripting.&lt;br /&gt;We will carry on this episode throughout this year. I can assure you will surely be interested with this new episode.&lt;br /&gt;&lt;br /&gt;Lets start it from scratch:&lt;br /&gt;&lt;br /&gt;Consider a slight variation on the company.data file we've been playing with in this section:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;406378:Sales:Itorre:Jan&lt;br /&gt;031762:Marketing:Nasium:Jim&lt;br /&gt;636496:Research:Ancholie:Mel&lt;br /&gt;396082:Sales:Jucacion:Ed&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you want to print just columns 1 to 6 of each line (the employee serial numbers), use the -c1-6 flag, as in this command:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cut -c1-6 company.data&lt;/b&gt;&lt;br /&gt;406378&lt;br /&gt;031762&lt;br /&gt;636496&lt;br /&gt;396082&lt;br /&gt;&lt;br /&gt;If you want to print just columns 4 and 8 of each line (the first letter of the department and the fourth digit of the serial number), use the -c4,8 flag, as in this command:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cut -c4,8 company.data&lt;/b&gt;&lt;br /&gt;3S&lt;br /&gt;7M&lt;br /&gt;4R&lt;br /&gt;0S&lt;br /&gt;&lt;br /&gt;And since this file obviously has fields delimited by colons, we can pick out just the last names by specifying the -d: and -f3 flags, like this:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cut -d: -f3 company.data&lt;/b&gt;&lt;br /&gt;Itorre&lt;br /&gt;Nasium&lt;br /&gt;Ancholie&lt;br /&gt;Jucacion&lt;br /&gt;&lt;br /&gt;Here is a summary of the most common flags for the cut command:&lt;br /&gt;&lt;br /&gt;-c [n | n,m | n-m] Specify a single column, multiple columns (separated by a comma), or range of columns (separated by a dash).&lt;br /&gt;-f [n | n,m | n-m] Specify a single field, multiple fields (separated by a comma), or range of fields (separated by a dash).&lt;br /&gt;-dc Specify the field delimiter.&lt;br /&gt;-s Suppress (don't print) lines not containing the delimiter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-6642345624977458882?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/6642345624977458882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/shell-script-simple-cut-command.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6642345624977458882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6642345624977458882'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/shell-script-simple-cut-command.html' title='Shell Script: A Simple Cut Command'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-4033233856341721811</id><published>2010-03-12T23:08:00.000-08:00</published><updated>2010-03-12T23:08:44.531-08:00</updated><title type='text'>Linux RAM Disk: Creating A Filesystem In RAM</title><content type='html'>Software RAM disks use the normal RAM in main memory as if it were a partition on a hard drive rather than actually accessing the data bus normally used for secondary storage such as hard disk. How do I create and store a web cache on a RAM disk to improve the speed of loading pages under Linux operating systems?&lt;br /&gt;&lt;br /&gt;You can create the ram disk as follows (8192 = 8M, no need to format the ramdisk as a journaling file system) :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# mkfs -q /dev/ram1 8192&lt;br /&gt;# mkdir -p /ramcache&lt;br /&gt;# mount /dev/ram1 /ramcache&lt;br /&gt;# df -H | grep ramcache&lt;/b&gt;&lt;br /&gt;Sample outputs:&lt;br /&gt;&lt;br /&gt;/dev/ram1              8.2M   1.1M   6.7M  15% /ramcacheNext you copy images or caching objects to /ramcache&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# cp /var/www/html/images/*.jpg /ramcache&lt;/b&gt;&lt;br /&gt;Now you can edit Apache or squid reverse proxy to use /ramcache to map to images.example.com:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;&lt;VirtualHost 1.2.3.4:80&gt;&lt;br /&gt;     ServerAdmin admin@example.com&lt;br /&gt;     ServerName images.example.com&lt;br /&gt;     DocumentRoot /ramcache&lt;br /&gt;     #ErrorLog /var/logs/httpd/images.example.com_error.log&lt;br /&gt;     #CustomLog /var/logs/httpd/images.example.com_access.log combined&lt;br /&gt;&lt;/VirtualHost&gt;&lt;br /&gt;&lt;/b&gt; Reload httpd:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# service httpd reload&lt;/b&gt;&lt;br /&gt;Now all hits to images.example.com will be served from the ram. This can improve the speed of loading pages or images. However, if server rebooted all data will be lost. So you may want to write /etc/init.d/ script to copy back files to /ramcache. Create a script called initramcache.sh:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;#!/bin/sh&lt;br /&gt;mkfs -t ext2 -q /dev/ram1 8192&lt;br /&gt;[ ! -d /ramcache ] &amp;&amp; mkdir -p /ramcache&lt;br /&gt;mount /dev/ram1 /ramcache&lt;br /&gt;/bin/cp /var/www/html/images/*.jpg /ramcacheCall it from /etc/rc.local or create softlink in /etc/rc3.d/&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;# chmod +x /path/to/initramcache.sh&lt;br /&gt;# echo '/path/to/initramcache.sh' &gt;&gt; /etc/rc.local&lt;/b&gt;&lt;br /&gt;A Note About tmpfs&lt;br /&gt;tmpfs is supported by the Linux kernel from version 2.4+. tmpfs (also known as shmfs) is a little different from the Linux ramdisk. It allocate memory dynamically and by allowing less-used pages to be moved onto swap space. ramfs, in contrast, does not make use of swap which can be an advantage or disadvantage in many cases. See how to use tmpfs under Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-4033233856341721811?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/4033233856341721811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/linux-ram-disk-creating-filesystem-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4033233856341721811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4033233856341721811'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/03/linux-ram-disk-creating-filesystem-in.html' title='Linux RAM Disk: Creating A Filesystem In RAM'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-132761569713120106</id><published>2010-02-26T06:37:00.000-08:00</published><updated>2010-02-26T06:37:21.504-08:00</updated><title type='text'>Quick LVM commands</title><content type='html'>May be you are not aware of these LVM commands..&lt;br /&gt;You must be bore of running these commands:&lt;br /&gt;&lt;br /&gt;pvdisplay&lt;br /&gt;vgdisplay&lt;br /&gt;lvdisplay&lt;br /&gt;&lt;br /&gt;Lets learn the quick LVM commands:&lt;br /&gt;&lt;br /&gt;[root@localhost ~]# pvs&lt;br /&gt;  PV         VG       Fmt  Attr PSize  PFree&lt;br /&gt;  /dev/sda9  VolGroup lvm2 a-   95.97G    0 &lt;br /&gt;[root@localhost ~]# vgs&lt;br /&gt;  VG       #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;  VolGroup   1   2   0 wz--n- 95.97G    0 &lt;br /&gt;[root@localhost ~]# lvs&lt;br /&gt;  LV      VG       Attr   LSize  Origin Snap%  Move Log Copy%  Convert&lt;br /&gt;  lv_root VolGroup -wi-ao 92.05G                                      &lt;br /&gt;  lv_swap VolGroup -wi-ao  3.92G  &lt;br /&gt;&lt;br /&gt;Hope you will definitely like these stuffs.&lt;br /&gt;Happy LVMing !!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-132761569713120106?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/132761569713120106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/quick-lvm-commands.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/132761569713120106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/132761569713120106'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/quick-lvm-commands.html' title='Quick LVM commands'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3461539095122334999</id><published>2010-02-26T06:23:00.000-08:00</published><updated>2010-02-26T06:23:10.487-08:00</updated><title type='text'>OpenSSH: In-sight into OpenSSH on Linux?</title><content type='html'>OpenSSH is the implementation of the SSH protocol. OpenSSH is recommended for remote login, making backups, remote file transfer via scp or sftp, and much more. SSH is perfect to keep confidentiality and integrity for data exchanged between two networks and systems. However, the main advantage is server authentication, through the use of public key cryptography. From time to time there are rumors about OpenSSH zero day exploit. Here are a few things you need to tweak in order to improve OpenSSH server security.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Default Config Files and SSH Port&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;    * /etc/ssh/sshd_config - OpenSSH server configuration file.&lt;br /&gt;    * /etc/ssh/ssh_config - OpenSSH client configuration file.&lt;br /&gt;    * ~/.ssh/ - Users ssh configuration directory.&lt;br /&gt;    * ~/.ssh/authorized_keys or ~/.ssh/authorized_keys - Lists the public keys (RSA or DSA)    that can be used to log into the user’s account&lt;br /&gt;&lt;br /&gt;    * /etc/nologin - If this file exists, sshd refuses to let anyone except root log in.&lt;br /&gt;    * /etc/hosts.allow and /etc/hosts.deny : Access controls lists that should be enforced by tcp-wrappers are defined here.&lt;br /&gt;    * SSH default port : TCP 22&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SSH Session in Action&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;#1: Disable OpenSSH Server&lt;br /&gt;&lt;br /&gt;Workstations and laptop can work without OpenSSH server. If you need not to provide the remote login and file transfer capabilities of SSH, disable and remove the SSHD server. CentOS / RHEL / Fedora Linux user can disable and remove openssh-server with yum command:&lt;br /&gt;&lt;br /&gt;# chkconfig sshd off&lt;br /&gt;# yum erase openssh-server&lt;br /&gt;&lt;br /&gt;Debian / Ubuntu Linux user can disable and remove the same with apt-get command:&lt;br /&gt;&lt;br /&gt;# apt-get remove openssh-server&lt;br /&gt;&lt;br /&gt;You may need to update your iptables script to remove ssh exception rule. Under CentOS / RHEL / Fedora edit the files /etc/sysconfig/iptables and /etc/sysconfig/ip6tables. Once done restart iptables service:&lt;br /&gt;&lt;br /&gt;# service iptables restart&lt;br /&gt;# service ip6tables restart&lt;br /&gt;&lt;br /&gt;#2: Only Use SSH Protocol 2&lt;br /&gt;&lt;br /&gt;SSH protocol version 1 (SSH-1) has man-in-the-middle attacks problems and security vulnerabilities. SSH-1 is obsolete and should be avoided at all cost. Open sshd_config file and make sure the following line exists:&lt;br /&gt;&lt;br /&gt;Protocol 2&lt;br /&gt;&lt;br /&gt;#3: Limit Users' SSH Access&lt;br /&gt;&lt;br /&gt;By default all systems user can login via SSH using their password or public key. Sometime you create UNIX / Linux user account for ftp or email purpose. However, those user can login to system using ssh. They will have full access to system tools including compilers and scripting languages such as Perl, Python which can open network ports and do many other fancy things. One of my client has really outdated php script and an attacker was able to create a new account on the system via a php script. However, attacker failed to get into box via ssh because it wasn't in AllowUsers.&lt;br /&gt;&lt;br /&gt;Only allow root, vivek and jerry user to use the system via SSH, add the following to sshd_config:&lt;br /&gt;&lt;br /&gt;AllowUsers root vivek jerry&lt;br /&gt;&lt;br /&gt;Alternatively, you can allow all users to login via SSH but deny only a few users, with the following line:&lt;br /&gt;&lt;br /&gt;DenyUsers saroj anjali foo&lt;br /&gt;&lt;br /&gt;You can also configure Linux PAM allows or deny login via the sshd server. You can allow list of group name to access or deny access to the ssh.&lt;br /&gt;&lt;br /&gt;#4: Configure Idle Log Out Timeout Interval&lt;br /&gt;&lt;br /&gt;User can login to server via ssh and you can set an idel timeout interval to avoid unattended ssh session. Open sshd_config and make sure following values are configured:&lt;br /&gt;&lt;br /&gt;ClientAliveInterval 300&lt;br /&gt;ClientAliveCountMax 0&lt;br /&gt;&lt;br /&gt;You are setting an idle timeout interval in seconds (300 secs = 5 minutes). After this interval has passed, the idle user will be automatically kicked out (read as logged out). See how to automatically log BASH / TCSH / SSH users out after a period of inactivity for more details.&lt;br /&gt;&lt;br /&gt;#5: Disable .rhosts Files&lt;br /&gt;&lt;br /&gt;Don't read the user's ~/.rhosts and ~/.shosts files. Update sshd_config with the following settings:&lt;br /&gt;&lt;br /&gt;IgnoreRhosts yes&lt;br /&gt;&lt;br /&gt;SSH can emulate the behavior of the obsolete rsh command, just disable insecure access via RSH.&lt;br /&gt;&lt;br /&gt;#6: Disable Host-Based Authentication&lt;br /&gt;&lt;br /&gt;To disable host-based authentication, update sshd_config with the following option:&lt;br /&gt;&lt;br /&gt;HostbasedAuthentication no&lt;br /&gt;&lt;br /&gt;#7: Disable root Login via SSH&lt;br /&gt;&lt;br /&gt;There is no need to login as root via ssh over a network. Normal users can use su or sudo (recommended) to gain root level access. This also make sure you get full auditing information about who ran privileged commands on the system via sudo. To disable root login via SSH, update sshd_config with the following line:&lt;br /&gt;&lt;br /&gt;PermitRootLogin no&lt;br /&gt;&lt;br /&gt;However, bob made excellent point:&lt;br /&gt;&lt;br /&gt;    Saying "don't login as root" is h******t. It stems from the days when people sniffed the first packets of sessions so logging in as yourself and su-ing decreased the chance an attacker would see the root pw, and decreast the chance you got spoofed as to your telnet host target, You'd get your password spoofed but not root's pw. Gimme a break. this is 2005 - We have ssh, used properly it's secure. used improperly none of this 1989 will make a damn bit of difference. -Bob&lt;br /&gt;&lt;br /&gt;#8: Enable a Warning Banner&lt;br /&gt;&lt;br /&gt;Set a warning banner by updating sshd_config with the following line:&lt;br /&gt;&lt;br /&gt;Banner /etc/issue&lt;br /&gt;&lt;br /&gt;Sample /etc/issue file:&lt;br /&gt;&lt;br /&gt;----------------------------------------------------------------------------------------------&lt;br /&gt;You are accessing a XYZ Government (XYZG) Information System (IS) that is provided for authorized use only.&lt;br /&gt;By using this IS (which includes any device attached to this IS), you consent to the following conditions:&lt;br /&gt;&lt;br /&gt;+ The XYZG routinely intercepts and monitors communications on this IS for purposes including, but not limited to,&lt;br /&gt;penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM),&lt;br /&gt;law enforcement (LE), and counterintelligence (CI) investigations. &lt;br /&gt;&lt;br /&gt;+ At any time, the XYZG may inspect and seize data stored on this IS.&lt;br /&gt;&lt;br /&gt;+ Communications using, or data stored on, this IS are not private, are subject to routine monitoring,&lt;br /&gt;interception, and search, and may be disclosed or used for any XYZG authorized purpose.&lt;br /&gt;&lt;br /&gt;+ This IS includes security measures (e.g., authentication and access controls) to protect XYZG interests--not&lt;br /&gt;for your personal benefit or privacy.&lt;br /&gt;&lt;br /&gt;+ Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching&lt;br /&gt;or monitoring of the content of privileged communications, or work product, related to personal representation&lt;br /&gt;or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work&lt;br /&gt;product are private and confidential. See User Agreement for details.&lt;br /&gt;----------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Above is standard sample, consult your legal team for exact user agreement and legal notice details.&lt;br /&gt;&lt;br /&gt;#8: Firewall SSH Port # 22&lt;br /&gt;&lt;br /&gt;You need to firewall ssh port # 22 by updating iptables or pf firewall configurations. Usually, OpenSSH server must only accept connections from your LAN or other remote WAN sites only.&lt;br /&gt;Netfilter (Iptables) Configuration&lt;br /&gt;&lt;br /&gt;Update /etc/sysconfig/iptables (Redhat and friends specific file) to accept connection only from 192.168.1.0/24 and 202.54.1.5/29, enter:&lt;br /&gt;&lt;br /&gt;-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT&lt;br /&gt;-A RH-Firewall-1-INPUT -s 202.54.1.5/29 -m state --state NEW -p tcp --dport 22 -j ACCEPT&lt;br /&gt;&lt;br /&gt;If you've dual stacked sshd with IPv6, edit /etc/sysconfig/ip6tables (Redhat and friends specific file), enter:&lt;br /&gt;&lt;br /&gt; -A RH-Firewall-1-INPUT -s ipv6network::/ipv6mask -m tcp -p tcp --dport 22 -j ACCEPT&lt;br /&gt;&lt;br /&gt;Replace ipv6network::/ipv6mask with actual IPv6 ranges.&lt;br /&gt;*BSD PF Firewall Configuration&lt;br /&gt;&lt;br /&gt;If you are using PF firewall update /etc/pf.conf as follows:&lt;br /&gt;&lt;br /&gt;pass in on $ext_if inet proto tcp from {192.168.1.0/24, 202.54.1.5/29} to $ssh_server_ip port ssh flags S/SA synproxy state&lt;br /&gt;&lt;br /&gt;#9: Change SSH Port and Limit IP Binding&lt;br /&gt;&lt;br /&gt;By default SSH listen to all available interfaces and IP address on the system. Limit ssh port binding and change ssh port (by default brute forcing scripts only try to connects to port # 22). To bind to 192.168.1.5 and 202.54.1.5 IPs and to port 300, add or correct the following line:&lt;br /&gt;&lt;br /&gt;Port 300&lt;br /&gt;ListenAddress 192.168.1.5&lt;br /&gt;ListenAddress 202.54.1.5&lt;br /&gt;&lt;br /&gt;A better approach to use proactive approaches scripts such as fail2ban or denyhosts (see below).&lt;br /&gt;&lt;br /&gt;#10: Use Strong SSH Passwords and Passphrase&lt;br /&gt;&lt;br /&gt;It cannot be stressed enough how important it is to use strong user passwords and passphrase for your keys. Brute force attack works because you use dictionary based passwords. You can force users to avoid passwords against a dictionary attack and use john the ripper tool to find out existing weak passwords. Here is a sample random password generator (put in your ~/.bashrc):&lt;br /&gt;&lt;br /&gt;genpasswd() {&lt;br /&gt; local l=$1&lt;br /&gt;        [ "$l" == "" ] &amp;&amp; l=20&lt;br /&gt;       tr -dc A-Za-z0-9_ &lt; /dev/urandom | head -c ${l} | xargs}Run it:genpasswd 16Output:uw8CnDVMwC6vOKgW#11: Use Public Key Based AuthenticationUse public/private key pair with password protection for the private key. See how to use RSA and DSA key based authentication. Never ever use passphrase free key (passphrase key less) login.#12: Use Keychain Based Authenticationkeychain is a special bash script designed to make key-based authentication incredibly convenient and flexible. It offers various security benefits over passphrase-free keys. See how to setup and use keychain software.#13: Chroot SSHD (Lock Down Users To Their Home Directories)By default users are allowed to browse the server directories such as /etc/, /bin and so on. You can protect ssh, using os based chroot or use special tools such as rssh. With the release of OpenSSH 4.8p1 or 4.9p1, you no longer have to rely on third-party hacks such as rssh or complicated chroot(1) setups to lock users to their home directories. See this blog post about new ChrootDirectory directive to lock down users to their home directories.#14: Use TCP WrappersTCP Wrapper is a host-based Networking ACL system, used to filter network access to Internet. OpenSSH does supports TCP wrappers. Just update your /etc/hosts.allow file as follows to allow SSH only from 192.168.1.2 172.16.23.12 :sshd : 192.168.1.2 172.16.23.12 See this FAQ about setting and using TCP wrappers under Linux / Mac OS X and UNIX like operating systems.#15: Disable Empty PasswordsYou need to explicitly disallow remote login from accounts with empty passwords, update sshd_config with the following line:PermitEmptyPasswords no#16: Thwart SSH Crackers (Brute Force Attack)Brute force is a method of defeating a cryptographic scheme by trying a large number of possibilities using a single or distributed computer network. To prevents brute force attacks against SSH, use the following softwares:    * DenyHosts is a Python based security tool for SSH servers. It is intended to prevent brute force attacks on SSH servers by monitoring invalid login attempts in the authentication log and blocking the originating IP addresses.    * Explains how to setup DenyHosts under RHEL / Fedora and CentOS Linux.    * Fail2ban is a similar program that prevents brute force attacks against SSH.    * security/sshguard-pf protect hosts from brute force attacks against ssh and other services using pf.    * security/sshguard-ipfw protect hosts from brute force attacks against ssh and other services using ipfw.    * security/sshguard-ipfilter protect hosts from brute force attacks against ssh and other services using ipfilter.    * security/sshblock block abusive SSH login attempts.    * security/sshit checks for SSH/FTP bruteforce and blocks given IPs.    * BlockHosts Automatic blocking of abusive IP hosts.    * Blacklist Get rid of those bruteforce attempts.    * Brute Force Detection A modular shell script for parsing application logs and checking for authentication failures. It does this using a rules system where application specific options are stored including regular expressions for each unique auth format.    * IPQ BDB filter May be considered as a fail2ban lite.#17: Rate-limit Incoming Port # 22 ConnectionsBoth netfilter and pf provides rate-limit option to perform simple throttling on incoming connections on port # 22.Iptables ExampleThe following example will drop incoming connections which make more than 5 connection attempts upon port 22 within 60 seconds:#!/bin/bashinet_if=eth1ssh_port=22$IPT -I INPUT -p tcp --dport ${ssh_port} -i ${inet_if} -m state --state NEW -m recent  --set$IPT -I INPUT -p tcp --dport ${ssh_port} -i ${inet_if} -m state --state NEW -m recent  --update --seconds 60 --hitcount 5 -j DROP Call above script from your iptables scripts. Another config option:$IPT -A INPUT  -i ${inet_if} -p tcp --dport ${ssh_port} -m state --state NEW -m limit --limit 3/min --limit-burst 3 -j ACCEPT$IPT -A INPUT  -i ${inet_if} -p tcp --dport ${ssh_port} -m state --state ESTABLISHED -j ACCEPT$IPT -A OUTPUT -o ${inet_if} -p tcp --sport ${ssh_port} -m state --state ESTABLISHED -j ACCEPT# another one line example# $IPT -A INPUT -i ${inet_if} -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 22 -m limit --limit 5/minute --limit-burst 5-j ACCEPTSee iptables man page for more details.*BSD PF ExampleThe following will limits the maximum number of connections per source to 20 and rate limit the number of connections to 15 in a 5 second span. If anyone breaks our rules add them to our abusive_ips table and block them for making any further connections. Finally, flush keyword kills all states created by the matching rule which originate from the host which exceeds these limits.sshd_server_ip="202.54.1.5"table &lt;abusive_ips&gt; persist&lt;br /&gt;block in quick from &lt;abusive_ips&gt;&lt;br /&gt;pass in on $ext_if proto tcp to $sshd_server_ip port ssh flags S/SA keep state (max-src-conn 20, max-src-conn-rate 15/5, overload &lt;abusive_ips&gt; flush)&lt;br /&gt;&lt;br /&gt;#18: Use Port Knocking&lt;br /&gt;&lt;br /&gt;Port knocking is a method of externally opening ports on a firewall by generating a connection attempt on a set of prespecified closed ports. Once a correct sequence of connection attempts is received, the firewall rules are dynamically modified to allow the host which sent the connection attempts to connect over specific port(s). A sample port Knocking example for ssh using iptables:&lt;br /&gt;&lt;br /&gt;$IPT -N stage1&lt;br /&gt;$IPT -A stage1 -m recent --remove --name knock&lt;br /&gt;$IPT -A stage1 -p tcp --dport 3456 -m recent --set --name knock2&lt;br /&gt; &lt;br /&gt;$IPT -N stage2&lt;br /&gt;$IPT -A stage2 -m recent --remove --name knock2&lt;br /&gt;$IPT -A stage2 -p tcp --dport 2345 -m recent --set --name heaven&lt;br /&gt; &lt;br /&gt;$IPT -N door&lt;br /&gt;$IPT -A door -m recent --rcheck --seconds 5 --name knock2 -j stage2&lt;br /&gt;$IPT -A door -m recent --rcheck --seconds 5 --name knock -j stage1&lt;br /&gt;$IPT -A door -p tcp --dport 1234 -m recent --set --name knock&lt;br /&gt; &lt;br /&gt;$IPT -A INPUT -m --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;$IPT -A INPUT -p tcp --dport 22 -m recent --rcheck --seconds 5 --name heaven -j ACCEPT&lt;br /&gt;$IPT -A INPUT -p tcp --syn -j doo&lt;br /&gt;&lt;br /&gt;    * fwknop is an implementation that combines port knocking and passive OS fingerprinting.&lt;br /&gt;    * Multiple-port knocking Netfilter/IPtables only implementation.&lt;br /&gt;&lt;br /&gt;#19: Use Log Analyzer&lt;br /&gt;&lt;br /&gt;Read your logs using logwatch or logcheck. These tools make your log reading life easier. It will go through your logs for a given period of time and make a report in the areas that you wish with the detail that you wish. Make sure LogLevel is set to INFO or DEBUG in sshd_config:&lt;br /&gt;&lt;br /&gt;LogLevel INFO&lt;br /&gt;&lt;br /&gt;#20: Patch OpenSSH and Operating Systems&lt;br /&gt;&lt;br /&gt;It is recommended that you use tools such as yum, apt-get, freebsd-update and others to keep systems up to date with the latest security patches.&lt;br /&gt;Other Options&lt;br /&gt;&lt;br /&gt;To hide openssh version, you need to update source code and compile openssh again. Make sure following options are enabled in sshd_config:&lt;br /&gt;&lt;br /&gt;#  Turn on privilege separation&lt;br /&gt;UsePrivilegeSeparation yes&lt;br /&gt;# Prevent the use of insecure home directory and key file permissions&lt;br /&gt;StrictModes yes&lt;br /&gt;# Turn on  reverse name checking&lt;br /&gt;VerifyReverseMapping yes&lt;br /&gt;# Do you need port forwarding?&lt;br /&gt;AllowTcpForwarding no&lt;br /&gt;X11Forwarding no&lt;br /&gt;#  Specifies whether password authentication is allowed.  The default is yes.&lt;br /&gt;PasswordAuthentication no&lt;br /&gt;&lt;br /&gt;Verify your sshd_config file before restarting / reloading changes:&lt;br /&gt;# /usr/sbin/sshd -t&lt;br /&gt;&lt;br /&gt;Tighter SSH security with two-factor or three-factor (or more) authentication.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-3461539095122334999?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/3461539095122334999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/openssh-in-sight-into-openssh-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3461539095122334999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3461539095122334999'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/openssh-in-sight-into-openssh-on-linux.html' title='OpenSSH: In-sight into OpenSSH on Linux?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-1870019559134425506</id><published>2010-02-26T05:50:00.000-08:00</published><updated>2010-02-26T05:51:47.630-08:00</updated><title type='text'>Interview Questions for Linux Hardware !!</title><content type='html'>One of the most asked interview questions is related to Linux Hardware.&lt;br /&gt;Like:&lt;br /&gt;&lt;br /&gt;1. Which command you should run on linux to know its architecture alternative to uname?&lt;br /&gt;2. How you gonna list RAM size?&lt;br /&gt;3. What products have been used in motherboard?&lt;br /&gt;4. How will you know what processor is running on your linux box?&lt;br /&gt;&lt;br /&gt;and so on...&lt;br /&gt;&lt;br /&gt;Then comes dmidecode for the rescue.&lt;br /&gt;&lt;br /&gt;DMIDECODE display the system hardware components that you currently use on your Linux computer system.The dmidecode dump the computer DMI or SMBIOS table contents in a human readable format. This DMI or SMBIOS contains a description of the system hardware components and other useful information such as serial numbers and BIOS revision. The step by step command example below show the use of dmidecode command to show the list of computer hardware system components on Linux Fedora.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The SMBIOS specification defines the following DMI types:&lt;br /&gt;&lt;br /&gt;Type Information&lt;br /&gt;&lt;br /&gt;0     BIOS&lt;br /&gt;&lt;br /&gt;1     System&lt;br /&gt;&lt;br /&gt;2     Base Board&lt;br /&gt;&lt;br /&gt;3     Chassis&lt;br /&gt;&lt;br /&gt;4     Processor&lt;br /&gt;&lt;br /&gt;5     Memory Controller&lt;br /&gt;&lt;br /&gt;6     Memory Module&lt;br /&gt;&lt;br /&gt;7     Cache&lt;br /&gt;&lt;br /&gt;8     Port Connector&lt;br /&gt;&lt;br /&gt;9     System Slots&lt;br /&gt;&lt;br /&gt;10   On Board Devices&lt;br /&gt;&lt;br /&gt;11   OEM Strings&lt;br /&gt;&lt;br /&gt;12   System Configuration Options&lt;br /&gt;&lt;br /&gt;13   BIOS Language&lt;br /&gt;&lt;br /&gt;14   Group Associations&lt;br /&gt;&lt;br /&gt;15   System Event Log&lt;br /&gt;&lt;br /&gt;16   Physical Memory Array&lt;br /&gt;&lt;br /&gt;17   Memory Device&lt;br /&gt;&lt;br /&gt;18   32-bit Memory Error&lt;br /&gt;&lt;br /&gt;19   Memory Array Mapped Address&lt;br /&gt;&lt;br /&gt;20   Memory Device Mapped Address&lt;br /&gt;&lt;br /&gt;21   Built-in Pointing Device&lt;br /&gt;&lt;br /&gt;22   Portable Battery&lt;br /&gt;&lt;br /&gt;23   System Reset&lt;br /&gt;&lt;br /&gt;24   Hardware Security&lt;br /&gt;&lt;br /&gt;25   System Power Controls&lt;br /&gt;&lt;br /&gt;26   Voltage Probe&lt;br /&gt;&lt;br /&gt;27   Cooling Device&lt;br /&gt;&lt;br /&gt;28   Temperature Probe&lt;br /&gt;&lt;br /&gt;29   Electrical Current Probe&lt;br /&gt;&lt;br /&gt;30   Out-of-band Remote Access&lt;br /&gt;&lt;br /&gt;31   Boot Integrity Services&lt;br /&gt;&lt;br /&gt;32   System Boot&lt;br /&gt;&lt;br /&gt;33   64-bit Memory Error&lt;br /&gt;&lt;br /&gt;34   Management Device&lt;br /&gt;&lt;br /&gt;35   Management Device Component&lt;br /&gt;&lt;br /&gt;36   Management Device Threshold Data&lt;br /&gt;&lt;br /&gt;37   Memory Channel&lt;br /&gt;&lt;br /&gt;38   IPMI Device&lt;br /&gt;&lt;br /&gt;39   Power Supply&lt;br /&gt;&lt;br /&gt;Type dmidecode  and you could collect each and every information.&lt;br /&gt;Here is an example of my Dell Inspiron Machine running Fedora new Kernel 2.6.33.&lt;br /&gt;&lt;br /&gt;e 0x1000, DMI type 16, 15 bytes&lt;br /&gt;Physical Memory Array&lt;br /&gt;Location: System Board Or Motherboard&lt;br /&gt;Use: System Memory&lt;br /&gt;Error Correction Type: None&lt;br /&gt;Maximum Capacity: 4 GB&lt;br /&gt;Error Information Handle: Not Provided&lt;br /&gt;Number Of Devices: 2&lt;br /&gt;&lt;br /&gt;Handle 0x1100, DMI type 17, 27 bytes&lt;br /&gt;Memory Device&lt;br /&gt;Array Handle: 0x1000&lt;br /&gt;Error Information Handle: Not Provided&lt;br /&gt;Total Width: 64 bits&lt;br /&gt;Data Width: 64 bits&lt;br /&gt;Size: 1024 MB&lt;br /&gt;Form Factor: DIMM&lt;br /&gt;Set: None&lt;br /&gt;Locator: DIMM_A&lt;br /&gt;Bank Locator: Not Specified&lt;br /&gt;Type: DDR&lt;br /&gt;Type Detail: Synchronous&lt;br /&gt;Speed: 800 MHz&lt;br /&gt;Manufacturer: AD00000000000000&lt;br /&gt;Serial Number: 00004021&lt;br /&gt;Asset Tag: 000845&lt;br /&gt;Part Number: HYMP112S64CP6-S6  &lt;br /&gt;&lt;br /&gt;Handle 0x1101, DMI type 17, 27 bytes&lt;br /&gt;Memory Device&lt;br /&gt;Array Handle: 0x1000&lt;br /&gt;Error Information Handle: Not Provided&lt;br /&gt;Total Width: 64 bits&lt;br /&gt;Data Width: 64 bits&lt;br /&gt;Size: 1024 MB&lt;br /&gt;Form Factor: DIMM&lt;br /&gt;Set: None&lt;br /&gt;Locator: DIMM_B&lt;br /&gt;Bank Locator: Not Specified&lt;br /&gt;Type: DDR&lt;br /&gt;Type Detail: Synchronous&lt;br /&gt;Speed: 800 MHz&lt;br /&gt;Manufacturer: AD00000000000000&lt;br /&gt;Serial Number: 00003030&lt;br /&gt;Asset Tag: 000845&lt;br /&gt;Part Number: HYMP112S64CP6-S6  &lt;br /&gt;&lt;br /&gt;Handle 0x1301, DMI type 19, 15 bytes&lt;br /&gt;Memory Array Mapped Address&lt;br /&gt;Starting Address: 0x00000000000&lt;br /&gt;Ending Address: 0x0007FFFFFFF&lt;br /&gt;Range Size: 2 GB&lt;br /&gt;Physical Array Handle: 0x1000&lt;br /&gt;Partition Width: 0&lt;br /&gt;&lt;br /&gt;Handle 0x1401, DMI type 20, 19 bytes&lt;br /&gt;Memory Device Mapped Address&lt;br /&gt;Starting Address: 0x00000000000&lt;br /&gt;Ending Address: 0x0007FFFFFFF&lt;br /&gt;Range Size: 2 GB&lt;br /&gt;Physical Device Handle: 0x1100&lt;br /&gt;Memory Array Mapped Address Handle: 0x1301&lt;br /&gt;Partition Row Position: 1&lt;br /&gt;Interleave Position: 1&lt;br /&gt;Interleaved Data Depth: 8&lt;br /&gt;&lt;br /&gt;Handle 0x1411, DMI type 126, 19 bytes&lt;br /&gt;Inactive&lt;br /&gt;&lt;br /&gt;Handle 0x1402, DMI type 20, 19 bytes&lt;br /&gt;Memory Device Mapped Address&lt;br /&gt;Starting Address: 0x00000000000&lt;br /&gt;Ending Address: 0x0007FFFFFFF&lt;br /&gt;Range Size: 2 GB&lt;br /&gt;Physical Device Handle: 0x1101&lt;br /&gt;Memory Array Mapped Address Handle: 0x1301&lt;br /&gt;Partition Row Position: 1&lt;br /&gt;Interleave Position: 2&lt;br /&gt;Interleaved Data Depth: 8&lt;br /&gt;&lt;br /&gt;Handle 0x1412, DMI type 126, 19 bytes&lt;br /&gt;Inactive&lt;br /&gt;&lt;br /&gt;Handle 0x1500, DMI type 21, 7 bytes&lt;br /&gt;Built-in Pointing Device&lt;br /&gt;Type: Touch Pad&lt;br /&gt;Interface: Bus Mouse&lt;br /&gt;Buttons: 2&lt;br /&gt;&lt;br /&gt;Handle 0x1600, DMI type 22, 26 bytes&lt;br /&gt;Portable Battery&lt;br /&gt;Location: Sys. Battery Bay&lt;br /&gt;Manufacturer:                 &lt;br /&gt;Name: DELL X409G8A    &lt;br /&gt;Design Capacity: 37000 mWh&lt;br /&gt;Design Voltage: 11100 mV&lt;br /&gt;SBDS Version: 1.0&lt;br /&gt;Maximum Error: 4%&lt;br /&gt;SBDS Serial Number: 3A58&lt;br /&gt;SBDS Manufacture Date: 2008-10-06&lt;br /&gt;SBDS Chemistry: LION            &lt;br /&gt;OEM-specific Information: 0x00000001&lt;br /&gt;&lt;br /&gt;Handle 0x1B00, DMI type 27, 12 bytes&lt;br /&gt;Cooling Device&lt;br /&gt;Type: Fan&lt;br /&gt;Status: OK&lt;br /&gt;OEM-specific Information: 0x0000DD00&lt;br /&gt;&lt;br /&gt;Handle 0x1C00, DMI type 28, 20 bytes&lt;br /&gt;Temperature Probe&lt;br /&gt;Description: CPU Internal Temperature&lt;br /&gt;Location: Processor&lt;br /&gt;Status: OK&lt;br /&gt;Maximum Value: 127.0 deg C&lt;br /&gt;Minimum Value: 0.0 deg C&lt;br /&gt;Resolution: 1.000 deg C&lt;br /&gt;Tolerance: 0.5 deg C&lt;br /&gt;Accuracy: Unknown&lt;br /&gt;OEM-specific Information: 0x0000DC00&lt;br /&gt;&lt;br /&gt;Handle 0x2000, DMI type 32, 11 bytes&lt;br /&gt;System Boot Information&lt;br /&gt;Status: No errors detected&lt;br /&gt;&lt;br /&gt;Handle 0xB000, DMI type 176, 5 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;B0 05 00 B0 00&lt;br /&gt;&lt;br /&gt;Handle 0xB100, DMI type 177, 12 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;B1 0C 00 B1 02 00 00 00 00 00 00 00&lt;br /&gt;&lt;br /&gt;Handle 0xD000, DMI type 208, 10 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;D0 0A 00 D0 01 04 FE 00 2F 02&lt;br /&gt;&lt;br /&gt;Handle 0xD800, DMI type 216, 9 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;D8 09 00 D8 01 03 01 F0 03&lt;br /&gt;Strings:&lt;br /&gt;Intel Corp.         &lt;br /&gt;&lt;br /&gt;1566  &lt;br /&gt;&lt;br /&gt;Handle 0xD900, DMI type 217, 8 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;D9 08 00 D9 01 02 01 03&lt;br /&gt;Strings:&lt;br /&gt;US-101&lt;br /&gt;Proprietary&lt;br /&gt;&lt;br /&gt;Handle 0xDB00, DMI type 219, 9 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;DB 09 00 DB 03 01 02 03 FF&lt;br /&gt;Strings:&lt;br /&gt;System Device Bay&lt;br /&gt;Floppy, Battery, CD-ROM, CD-RW, DVD, DVD+RW, DVD+/-RW, Hard Disk, BLU-RAY&lt;br /&gt;DVD+/-RW  &lt;br /&gt;&lt;br /&gt;Handle 0xDC00, DMI type 220, 22 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;DC 16 00 DC 01 F0 00 00 02 F0 00 00 00 00 03 F0&lt;br /&gt;04 F0 00 00 00 00&lt;br /&gt;&lt;br /&gt;Handle 0xDD00, DMI type 221, 19 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;DD 13 00 DD 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;00 00 00&lt;br /&gt;&lt;br /&gt;Handle 0xD400, DMI type 212, 37 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;D4 25 00 D4 74 00 75 00 00 10 2D 2E 5C 00 78 BF&lt;br /&gt;40 5D 00 78 BF 00 08 00 1D DF 00 03 00 1D DF 00&lt;br /&gt;FF FF 00 00 00&lt;br /&gt;&lt;br /&gt;Handle 0xD401, DMI type 212, 17 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;D4 11 01 D4 74 00 75 00 03 40 49 4A FF FF 00 00&lt;br /&gt;00&lt;br /&gt;&lt;br /&gt;Handle 0xDE00, DMI type 222, 16 bytes&lt;br /&gt;OEM-specific Type&lt;br /&gt;Header and Data:&lt;br /&gt;DE 10 00 DE 01 02 FF FF 00 00 00 00 00 00 00 01&lt;br /&gt;&lt;br /&gt;Handle 0x7F00, DMI type 127, 4 bytes&lt;br /&gt;End Of Table&lt;br /&gt;&lt;br /&gt;[root@localhost ~]# dmidecode -q&lt;br /&gt;BIOS Information&lt;br /&gt;Vendor: Dell Inc.&lt;br /&gt;Version: A16&lt;br /&gt;Release Date: 10/16/2008&lt;br /&gt;Address: 0xF0000&lt;br /&gt;Runtime Size: 64 kB&lt;br /&gt;ROM Size: 2048 kB&lt;br /&gt;Characteristics:&lt;br /&gt;ISA is supported&lt;br /&gt;PCI is supported&lt;br /&gt;PC Card (PCMCIA) is supported&lt;br /&gt;PNP is supported&lt;br /&gt;BIOS is upgradeable&lt;br /&gt;BIOS shadowing is allowed&lt;br /&gt;Boot from CD is supported&lt;br /&gt;Selectable boot is supported&lt;br /&gt;3.5"/720 kB floppy services are supported (int 13h)&lt;br /&gt;Print screen service is supported (int 5h)&lt;br /&gt;8042 keyboard services are supported (int 9h)&lt;br /&gt;Serial services are supported (int 14h)&lt;br /&gt;Printer services are supported (int 17h)&lt;br /&gt;CGA/mono video services are supported (int 10h)&lt;br /&gt;ACPI is supported&lt;br /&gt;USB legacy is supported&lt;br /&gt;AGP is supported&lt;br /&gt;Smart battery is supported&lt;br /&gt;BIOS boot specification is supported&lt;br /&gt;Function key-initiated network boot is supported&lt;br /&gt;Targeted content distribution is supported&lt;br /&gt;BIOS Revision: 1.6&lt;br /&gt;Firmware Revision: 1.6&lt;br /&gt;&lt;br /&gt;System Information&lt;br /&gt;Manufacturer: Dell Inc.&lt;br /&gt;Product Name: Inspiron 1525                   &lt;br /&gt;Version: Not Specified&lt;br /&gt;Serial Number: GHRM2BS&lt;br /&gt;UUID: 44454C4C-4800-1052-804D-C7C04F324253&lt;br /&gt;Wake-up Type: Power Switch&lt;br /&gt;SKU Number: Not Specified&lt;br /&gt;Family:  &lt;br /&gt;&lt;br /&gt;Base Board Information&lt;br /&gt;Manufacturer: Dell Inc.&lt;br /&gt;Product Name: 0U990C&lt;br /&gt;Version:    &lt;br /&gt;Serial Number: .GHRM2BS.CN701668A70TCK.&lt;br /&gt;Asset Tag:           &lt;br /&gt;&lt;br /&gt;Chassis Information&lt;br /&gt;Manufacturer: Dell Inc.&lt;br /&gt;Type: Portable&lt;br /&gt;Lock: Not Present&lt;br /&gt;Version: Not Specified&lt;br /&gt;Serial Number: GHRM2BS&lt;br /&gt;Asset Tag: Not Specified&lt;br /&gt;Boot-up State: Safe&lt;br /&gt;Power Supply State: Safe&lt;br /&gt;Thermal State: Safe&lt;br /&gt;Security Status: None&lt;br /&gt;&lt;br /&gt;Processor Information&lt;br /&gt;Socket Designation: Microprocessor&lt;br /&gt;Type: Central Processor&lt;br /&gt;Family: Core 2 Duo&lt;br /&gt;Manufacturer: Intel&lt;br /&gt;ID: FD 06 00 00 FF FB EB BF&lt;br /&gt;Signature: Type 0, Family 6, Model 15, Stepping 13&lt;br /&gt;Flags:&lt;br /&gt;FPU (Floating-point unit on-chip)&lt;br /&gt;VME (Virtual mode extension)&lt;br /&gt;DE (Debugging extension)&lt;br /&gt;PSE (Page size extension)&lt;br /&gt;TSC (Time stamp counter)&lt;br /&gt;MSR (Model specific registers)&lt;br /&gt;PAE (Physical address extension)&lt;br /&gt;MCE (Machine check exception)&lt;br /&gt;CX8 (CMPXCHG8 instruction supported)&lt;br /&gt;APIC (On-chip APIC hardware supported)&lt;br /&gt;SEP (Fast system call)&lt;br /&gt;MTRR (Memory type range registers)&lt;br /&gt;PGE (Page global enable)&lt;br /&gt;MCA (Machine check architecture)&lt;br /&gt;CMOV (Conditional move instruction supported)&lt;br /&gt;PAT (Page attribute table)&lt;br /&gt;PSE-36 (36-bit page size extension)&lt;br /&gt;CLFSH (CLFLUSH instruction supported)&lt;br /&gt;DS (Debug store)&lt;br /&gt;ACPI (ACPI supported)&lt;br /&gt;MMX (MMX technology supported)&lt;br /&gt;FXSR (Fast floating-point save and restore)&lt;br /&gt;SSE (Streaming SIMD extensions)&lt;br /&gt;SSE2 (Streaming SIMD extensions 2)&lt;br /&gt;SS (Self-snoop)&lt;br /&gt;HTT (Hyper-threading technology)&lt;br /&gt;TM (Thermal monitor supported)&lt;br /&gt;PBE (Pending break enabled)&lt;br /&gt;Version: Not Specified&lt;br /&gt;Voltage: 3.3 V&lt;br /&gt;External Clock: 200 MHz&lt;br /&gt;Max Speed: 2000 MHz&lt;br /&gt;Current Speed: 2000 MHz&lt;br /&gt;Status: Populated, Enabled&lt;br /&gt;Upgrade: None&lt;br /&gt;Serial Number: Not Specified&lt;br /&gt;Asset Tag: Not Specified&lt;br /&gt;Part Number: Not Specified&lt;br /&gt;Core Count: 2&lt;br /&gt;Core Enabled: 2&lt;br /&gt;Thread Count: 2&lt;br /&gt;Characteristics:&lt;br /&gt;64-bit capable&lt;br /&gt;&lt;br /&gt;Cache Information&lt;br /&gt;Socket Designation: Not Specified&lt;br /&gt;Configuration: Enabled, Not Socketed, Level 1&lt;br /&gt;Operational Mode: Write Back&lt;br /&gt;Location: Internal&lt;br /&gt;Installed Size: 32 kB&lt;br /&gt;Maximum Size: 32 kB&lt;br /&gt;Supported SRAM Types:&lt;br /&gt;Unknown&lt;br /&gt;Installed SRAM Type: Unknown&lt;br /&gt;Speed: Unknown&lt;br /&gt;Error Correction Type: None&lt;br /&gt;System Type: Data&lt;br /&gt;Associativity: 4-way Set-associative&lt;br /&gt;&lt;br /&gt;Cache Information&lt;br /&gt;Socket Designation: Not Specified&lt;br /&gt;Configuration: Enabled, Not Socketed, Level 2&lt;br /&gt;Operational Mode: Varies With Memory Address&lt;br /&gt;Location: Internal&lt;br /&gt;Installed Size: 2048 kB&lt;br /&gt;Maximum Size: 2048 kB&lt;br /&gt;Supported SRAM Types:&lt;br /&gt;Pipeline Burst&lt;br /&gt;Installed SRAM Type: Pipeline Burst&lt;br /&gt;Speed: 15 ns&lt;br /&gt;Error Correction Type: None&lt;br /&gt;System Type: Unified&lt;br /&gt;Associativity: Other&lt;br /&gt;&lt;br /&gt;Port Connector Information&lt;br /&gt;Internal Reference Designator: USB&lt;br /&gt;Internal Connector Type: None&lt;br /&gt;External Reference Designator: Not Specified&lt;br /&gt;External Connector Type: Access Bus (USB)&lt;br /&gt;Port Type: USB&lt;br /&gt;&lt;br /&gt;Port Connector Information&lt;br /&gt;Internal Reference Designator: MONITOR&lt;br /&gt;Internal Connector Type: None&lt;br /&gt;External Reference Designator: Not Specified&lt;br /&gt;External Connector Type: DB-15 female&lt;br /&gt;Port Type: Video Port&lt;br /&gt;&lt;br /&gt;Port Connector Information&lt;br /&gt;Internal Reference Designator: FireWire&lt;br /&gt;Internal Connector Type: None&lt;br /&gt;External Reference Designator: Not Specified&lt;br /&gt;External Connector Type: IEEE 1394&lt;br /&gt;Port Type: Firewire (IEEE P1394)&lt;br /&gt;&lt;br /&gt;Port Connector Information&lt;br /&gt;Internal Reference Designator: Modem&lt;br /&gt;Internal Connector Type: None&lt;br /&gt;External Reference Designator: Not Specified&lt;br /&gt;External Connector Type: RJ-11&lt;br /&gt;Port Type: Modem Port&lt;br /&gt;&lt;br /&gt;Port Connector Information&lt;br /&gt;Internal Reference Designator: Ethernet&lt;br /&gt;Internal Connector Type: None&lt;br /&gt;External Reference Designator: Not Specified&lt;br /&gt;External Connector Type: RJ-45&lt;br /&gt;Port Type: Network Port&lt;br /&gt;&lt;br /&gt;System Slot Information&lt;br /&gt;Designation: PCMCIA 0&lt;br /&gt;Type: 32-bit PC Card (PCMCIA)&lt;br /&gt;Current Usage: Available&lt;br /&gt;Length: Other&lt;br /&gt;ID: Adapter 0, Socket 0&lt;br /&gt;Characteristics:&lt;br /&gt;5.0 V is provided&lt;br /&gt;3.3 V is provided&lt;br /&gt;PC Card-16 is supported&lt;br /&gt;Cardbus is supported&lt;br /&gt;Zoom Video is supported&lt;br /&gt;Modem ring resume is supported&lt;br /&gt;&lt;br /&gt;On Board Device Information&lt;br /&gt;Type: Video&lt;br /&gt;Status: Enabled&lt;br /&gt;Description: Intel Crestline Graphics  &lt;br /&gt;&lt;br /&gt;On Board Device Information&lt;br /&gt;Type: Sound&lt;br /&gt;Status: Enabled&lt;br /&gt;Description: Sigmatel 9205&lt;br /&gt;&lt;br /&gt;OEM Strings&lt;br /&gt;String 1: Dell System&lt;br /&gt;String 2: 5[0003]&lt;br /&gt;String 3: 13[PP22L]&lt;br /&gt;&lt;br /&gt;BIOS Language Information&lt;br /&gt;Installable Languages: 1&lt;br /&gt;en|US|iso8859-1&lt;br /&gt;Currently Installed Language: en|US|iso8859-1&lt;br /&gt;&lt;br /&gt;Physical Memory Array&lt;br /&gt;Location: System Board Or Motherboard&lt;br /&gt;Use: System Memory&lt;br /&gt;Error Correction Type: None&lt;br /&gt;Maximum Capacity: 4 GB&lt;br /&gt;Number Of Devices: 2&lt;br /&gt;&lt;br /&gt;Memory Device&lt;br /&gt;Total Width: 64 bits&lt;br /&gt;Data Width: 64 bits&lt;br /&gt;Size: 1024 MB&lt;br /&gt;Form Factor: DIMM&lt;br /&gt;Set: None&lt;br /&gt;Locator: DIMM_A&lt;br /&gt;Bank Locator: Not Specified&lt;br /&gt;Type: DDR&lt;br /&gt;Type Detail: Synchronous&lt;br /&gt;Speed: 800 MHz&lt;br /&gt;Manufacturer: AD00000000000000&lt;br /&gt;Serial Number: 00004021&lt;br /&gt;Asset Tag: 000845&lt;br /&gt;Part Number: HYMP112S64CP6-S6  &lt;br /&gt;&lt;br /&gt;Memory Device&lt;br /&gt;Total Width: 64 bits&lt;br /&gt;Data Width: 64 bits&lt;br /&gt;Size: 1024 MB&lt;br /&gt;Form Factor: DIMM&lt;br /&gt;Set: None&lt;br /&gt;Locator: DIMM_B&lt;br /&gt;Bank Locator: Not Specified&lt;br /&gt;Type: DDR&lt;br /&gt;Type Detail: Synchronous&lt;br /&gt;Speed: 800 MHz&lt;br /&gt;Manufacturer: AD00000000000000&lt;br /&gt;Serial Number: 00003030&lt;br /&gt;Asset Tag: 000845&lt;br /&gt;Part Number: HYMP112S64CP6-S6  &lt;br /&gt;&lt;br /&gt;Memory Array Mapped Address&lt;br /&gt;Starting Address: 0x00000000000&lt;br /&gt;Ending Address: 0x0007FFFFFFF&lt;br /&gt;Range Size: 2 GB&lt;br /&gt;Partition Width: 0&lt;br /&gt;&lt;br /&gt;Memory Device Mapped Address&lt;br /&gt;Starting Address: 0x00000000000&lt;br /&gt;Ending Address: 0x0007FFFFFFF&lt;br /&gt;Range Size: 2 GB&lt;br /&gt;Partition Row Position: 1&lt;br /&gt;Interleave Position: 1&lt;br /&gt;Interleaved Data Depth: 8&lt;br /&gt;&lt;br /&gt;Memory Device Mapped Address&lt;br /&gt;Starting Address: 0x00000000000&lt;br /&gt;Ending Address: 0x0007FFFFFFF&lt;br /&gt;Range Size: 2 GB&lt;br /&gt;Partition Row Position: 1&lt;br /&gt;Interleave Position: 2&lt;br /&gt;Interleaved Data Depth: 8&lt;br /&gt;&lt;br /&gt;Built-in Pointing Device&lt;br /&gt;Type: Touch Pad&lt;br /&gt;Interface: Bus Mouse&lt;br /&gt;Buttons: 2&lt;br /&gt;&lt;br /&gt;Portable Battery&lt;br /&gt;Location: Sys. Battery Bay&lt;br /&gt;Manufacturer:                 &lt;br /&gt;Name: DELL X409G8A    &lt;br /&gt;Design Capacity: 37000 mWh&lt;br /&gt;Design Voltage: 11100 mV&lt;br /&gt;SBDS Version: 1.0&lt;br /&gt;Maximum Error: 4%&lt;br /&gt;SBDS Serial Number: 3A58&lt;br /&gt;SBDS Manufacture Date: 2008-10-06&lt;br /&gt;SBDS Chemistry: LION            &lt;br /&gt;OEM-specific Information: 0x00000001&lt;br /&gt;&lt;br /&gt;Cooling Device&lt;br /&gt;Type: Fan&lt;br /&gt;Status: OK&lt;br /&gt;OEM-specific Information: 0x0000DD00&lt;br /&gt;&lt;br /&gt;Temperature Probe&lt;br /&gt;Description: CPU Internal Temperature&lt;br /&gt;Location: Processor&lt;br /&gt;Status: OK&lt;br /&gt;Maximum Value: 127.0 deg C&lt;br /&gt;Minimum Value: 0.0 deg C&lt;br /&gt;Resolution: 1.000 deg C&lt;br /&gt;Tolerance: 0.5 deg C&lt;br /&gt;Accuracy: Unknown&lt;br /&gt;OEM-specific Information: 0x0000DC00&lt;br /&gt;&lt;br /&gt;System Boot Information&lt;br /&gt;Status: No errors detected&lt;br /&gt;&lt;br /&gt;[root@localhost ~]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-1870019559134425506?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/1870019559134425506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/interview-questions-for-linux-hardware.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1870019559134425506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1870019559134425506'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/interview-questions-for-linux-hardware.html' title='Interview Questions for Linux Hardware !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-8224028160263167683</id><published>2010-02-20T04:33:00.000-08:00</published><updated>2010-02-20T04:33:38.507-08:00</updated><title type='text'>LVM: How to recover deleted LVM?</title><content type='html'>Guys,&lt;br /&gt;This could be something very informative for all LVM experts !!&lt;br /&gt;&lt;br /&gt;The lvm system maintains backup copies of the lvm configuration in the /etc/lvm/archive folder. I found the backup copy from just before my lvm volume was deleted. By using "vgcfgrestore" and the archive file i was able to restore the lvm configuration as it was before the lvm volume was deleted.&lt;br /&gt;&lt;br /&gt;The command:&lt;br /&gt;&lt;br /&gt;"vgcfgrestore -l VolGroup00" &lt;br /&gt;&lt;br /&gt;shows a list of backed up configurations.&lt;br /&gt;&lt;br /&gt;I found that the correct configuration was in the file "/etc/lvm/archive/VolGroup00_00054.vg".&lt;br /&gt;&lt;br /&gt;Running "vgcfgrestore -f /etc/lvm/archive/VolGroup00_00054.vg" did the trick.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-8224028160263167683?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/8224028160263167683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/lvm-how-to-recover-deleted-lvm.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8224028160263167683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8224028160263167683'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/lvm-how-to-recover-deleted-lvm.html' title='LVM: How to recover deleted LVM?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-2499654545877678686</id><published>2010-02-18T02:18:00.000-08:00</published><updated>2010-02-18T02:18:26.116-08:00</updated><title type='text'>Automounting on Linux !!</title><content type='html'>Let's learn the concept of automounting quickly.&lt;br /&gt;To enable a Samba share to be mounted when a machine boots,&lt;br /&gt;edit the /etc/fstab file to include the following: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//server/share /mount/point smbfs username=[username],password=[password] 0 0&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Where server is the Samba server name, share is the Samba share and /mount/point is the directoy on the local machine to mount to. The username and password options are of a valid user on the Samba server who has access to the Samba share you are trying to access.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Edit the /etc/fstab file&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LABEL=/                 /                       ext3    defaults        1 1&lt;br /&gt;LABEL=/boot             /boot                   ext3    defaults        1 2&lt;br /&gt;none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;none                    /proc                   proc    defaults        0 0&lt;br /&gt;none                    /dev/shm                tmpfs   defaults        0 0&lt;br /&gt;/dev/hda3               swap                    swap    defaults        0 0&lt;br /&gt;/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0&lt;br /&gt;/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0&lt;br /&gt;//server/share          /mount/point            smbfs   username=[username],password=[password] 0 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Substitue [username] and [password] with the appropriate credentials of a valid user on the Samba server.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;If you want to use the autofs service to mount SMB shares then follow the instructions below.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Edit the /etc/auto.master file&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $&lt;br /&gt;# Sample auto.master file&lt;br /&gt;# Format of this file:&lt;br /&gt;# mountpoint map options&lt;br /&gt;# For details of the format look at autofs(8).&lt;br /&gt;/misc   /etc/auto.misc  --timeout=60&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Edit the /etc/auto.misc file&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# $Id: auto.misc,v 1.2 1997/10/06 21:52:04 hpa Exp $&lt;br /&gt;# This is an automounter map and it has the following format&lt;br /&gt;# key [ -mount-options-separated-by-comma ] location&lt;br /&gt;# Details may be found in the autofs(5) manpage&lt;br /&gt;&lt;br /&gt;cd              -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom&lt;br /&gt;&lt;br /&gt;samba           -fstype=smbfs,username=[username],password=[password] ://server/share&lt;br /&gt;&lt;br /&gt;# the following entries are samples to pique your imagination&lt;br /&gt;#linux          -ro,soft,intr           ftp.example.org:/pub/linux&lt;br /&gt;#boot           -fstype=ext2            :/dev/hda1&lt;br /&gt;#floppy         -fstype=auto            :/dev/fd0&lt;br /&gt;#floppy         -fstype=ext2            :/dev/fd0&lt;br /&gt;#e2floppy       -fstype=ext2            :/dev/fd0&lt;br /&gt;#jaz            -fstype=ext2            :/dev/sdc1&lt;br /&gt;#removable      -fstype=ext2            :/dev/hdd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Issue the command service autofs restart so that the new changes will take effect.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Browsing to the /misc/samba directory should reveal the Samba mount.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-2499654545877678686?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/2499654545877678686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/automounting-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2499654545877678686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2499654545877678686'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/automounting-on-linux.html' title='Automounting on Linux !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-6547992911604429183</id><published>2010-02-16T02:50:00.000-08:00</published><updated>2010-02-16T02:51:43.644-08:00</updated><title type='text'>Sendmail: How to setup Sendmail Client?</title><content type='html'>I've central e-mail server. Other servers does not need to operate as a mail server. How do I configure Sendmail as submission-only e-mail server (mail client) under CentOS / Fedora / RHEL / Debian Linux / UNIX like operating systems?&lt;br /&gt;&lt;br /&gt;Sendmail or any MTA can work in two different modes. It can accept incoming SMTP e-mail requests and send mail from the local machine / workstation or server (cluster node). This is called outbound MTA and it always runes in a queue-only mode.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Step # 1: Disable Sendmail Daemon In a Listing Mode&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Edit the file /etc/sysconfig/sendmail using the text editor such as vi, enter:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# vi /etc/sysconfig/sendmail&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Modify the line:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DAEMON=no&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Save and close the file. &lt;br /&gt;&lt;br /&gt;Setting DAEMON=no tells Sendmail to execute only the queue runner on this machine, and never to receive SMTP mail requests on port # 25.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step #2: Configure Mail Submission&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You need to tell sedmail about a central MTA which will accept mail on port # 25 for all your domains. For e.g. mail.nixcraft.net act as a central MTA. Edit /etc/mail/submit.cf, enter:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# vi /etc/mail/submit.cf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Find the line beginning with D{MTAHost}, and update it to read as follows:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;D{MTAHost}mail.nixcraft.net&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Save and close the file. mail.nixcraft.net is the hostname of the server to which this machine should forward its all outgoing mail. Please note that mail.nixcraft.net must be configured to accept mail from your other workstations or server. Once done reload sendmail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-6547992911604429183?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/6547992911604429183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/sendmail-how-to-setup-sendmail-client.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6547992911604429183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6547992911604429183'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/sendmail-how-to-setup-sendmail-client.html' title='Sendmail: How to setup Sendmail Client?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-9104024047543969014</id><published>2010-02-16T02:05:00.000-08:00</published><updated>2010-02-16T02:13:38.964-08:00</updated><title type='text'>Sendmail Relaying : Understanding what's the Relaying all about?</title><content type='html'>My Overall architectural setup resembles as shown below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;langille.org [NEW DOMAIN] &lt;===  &lt;b&gt;freebsddiary[MAIL SERVER]&lt;/b&gt;  &lt;== INTERNET &lt;== fred.logic.com[ ANY FOREIGN CLIENT]&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I use langille.org as an example domain.&lt;br /&gt;Just registered this domain few days back.&lt;br /&gt;My Mail server is freebsddiary.&lt;br /&gt;&lt;br /&gt;As of now my sendmail doesnt know about that domain.&lt;br /&gt;I will have to tell the server about this new domain.&lt;br /&gt;&lt;br /&gt;My Mail server doesn't accept incoming mail for that domain(langile.org).However may mail is registered as the mail host for that domain.&lt;br /&gt;&lt;br /&gt;Type the following command :&lt;br /&gt;&lt;br /&gt;host langille.org&lt;br /&gt;&lt;br /&gt;langille.org mail is handled (pri=5) by freebsddiary.yi.org &lt;br /&gt;&lt;br /&gt;If someone tried to send mail to langille.org, it will arrive at freebsddiary.org(my mail server) but it will be refused.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Logs will report:&lt;br /&gt;&lt;br /&gt;Oct 30 11:04:44 ducky sendmail[98224]: LAA98224: ruleset=check_rcpt,&lt;br /&gt;     arg1=&lt;dan@langille.org&gt;, relay=mta1-rme.xtra.co.nz [203.96.92.1], reject=550&lt;br /&gt;&lt;dan@langille.org&gt;... Relaying denied&lt;br /&gt;Oct 30 11:04:44 ducky sendmail[98224]: LAA98224: from=&lt;junkmale@xtra.co.nz&gt;, SIZE=938,&lt;br /&gt;class=0, pri=0, nrcpts=0, proto=ESMTP,&lt;br /&gt;relay=mta1-rme.xtra.co.nz [203.96.92.1]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note that above example represents mail being sent to langille.org from an external domain.  It is incoming mail.&lt;br /&gt;&lt;br /&gt;To allow sendmail to receive mail for langille.org, I added the following entry to &lt;br /&gt;&lt;br /&gt;/etc/mail/sendmail.cw (after sendmail version 8.10, this file is local-host-names).   &lt;br /&gt;&lt;br /&gt;langille.org&lt;br /&gt;&lt;br /&gt;Then I told sendmail to re-read it's configuration files by issuing the following commands.&lt;br /&gt;&lt;br /&gt;# killall -hup sendmail&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;Your friend's domain is retch.org.  You wish to allow your friend to use your mail server.  The box he will be sending mail from is dry.retch.org.&lt;br /&gt;&lt;br /&gt;You would add the following entries to the files on your mail server:&lt;br /&gt;&lt;br /&gt;File:   /etc/mail/relay-domains&lt;br /&gt;&lt;br /&gt;dry.retch.org&lt;br /&gt;&lt;br /&gt;The above tells your mail server to accept outgoing mail from the host dry.retch.org.&lt;br /&gt;&lt;br /&gt;File:   /etc/mail/sendmail.cw&lt;br /&gt;&lt;br /&gt;retch.org&lt;br /&gt;&lt;br /&gt;The above tells your mail server to accept incoming mail for the domain retch.org (after sendmail version 8.10, this file is local-host-names).&lt;br /&gt;&lt;br /&gt;Final Conclusion:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;/etc/mail/relay-domains&lt;/b&gt; contains a list of hosts which are allowed to relay mail through your mail server.  This list may consist of either specific hosts or whole domains.&lt;br /&gt;&lt;br /&gt;/&lt;b&gt;etc/mail/sendmail.cw&lt;/b&gt; (after sendmail version 8.10, this file is local-host-names) contains a list of domains for which your mail server will accept mail.  This list is usually the domains hosted by your machine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-9104024047543969014?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/9104024047543969014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/sendmail-relaying-understanding-whats.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/9104024047543969014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/9104024047543969014'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/sendmail-relaying-understanding-whats.html' title='Sendmail Relaying : Understanding what&apos;s the Relaying all about?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-6480301074031236138</id><published>2010-02-10T21:40:00.000-08:00</published><updated>2010-02-10T21:42:24.136-08:00</updated><title type='text'>NFS : Important Interveiw Questions !!</title><content type='html'>Here I would like to share few of NFS Questions generally asked in the Interview.&lt;br /&gt;&lt;br /&gt;1. &lt;b&gt;What RPM you need for NFS server?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;rpm -qa nfs*&lt;br /&gt;nfs-utils-1.0.9-33.el5&lt;br /&gt;nfs-utils-lib-1.0.8-7.2.z2&lt;br /&gt;&lt;br /&gt;2. &lt;b&gt;What daemon is need for NFS to start?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;NFS depends on the portmapper daemon, either called portmap or rpc.portmap. It will need to be started first. It should be located in /sbin but is sometimes in /usr/sbin. Most recent Linux distributions start this daemon in the boot scripts, but it is worth making sure that it is running before you begin working with NFS (just type ps aux | grep portmap)&lt;br /&gt;&lt;br /&gt;3.&lt;b&gt;What daemons takes care of NFS serving?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;NFS serving is taken care of by five daemons: &lt;br /&gt;&lt;br /&gt;&lt;b&gt;rpc.nfsd&lt;/b&gt;, which does most of the work; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;rpc.lockd and rpc.statd&lt;/b&gt;, which handle file locking;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;rpc.mountd,&lt;b&gt;&lt;/b&gt;&lt;/b&gt; which handles the initial mount requests, and &lt;br /&gt;&lt;br /&gt;&lt;b&gt;rpc.rquotad,&lt;/b&gt; which handles user file quotas on exported volumes. &lt;br /&gt;&lt;br /&gt;Starting with 2.2.18, lockd is called by nfsd upon demand, so you do not need to worry about starting it yourself. statd will need to be started separately. Most recent Linux distributions will have startup scripts for these daemons.&lt;br /&gt;&lt;br /&gt;The daemons are all part of the nfs-utils package, and may be either in the /sbin directory or the /usr/sbin directory.&lt;br /&gt;&lt;br /&gt;If your distribution does not include them in the startup scripts, then then you should add them, configured to start in the following order:&lt;br /&gt;&lt;br /&gt;rpc.portmap&lt;br /&gt;rpc.mountd, rpc.nfsd&lt;br /&gt;rpc.statd, rpc.lockd (if necessary), and rpc.rquotad&lt;br /&gt;&lt;br /&gt;4.&lt;b&gt;You made some changes in /etc/exports. Does it show effect immediately?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;No.&lt;br /&gt;You should run the command &lt;b&gt;exportfs -ra&lt;/b&gt; to force&lt;b&gt; nfsd&lt;/b&gt; to re-read the /etc/exports   file. If you can't find the exportfs command, then you can kill nfsd with the  -HUP flag (see the man pages for kill for details).&lt;br /&gt;&lt;br /&gt;If that still doesn't work, don't forget to check hosts.allow to make sure you haven't forgotten to list any new client machines there&lt;br /&gt;&lt;br /&gt;5.&lt;b&gt;What software you need for NFS Client setup running? ( Very Important)&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;To begin using machine as an NFS client, you will need the &lt;b&gt;portmapper&lt;/b&gt; running on that machine, and to use &lt;b&gt;NFS file locking&lt;/b&gt;, you will also need rpc.statd and rpc.lockd  running on both the client and the server.&lt;br /&gt;&lt;br /&gt;With portmap, lockd, and statd running, you should now be able to mount the remote directory from your server just the way you mount a local hard drive&lt;br /&gt;with the mount command&lt;br /&gt;&lt;br /&gt;6.How to get NFS File Systems to Be Mounted at Boot Time?&lt;br /&gt;&lt;br /&gt;An Entry in /etc/fstab is enough&lt;br /&gt;&lt;br /&gt;master.foo.com:/home  /mnt    nfs          rw            0    0&lt;br /&gt;&lt;br /&gt;7.&lt;b&gt;What is Hard Mounting and Soft Mounting in NFS terminology?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There are some options you should consider adding at once. They govern the way the NFS client handles a server crash or network outage. One of the cool things about NFS is that it can handle this gracefully. If you set up the clients right. There are two distinct failure modes:&lt;br /&gt;&lt;br /&gt;soft&lt;br /&gt;&lt;br /&gt;If a file request fails, the NFS client will report an error to the process on the client machine requesting the file access. Some programs can handle this with composure, most won't. We do not recommend using this setting; it is a recipe for corrupted files and lost data. You should especially not use this for mail disks --- if you value your mail, that is. &lt;br /&gt;hard&lt;br /&gt;&lt;br /&gt;The program accessing a file on a NFS mounted file system will hang when the server crashes. The process cannot be interrupted or killed (except by a "sure kill") unless you also specify intr. When the NFS server is back online the program will continue undisturbed from where it was. &lt;br /&gt;&lt;br /&gt;8. &lt;b&gt;Whats the solution for NFS then?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We recommend using hard,intr on all NFS mounted file systems.&lt;br /&gt;&lt;br /&gt;Picking up the from previous example, the fstab entry would now look like:&lt;br /&gt;&lt;br /&gt;# device             mountpoint  fs-type    options    dump fsckord&lt;br /&gt;...&lt;br /&gt;master.foo.com:/home  /mnt/home   nfs      rw,hard,intr  0     0&lt;br /&gt;&lt;br /&gt;9.&lt;b&gt;How to do NFS performance optimization?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Follow the link http://www.linux.org/docs/ldp/howto/NFS-HOWTO/performance.html for better understanding.&lt;br /&gt;&lt;br /&gt;Hope it helps you attending overall important interview questions.&lt;br /&gt;Read this space again. I will add up more in future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-6480301074031236138?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/6480301074031236138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/nfs-important-interveiw-questions.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6480301074031236138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/6480301074031236138'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/nfs-important-interveiw-questions.html' title='NFS : Important Interveiw Questions !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-1216671074169409150</id><published>2010-02-10T02:17:00.001-08:00</published><updated>2010-12-22T10:44:34.668-08:00</updated><title type='text'>Apache: How to install Apache through source</title><content type='html'>The Contents have been moved to new &lt;a href="http://linuxscoop.blogspot.com/"&gt;website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-1216671074169409150?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/1216671074169409150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/apache-how-to-install-apache-through.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1216671074169409150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1216671074169409150'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/apache-how-to-install-apache-through.html' title='Apache: How to install Apache through source'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-4886433776511606555</id><published>2010-02-09T23:16:00.001-08:00</published><updated>2010-02-09T23:17:44.581-08:00</updated><title type='text'>Apache:How to install ANT tool under Linux</title><content type='html'>In this tutorial I will show you how you can install ant tool on your linux box. This installing ant in linux is based on the practical work.&lt;br /&gt;Step 1:&lt;br /&gt;Download ant from http://ant.apache.org/bindownload.cgi. I have downloaded apache-ant-1.7.1-bin.zip for this tutorial.&lt;br /&gt;&lt;br /&gt;Step 2:&lt;br /&gt;&lt;br /&gt;Login to your Linux box and create a directory "ant" under /usr/local.&lt;br /&gt;&lt;br /&gt;[root@RoseIndiaLinux local]# mkdir ant&lt;br /&gt;[root@RoseIndiaLinux local]# cd ant&lt;br /&gt;[root@RoseIndiaLinux ant]# pwd&lt;br /&gt;/usr/local/ant&lt;br /&gt;[root@RoseIndiaLinux ant]#&lt;br /&gt;&lt;br /&gt;Step 3:&lt;br /&gt;&lt;br /&gt;Copy apache-ant-1.7.1-bin.zip onto your Linux box in  /usr/local/ant directory.&lt;br /&gt;&lt;br /&gt;Step 4:&lt;br /&gt;&lt;br /&gt;Extract the zip file apache-ant-1.7.1-bin.zip) using unzip command.&lt;br /&gt;&lt;br /&gt;[root@RoseIndiaLinux ant]# unzip apache-ant-1.7.1-bin.zip&lt;br /&gt;&lt;br /&gt;above command will extract the content of the zip file and will create a new directory apache-ant-1.7.1&lt;br /&gt;&lt;br /&gt;Step 5:&lt;br /&gt;&lt;br /&gt;Set path in the .bash_profile&lt;br /&gt;&lt;br /&gt;Open the file /root/.bash_profile and add the following codes:&lt;br /&gt;&lt;br /&gt;export ANT_HOME=/usr/local/ant/apache-ant-1.7.1&lt;br /&gt;export JAVA_HOME=/opt/java/jdk1.6.0_06&lt;br /&gt;export PATH=${PATH}:${ANT_HOME}/bin&lt;br /&gt;&lt;br /&gt;Step 6:&lt;br /&gt;&lt;br /&gt;Logout and login again to your Linux box. Now ant available on your box.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-4886433776511606555?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/4886433776511606555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/apachehow-to-install-ant-tool-under.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4886433776511606555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4886433776511606555'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/apachehow-to-install-ant-tool-under.html' title='Apache:How to install ANT tool under Linux'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-2943212902558065467</id><published>2010-02-09T22:33:00.000-08:00</published><updated>2010-02-09T22:33:04.877-08:00</updated><title type='text'>Port Redirection: Howto?</title><content type='html'>You can easily redirect incoming traffic by inserting rules into PREROUTING chain of the nat table. You can set destination port using the REDIRECT target.&lt;br /&gt;Syntax&lt;br /&gt;&lt;br /&gt;The syntax is as follows to redirect tcp $srcPortNumber port to $dstPortNumber:&lt;br /&gt;&lt;br /&gt;iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $srcPortNumber -j REDIRECT --to-port $dstPortNumbe&lt;br /&gt;&lt;br /&gt;The syntax is as follows to redirect udp $srcPortNumber port to $dstPortNumber:&lt;br /&gt;&lt;br /&gt;iptables -t nat -A PREROUTING -i eth0 -p udp --dport $srcPortNumber -j REDIRECT --to-port $dstPortNumbe&lt;br /&gt;&lt;br /&gt;Replace eth0 with your actual interface name. The following syntax match for source and destination ips:&lt;br /&gt;&lt;br /&gt;iptables -t nat -I PREROUTING --src $SRC_IP_MASK --dst $DST_IP -p tcp --dport $portNumber -j REDIRECT --to-ports $rediectPort&lt;br /&gt;&lt;br /&gt;Examples:&lt;br /&gt;&lt;br /&gt;The following example redirects TCP port 25 to port 2525:&lt;br /&gt;&lt;br /&gt;iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525&lt;br /&gt;&lt;br /&gt;In this example all incoming traffic on port 80 redirect to port 8123&lt;br /&gt;&lt;br /&gt;iptables -t nat -I PREROUTING --src 0/0 --dst 192.168.1.5 -p tcp --dport 80 -j REDIRECT --to-ports 8123&lt;br /&gt;&lt;br /&gt;Quoting from the iptables man page:&lt;br /&gt;&lt;br /&gt; This  target is only valid in the nat table, in the PREROUTING and OUTPUT&lt;br /&gt;       chains, and user-defined chains which are only  called  from  those&lt;br /&gt;       chains.   It redirects the packet to the machine itself by changing the&lt;br /&gt;       destination IP  to  the  primary  address  of  the  incoming  interface&lt;br /&gt;       (locally-generated  packets  are  mapped to the 127.0.0.1 address).  It&lt;br /&gt;       takes one option:&lt;br /&gt;&lt;br /&gt;       --to-ports port[-port]&lt;br /&gt;              This specifies a destination port or  range  of  ports  to  use:&lt;br /&gt;              without  this,  the  destination port is never altered.  This is&lt;br /&gt;              only valid if the rule also specifies -p tcp or -p udp.&lt;br /&gt;&lt;br /&gt;The OUTPUT chain example:&lt;br /&gt;&lt;br /&gt;iptables -t nat -I OUTPUT --src 0/0 --dst 192.168.1.5 -p tcp --dport 80 -j REDIRECT --to-ports 8123&lt;br /&gt;&lt;br /&gt;How Do I View NAT Rules?&lt;br /&gt;&lt;br /&gt;Type the following command:&lt;br /&gt;&lt;br /&gt;iptables -t nat -L -n -v&lt;br /&gt;&lt;br /&gt;How Do I Save NAT Redirect Rules?&lt;br /&gt;&lt;br /&gt;Type the following command:&lt;br /&gt;&lt;br /&gt;iptables-save&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-2943212902558065467?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/2943212902558065467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/port-redirection-howto.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2943212902558065467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2943212902558065467'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/port-redirection-howto.html' title='Port Redirection: Howto?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3445741102811809178</id><published>2010-02-09T22:24:00.000-08:00</published><updated>2010-02-09T22:24:46.789-08:00</updated><title type='text'>Connecting RHEL to Active Directory Server through Winbind</title><content type='html'>You have a RHEL system and you want to authenticate it against your active directory. The good news is that Red Hat has made it easy for you to do this. The bad news is that they only get the most basic structure working for you.&lt;br /&gt;&lt;br /&gt;Here I will show you how to get WinBind authentication working using Authconfig, and how make it a little more seamless than this utility leaves it off.&lt;br /&gt;&lt;br /&gt;It should be noted that while this works perfectly well, it is really not the best way to authenticate users against a UNIX host. Given the option, having your users in OpenLDAP and PAM authenticating them against that would be a much better option. However, we don’t live in a perfect world, and sometimes we just have to make things work.&lt;br /&gt;&lt;br /&gt;Let’s start by using authconfig to join your machine to the domain. This should all be done as the root user.&lt;br /&gt;&lt;br /&gt;# authconfig&lt;br /&gt;&lt;br /&gt;    * Select “Use Winbind” and Use “Winbind Authentication”. Remember to leave “Cache Information”, “Use MD5 Passwords” and “Use Shadow Passwords” selected.&lt;br /&gt;    * Select “Next”&lt;br /&gt;    * Under “Security Model” select “ads”&lt;br /&gt;    * “Domains:” examplead (substatute with the name of your Active Directory)&lt;br /&gt;    * “Domain Controllers:” adserver.domain.com (Again, substitute with the name of your Active Directory server)&lt;br /&gt;    * “ADS Realm:” ADSERVER.DOMAIN.COM&lt;br /&gt;    * “Template Shell:” /bin/bash&lt;br /&gt;    * Select “Join Domain”&lt;br /&gt;    * Select “OK”&lt;br /&gt;&lt;br /&gt;Now your machine should be be on the domain. Test it to make sure you can see your AD users:&lt;br /&gt;&lt;br /&gt;# wbinfo -u&lt;br /&gt;&lt;br /&gt;You should see your users in the list.&lt;br /&gt;&lt;br /&gt;The only problem is that to do anything with them, you have to express their user name in that annoying way Windows likes you to. Something like this:&lt;br /&gt;&lt;br /&gt;“EXAMPLEAD\\username”&lt;br /&gt;&lt;br /&gt;Not very usefull. To get around this, simply edit “/etc/samba/smb.conf” and change this line:&lt;br /&gt;&lt;br /&gt;winbind use default domain = no&lt;br /&gt;&lt;br /&gt;to this:&lt;br /&gt;&lt;br /&gt;winbind use default domain = yes&lt;br /&gt;&lt;br /&gt;You should now be able to express AD usernames without the domain nonsense before it. Try it:&lt;br /&gt;&lt;br /&gt;# finger username&lt;br /&gt;Login: username                            Name: Username&lt;br /&gt;Directory: /home/EXAMPLEAD/username        Shell: /bin/bash&lt;br /&gt;Never logged in.&lt;br /&gt;No mail.&lt;br /&gt;No Plan.&lt;br /&gt;&lt;br /&gt;Finally check your “/etc/nsswhich.conf” file to make sure RHEL knows to use WinBind. Authconfig should have set this up for you, and it should have lines that look like this:&lt;br /&gt;&lt;br /&gt;passwd:     files winbind&lt;br /&gt;shadow:     files winbind&lt;br /&gt;group:      files winbind&lt;br /&gt;&lt;br /&gt;Note:Follow these instructions to have your users directories automatically created….&lt;br /&gt;&lt;br /&gt;http://kbase.redhat.com/faq/FAQ_43_5367.shtm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-3445741102811809178?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/3445741102811809178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/connecting-rhel-to-active-directory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3445741102811809178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3445741102811809178'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/connecting-rhel-to-active-directory.html' title='Connecting RHEL to Active Directory Server through Winbind'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-2998442850314529273</id><published>2010-02-02T07:47:00.000-08:00</published><updated>2010-02-02T07:47:58.821-08:00</updated><title type='text'>Linux: How to create  a new Partition on Linux?</title><content type='html'>Linux Partitioning follows a simple step which can be executed post installation.Below mentioned steps creates a new partition called /u02 and needed to be mounted therein.&lt;br /&gt;&lt;br /&gt;Hope it helps understandign clear cut steps to linux partitioning:&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda3              11G  479M  9.1G   5% /&lt;br /&gt;/dev/sda7             4.9G  139M  4.5G   3% /home&lt;br /&gt;/dev/sda6             4.9G  230M  4.4G   5% /var&lt;br /&gt;/dev/sda5             7.6G  2.4G  4.9G  33% /usr&lt;br /&gt;/dev/sda2              11G  155M  9.4G   2% /opt&lt;br /&gt;/dev/sda1              99M   24M   71M  25% /boot&lt;br /&gt;tmpfs                1010M     0 1010M   0% /dev/shm&lt;br /&gt;/dev/sda9             9.2G  150M  8.6G   2% /u01&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# fdisk /dev/sda&lt;br /&gt;&lt;br /&gt;The number of cylinders for this disk is set to 9729.&lt;br /&gt;There is nothing wrong with that, but this is larger than 1024,&lt;br /&gt;and could in certain setups cause problems with:&lt;br /&gt;1) software that runs at boot time (e.g., old versions of LILO)&lt;br /&gt;2) booting and partitioning software from other OSs&lt;br /&gt;   (e.g., DOS FDISK, OS/2 FDISK)&lt;br /&gt;&lt;br /&gt;Command (m for help): p&lt;br /&gt;&lt;br /&gt;Disk /dev/sda: 80.0 GB, 80026361856 bytes&lt;br /&gt;255 heads, 63 sectors/track, 9729 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;&lt;br /&gt;   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/sda1   *           1          13      104391   83  Linux&lt;br /&gt;/dev/sda2              14        1364    10851907+  83  Linux&lt;br /&gt;/dev/sda3            1365        2715    10851907+  83  Linux&lt;br /&gt;/dev/sda4            2716        9729    56339955    5  Extended&lt;br /&gt;/dev/sda5            2716        3738     8217216   83  Linux&lt;br /&gt;/dev/sda6            3739        4388     5221093+  83  Linux&lt;br /&gt;/dev/sda7            4389        5038     5221093+  83  Linux&lt;br /&gt;/dev/sda8            5039        5560     4192933+  82  Linux swap / Solaris&lt;br /&gt;/dev/sda9            5561        6777     9775521   83  Linux&lt;br /&gt;&lt;br /&gt;Command (m for help): n&lt;br /&gt;First cylinder (6778-9729, default 6778):&lt;br /&gt;Using default value 6778&lt;br /&gt;Last cylinder or +size or +sizeM or +sizeK (6778-9729, default 9729): +10000M&lt;br /&gt;&lt;br /&gt;Command (m for help): p&lt;br /&gt;&lt;br /&gt;Disk /dev/sda: 80.0 GB, 80026361856 bytes&lt;br /&gt;255 heads, 63 sectors/track, 9729 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;&lt;br /&gt;   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/sda1   *           1          13      104391   83  Linux&lt;br /&gt;/dev/sda2              14        1364    10851907+  83  Linux&lt;br /&gt;/dev/sda3            1365        2715    10851907+  83  Linux&lt;br /&gt;/dev/sda4            2716        9729    56339955    5  Extended&lt;br /&gt;/dev/sda5            2716        3738     8217216   83  Linux&lt;br /&gt;/dev/sda6            3739        4388     5221093+  83  Linux&lt;br /&gt;/dev/sda7            4389        5038     5221093+  83  Linux&lt;br /&gt;/dev/sda8            5039        5560     4192933+  82  Linux swap / Solaris&lt;br /&gt;/dev/sda9            5561        6777     9775521   83  Linux&lt;br /&gt;/dev/sda10           6778        7994     9775521   83  Linux&lt;br /&gt;&lt;br /&gt;Command (m for help): w&lt;br /&gt;The partition table has been altered!&lt;br /&gt;&lt;br /&gt;Calling ioctl() to re-read partition table.&lt;br /&gt;&lt;br /&gt;WARNING: Re-reading the partition table failed with error 16: Device or resource busy.&lt;br /&gt;The kernel still uses the old table.&lt;br /&gt;The new table will be used at the next reboot.&lt;br /&gt;Syncing disks.&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# partprobe&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# mkfs.ext3 /dev/sda10&lt;br /&gt;mke2fs 1.39 (29-May-2006)&lt;br /&gt;Filesystem label=&lt;br /&gt;OS type: Linux&lt;br /&gt;Block size=4096 (log=2)&lt;br /&gt;Fragment size=4096 (log=2)&lt;br /&gt;1224000 inodes, 2443880 blocks&lt;br /&gt;122194 blocks (5.00%) reserved for the super user&lt;br /&gt;First data block=0&lt;br /&gt;Maximum filesystem blocks=2503999488&lt;br /&gt;75 block groups&lt;br /&gt;32768 blocks per group, 32768 fragments per group&lt;br /&gt;16320 inodes per group&lt;br /&gt;Superblock backups stored on blocks:&lt;br /&gt;        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632&lt;br /&gt;&lt;br /&gt;Writing inode tables: done&lt;br /&gt;Creating journal (32768 blocks): done&lt;br /&gt;Writing superblocks and filesystem accounting information: done&lt;br /&gt;&lt;br /&gt;This filesystem will be automatically checked every 26 mounts or&lt;br /&gt;180 days, whichever comes first.  Use tune2fs -c or -i to override.&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# e2label /dev/sda10 /u02&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# vi /etc/fstab&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# mkdir /u02&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# mount -a&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda3              11G  479M  9.1G   5% /&lt;br /&gt;/dev/sda7             4.9G  139M  4.5G   3% /home&lt;br /&gt;/dev/sda6             4.9G  230M  4.4G   5% /var&lt;br /&gt;/dev/sda5             7.6G  2.4G  4.9G  33% /usr&lt;br /&gt;/dev/sda2              11G  155M  9.4G   2% /opt&lt;br /&gt;/dev/sda1              99M   24M   71M  25% /boot&lt;br /&gt;tmpfs                1010M     0 1010M   0% /dev/shm&lt;br /&gt;/dev/sda9             9.2G  150M  8.6G   2% /u01&lt;br /&gt;/dev/sda10            9.2G  150M  8.6G   2% /u02&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# mount&lt;br /&gt;/dev/sda3 on / type ext3 (rw)&lt;br /&gt;proc on /proc type proc (rw)&lt;br /&gt;sysfs on /sys type sysfs (rw)&lt;br /&gt;devpts on /dev/pts type devpts (rw,gid=5,mode=620)&lt;br /&gt;/dev/sda7 on /home type ext3 (rw)&lt;br /&gt;/dev/sda6 on /var type ext3 (rw)&lt;br /&gt;/dev/sda5 on /usr type ext3 (rw)&lt;br /&gt;/dev/sda2 on /opt type ext3 (rw)&lt;br /&gt;/dev/sda1 on /boot type ext3 (rw)&lt;br /&gt;tmpfs on /dev/shm type tmpfs (rw)&lt;br /&gt;none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)&lt;br /&gt;sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)&lt;br /&gt;/dev/sda9 on /u01 type ext3 (rw)&lt;br /&gt;/dev/sda10 on /u02 type ext3 (rw)&lt;br /&gt;&lt;br /&gt;[root@ajeet ~]# df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda3              11G  479M  9.1G   5% /&lt;br /&gt;/dev/sda7             4.9G  139M  4.5G   3% /home&lt;br /&gt;/dev/sda6             4.9G  230M  4.4G   5% /var&lt;br /&gt;/dev/sda5             7.6G  2.4G  4.9G  33% /usr&lt;br /&gt;/dev/sda2              11G  155M  9.4G   2% /opt&lt;br /&gt;/dev/sda1              99M   24M   71M  25% /boot&lt;br /&gt;tmpfs                1010M     0 1010M   0% /dev/shm&lt;br /&gt;/dev/sda9             9.2G  150M  8.6G   2% /u01&lt;br /&gt;/dev/sda10            9.2G  150M  8.6G   2% /u02&lt;br /&gt;[root@ajeet ~]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-2998442850314529273?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/2998442850314529273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/linux-how-to-create-new-partition-on.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2998442850314529273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2998442850314529273'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/02/linux-how-to-create-new-partition-on.html' title='Linux: How to create  a new Partition on Linux?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5868625771277721633</id><published>2010-01-30T07:57:00.000-08:00</published><updated>2010-01-30T07:57:45.315-08:00</updated><title type='text'>RPM: Want to know the overall RPMs in your Linux Box ? Try Your Hands on !!</title><content type='html'>I was searching for a command which could provide me the overall RPMs in my CentOS 5.4 box.I did tried it several times but usually forget to collect it.&lt;br /&gt;So this command is for all you guys (and me, of course) who may want to know the size of all the installed packages and sort them. Here we go:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;$ rpm -qa --qf '%11{SIZE} %{NAME}\n' | sort -k1n&lt;br /&gt;&lt;br /&gt;There you see..Sea of RPMs.&lt;br /&gt;&lt;br /&gt;Happy LinuXing !!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5868625771277721633?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5868625771277721633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/01/rpm-want-to-know-overall-rpms-in-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5868625771277721633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5868625771277721633'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/01/rpm-want-to-know-overall-rpms-in-your.html' title='RPM: Want to know the overall RPMs in your Linux Box ? Try Your Hands on !!'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5843688988309555485</id><published>2010-01-30T04:55:00.000-08:00</published><updated>2010-12-22T10:20:07.630-08:00</updated><title type='text'>389-DS: Kickstarting CentOS with 389-DS Complete Setup</title><content type='html'>The Contents have been revised and redirected to new &lt;a href="http://website./"&gt;website.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5843688988309555485?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://linuxscoop.blogspot.com' title='389-DS: Kickstarting CentOS with 389-DS Complete Setup'/><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5843688988309555485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2010/01/389-ds-kickstarting-centos-with-389-ds.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5843688988309555485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5843688988309555485'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2010/01/389-ds-kickstarting-centos-with-389-ds.html' title='389-DS: Kickstarting CentOS with 389-DS Complete Setup'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3531984086476661442</id><published>2009-12-26T10:48:00.001-08:00</published><updated>2009-12-26T10:48:20.309-08:00</updated><title type='text'>Apache:Start Apache as service in Linux (Fedora)</title><content type='html'>The Apache HTTP server is installed by default in all Linux distributions and it is configured to run as service. I usually prefer to install Apache from source instead of using the default one. After installing Apache I want to run that instance as service so that it can be restarted automatically whenever machine is rebooted. This can be achieved easily by modifying /etc/rc.d/init.d/httpd file, which is configured to run the Apache installed with OS.&lt;br /&gt;&lt;br /&gt;Comment the following section, though it is not required but I prefer to keep all configuration at one place&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if [ -f /etc/sysconfig/httpd ]; then&lt;br /&gt;        . /etc/sysconfig/httpd&lt;br /&gt;fi&lt;br /&gt;Modify the following lines- &lt;br /&gt;&lt;br /&gt;apachectl=/usr/sbin/apachectl&lt;br /&gt;httpd=${HTTPD-/usr/sbin/httpd}&lt;br /&gt;prog=httpd&lt;br /&gt;pidfile=${PIDFILE-/var/run/httpd/httpd.pid}&lt;br /&gt;to point towards your Apache installation&lt;br /&gt;&lt;br /&gt;apachectl=/opt/apps/httpd-2.2.14/bin/apachectl&lt;br /&gt;httpd=${HTTPD-/opt/apps/httpd-2.2.14/bin/httpd}&lt;br /&gt;prog=httpd&lt;br /&gt;pidfile=${PIDFILE-/opt/apps/httpd-2.2.14/logs/httpd.pid}&lt;br /&gt;&lt;br /&gt;Now your custom Apache instance will be started by OS instead of the default one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-3531984086476661442?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/3531984086476661442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/apachestart-apache-as-service-in-linux.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3531984086476661442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3531984086476661442'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/apachestart-apache-as-service-in-linux.html' title='Apache:Start Apache as service in Linux (Fedora)'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-8155748988898429464</id><published>2009-12-16T20:56:00.001-08:00</published><updated>2009-12-16T20:57:32.259-08:00</updated><title type='text'>Cron: Understanding crontab deeply?</title><content type='html'>A crontab file contains instructions to the cron daemon of the general&lt;br /&gt;form: `run this command at this time on this date'.  Each user has&lt;br /&gt;their own crontab, and commands in any given crontab will be executed as&lt;br /&gt;the user who owns the crontab.  Uucp and News will usually have their own&lt;br /&gt;crontabs, eliminating the need for explicitly running su as part of a&lt;br /&gt;cron command.&lt;br /&gt;&lt;br /&gt;Blank lines and leading spaces and tabs are ignored.  Lines whose first&lt;br /&gt;non-space character is a pound-sign (#) are comments, and are ignored.&lt;br /&gt;Note that comments are not allowed on the same line as cron commands,&lt;br /&gt;since they will be taken to be part of the command.  Similarly, comments&lt;br /&gt;are not allowed on the same line as environment variable settings.&lt;br /&gt;&lt;br /&gt;An active line in a crontab will be either an environment setting or a&lt;br /&gt;cron command.  An environment setting is of the form,&lt;br /&gt;&lt;br /&gt;name = value&lt;br /&gt;&lt;br /&gt;where the spaces around the equal-sign (=) are optional, and any subse-&lt;br /&gt;quent non-leading spaces in value will be part of the value assigned to&lt;br /&gt;name.  The value string may be placed in quotes (single or double, but&lt;br /&gt;matching) to preserve leading or trailing blanks. The name string may&lt;br /&gt;also be placed in quote (single or double, but matching) to preserve&lt;br /&gt;leading, traling or inner blanks.&lt;br /&gt;&lt;br /&gt;Several environment variables are set up automatically by the cron&lt;br /&gt;daemon.  SHELL is set to /bin/sh, and LOGNAME and HOME are set from the&lt;br /&gt;/etc/passwd line of the crontab's owner.  HOME and SHELL may be overrid-&lt;br /&gt;den by settings in the crontab; LOGNAME may not.&lt;br /&gt;&lt;br /&gt;(Another note: the LOGNAME variable is sometimes called USER on BSD sys-&lt;br /&gt;tems...  on these systems, USER will be set also).&lt;br /&gt;&lt;br /&gt;In addition to LOGNAME, HOME, and SHELL, cron will look at MAILTO if&lt;br /&gt;it has any reason to send mail as a result of running commands in&lt;br /&gt;`this' crontab. If MAILTO is defined (and non-empty), mail is sent to&lt;br /&gt;the user so named.  If MAILTO is defined but empty (MAILTO=""), no mail&lt;br /&gt;will be sent.  Otherwise mail is sent to the owner of the crontab.  This&lt;br /&gt;option is useful if you decide on /bin/mail instead of /usr/lib/sendmail&lt;br /&gt;as your mailer when you install cron -- /bin/mail doesn't do aliasing,&lt;br /&gt;and UUCP usually doesn't read its mail.&lt;br /&gt;&lt;br /&gt;The format of a cron command is very much the V7 standard, with a number&lt;br /&gt;of upward-compatible extensions.  Each line has five time and date&lt;br /&gt;fields, followed by a user name (with optional `:' and&lt;br /&gt;`/' suffixes) if this is the system crontab file, followed&lt;br /&gt;by a command.  Commands are executed by cron when the minute, hour,&lt;br /&gt;and month of year fields match the current time, and when at least one of&lt;br /&gt;the two day fields (day of month, or day of week) match the current time&lt;br /&gt;(see `Note' below).  cron examines cron entries once every minute.&lt;br /&gt;The time and date fields are:&lt;br /&gt;&lt;br /&gt;field  allowed values&lt;br /&gt;-----  --------------&lt;br /&gt;minute  0-59&lt;br /&gt;hour   0-23&lt;br /&gt;day of month  1-31&lt;br /&gt;month  1-12 (or names, see below)&lt;br /&gt;day of week  0-7 (0 or 7 is Sun, or use names)&lt;br /&gt;&lt;br /&gt;A field may be an asterisk (*), which always stands for `first-last'.&lt;br /&gt;&lt;br /&gt;Ranges of numbers are allowed.  Ranges are two numbers separated with a&lt;br /&gt;hyphen.  The specified range is inclusive.  For example, 8-11 for an&lt;br /&gt;``hours'' entry specifies execution at hours 8, 9, 10 and 11.&lt;br /&gt;&lt;br /&gt;Lists are allowed.  A list is a set of numbers (or ranges) separated by&lt;br /&gt;commas.  Examples: `1,2,5,9', `0-4,8-12'.&lt;br /&gt;&lt;br /&gt;Step values can be used in conjunction with ranges.  Following a range&lt;br /&gt;with `/' specifies skips of the number's value through the&lt;br /&gt;range.  For example, `0-23/2' can be used in the hours field to specify&lt;br /&gt;command execution every other hour (the alternative in the V7 standard is&lt;br /&gt;`0,2,4,6,8,10,12,14,16,18,20,22').  Steps are also permitted after an&lt;br /&gt;asterisk, so if you want to say `every two hours', just use `*/2'.&lt;br /&gt;&lt;br /&gt;Names can also be used for the `month' and `day of week' fields.  Use&lt;br /&gt;the first three letters of the particular day or month (case doesn't mat-&lt;br /&gt;ter).  Ranges or lists of names are not allowed.&lt;br /&gt;&lt;br /&gt;The `sixth' field (the rest of the line) specifies the command to be&lt;br /&gt;run.  The entire command portion of the line, up to a newline or % char-&lt;br /&gt;acter, will be executed by /bin/sh or by the shell specified in the SHELL&lt;br /&gt;variable of the cronfile. Percent-signs (%) in the command, unless&lt;br /&gt;escaped with backslash (\), will be changed into newline characters, and&lt;br /&gt;all data after the first % will be sent to the command as standard input.&lt;br /&gt;&lt;br /&gt;The command can optionally be prefixed by `@AppleNotOnBattery ' to tell&lt;br /&gt;cron not to run the command when functioning on battery power.  For exam-&lt;br /&gt;ple, the `sixth' field when using this option would appear something&lt;br /&gt;like `@AppleNotOnBattery /usr/bin/touch /tmp/foo'&lt;br /&gt;&lt;br /&gt;Note: The day of a command's execution can be specified by two fields --&lt;br /&gt;day of month, and day of week.  If both fields are restricted (ie, aren't&lt;br /&gt;*), the command will be run when either field matches the current time.&lt;br /&gt;For example, `30 4 1,15 * 5' would cause a command to be run at 4:30 am&lt;br /&gt;on the 1st and 15th of each month, plus every Friday.&lt;br /&gt;&lt;br /&gt;Instead of the first five fields, one of eight special strings may&lt;br /&gt;appear:&lt;br /&gt;&lt;br /&gt;string    meaning&lt;br /&gt;------    -------&lt;br /&gt;@reboot    Run once, at startup.&lt;br /&gt;@yearly    Run once a year, "0 0 1 1 *".&lt;br /&gt;@annually    (sames as @yearly)&lt;br /&gt;@monthly    Run once a month, "0 0 1 * *".&lt;br /&gt;@weekly    Run once a week, "0 0 * * 0".&lt;br /&gt;@daily    Run once a day, "0 0 * * *".&lt;br /&gt;@midnight    (same as @daily)&lt;br /&gt;@hourly    Run once an hour, "0 * * * *".&lt;br /&gt;&lt;br /&gt;EXAMPLE CRON FILE&lt;br /&gt;&lt;br /&gt;# use /bin/sh to run commands, overriding the default set by cron&lt;br /&gt;SHELL=/bin/sh&lt;br /&gt;#&lt;br /&gt;# mail any output to `paul', no matter whose crontab this is&lt;br /&gt;MAILTO=paul&lt;br /&gt;#&lt;br /&gt;# run five minutes after midnight, every day&lt;br /&gt;5 0 * * *      $HOME/bin/daily.job &gt;&gt; $HOME/tmp/out 2&gt;&amp;1&lt;br /&gt;#&lt;br /&gt;# run at 2:15pm on the first of every month -- output mailed to paul&lt;br /&gt;15 14 1 * *     $HOME/bin/monthly&lt;br /&gt;#&lt;br /&gt;# run at 10 pm on weekdays, annoy Joe&lt;br /&gt;0 22 * * 1-5    mail -s "It's 10pm" joe%Joe,%%Where are your kids?%&lt;br /&gt;23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday"&lt;br /&gt;5 4 * * sun     echo "run at 5 after 4 every sunday"&lt;br /&gt;&lt;br /&gt;Notes&lt;br /&gt;When specifying day of week, both day 0 and day 7 will be considered Sunday. BSD and ATT seem to disagree about this.&lt;br /&gt;&lt;br /&gt;Lists and ranges are allowed to co-exist in the same field. "1-3,7-9" would be rejected by ATT or BSD cron -- they want to see "1-3" or "7,8,9" ONLY.&lt;br /&gt;&lt;br /&gt;Ranges can include "steps", so "1-9/2" is the same as "1,3,5,7,9".&lt;br /&gt;&lt;br /&gt;Names of months or days of the week can be specified by name. Environment variables can be set in the crontab. In BSD or ATT, the environment handed to child processes is basically the one from /etc/rc.&lt;br /&gt;&lt;br /&gt;Command output is mailed to the crontab owner (BSD can't do this), can be mailed to a person other than the crontab owner (SysV can't do this), or the feature can be turned off and no mail will be sent at all (SysV can't do this either).&lt;br /&gt;&lt;br /&gt;All of the `@' commands that can appear in place of the first five fields are extensions.&lt;br /&gt;&lt;br /&gt;If you're in one of the 70-odd countries that observe Daylight Savings Time, jobs scheduled during the rollback or advance will be affected. In general, it's not a good idea to schedule jobs during this period.&lt;br /&gt;&lt;br /&gt;"Wisdom is the power to put our time and our knowledge to the proper use" - Thomas J. Watson&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-8155748988898429464?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/8155748988898429464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/cron-understanding-crontab-deeply.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8155748988898429464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8155748988898429464'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/cron-understanding-crontab-deeply.html' title='Cron: Understanding crontab deeply?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-2191659516388553764</id><published>2009-12-14T23:09:00.000-08:00</published><updated>2009-12-14T23:11:01.478-08:00</updated><title type='text'>Tomcat: Troubleshoot the Tomcat?</title><content type='html'>Installing JDK (Java Development Kit)&lt;br /&gt;&lt;br /&gt;In order to run Tomcat, you will need to install JDK and set the JAVA_HOME environment variable to identify the location of the JDK environment on your system. I have chosen to use JDK 5.0.&lt;br /&gt;&lt;br /&gt;   1. You can download JDK 5.0 at http://java.sun.com/j2se/1.5.0/download.jsp. &lt;br /&gt;&lt;br /&gt;   2. Click on Download JDK 5.0 Update 6 to go to the download page.&lt;br /&gt;&lt;br /&gt;   3. Click Accept to accept the license agreement.&lt;br /&gt;&lt;br /&gt;   4. Next choose the Linux self-extracting file. This is the download for the self-extracting binary file rather than the rpm.&lt;br /&gt;&lt;br /&gt;   5. Download to your preferred download directory. Change to that directory and make it executable by executing the following command:&lt;br /&gt;&lt;br /&gt;chmod +x jdk-1_5_0_06-linux-i586.bin&lt;br /&gt;&lt;br /&gt;   6. Now execute the file:&lt;br /&gt;&lt;br /&gt;./jdk-1_5_0_06-linux-i586.bin&lt;br /&gt;&lt;br /&gt;   7. You should now have a new directory called j2sdk1.5-sun. Now move this directory to the location where it should be run. I chose /usr/lib/.&lt;br /&gt;&lt;br /&gt;mv j2sdk1.5-sun /usr/lib&lt;br /&gt;&lt;br /&gt;   8. Now create a symbolic link called jdk to JAVA_HOME by the following command. This allows you to easily switch back and forth between different jvms should you ever need to&lt;br /&gt;&lt;br /&gt;cd /usr/lib&lt;br /&gt;&lt;br /&gt;ln -s j2sdk1.5-sun jdk&lt;br /&gt;&lt;br /&gt;   8. Now we need to set the JAVA_HOME environment variable. Add the following at the end of /etc/profile just after export PATH.&lt;br /&gt;&lt;br /&gt;JAVA_HOME="/usr/lib/jdk"&lt;br /&gt;&lt;br /&gt;export JAVA_HOME&lt;br /&gt;&lt;br /&gt;/etc/profile is executed at startup and when a user logs into the system. In order to update the environment you will need to log out and log back in to the system.&lt;br /&gt;&lt;br /&gt;  10. Check to make sure JAVA_HOME is defined correctly by executing the command below. This should report the location of the Java SDK which should be /usr/lib/jdk. &lt;br /&gt;&lt;br /&gt;echo $JAVA_HOME&lt;br /&gt;&lt;br /&gt;  11. Now test Java with the following command. You should be returned with /usr/bin/java. If so, you have successfully completed this section.&lt;br /&gt;&lt;br /&gt;which java&lt;br /&gt;export JAVA_HOME=/usr/java/jdk1.6.0_15&lt;br /&gt;export PATH=$PATH:$HOME/bin:/bin:/usr/local/bin:/usr/bin:/usr/java/jdk1.6.0_15/bin/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Setting Tomcat&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Download the binary version to your preferred download directory from here: http://tomcat.apache.org/download-55.cgi. Choose the tar.gz from the core section for 5.5.15.&lt;br /&gt;Now change to that directory and extract the files using the following command:&lt;br /&gt;&lt;br /&gt;cd /mydownloads (be sure to change to your download directory)&lt;br /&gt;&lt;br /&gt;tar xvzf apache-tomcat-5.5.15.tar.gz&lt;br /&gt;&lt;br /&gt;You should now have a new directory called apache-tomcat-5.5.15. Now move this directory to the location where it should be installed. Again, I chose /usr/lib/. Note that this location will be referred to as CATALINA_HOME in the Tomcat documentation.&lt;br /&gt;&lt;br /&gt;mv apache-tomcat-5.5.15 /usr/lib&lt;br /&gt;&lt;br /&gt;Next change to the /usr/lib/ directory.&lt;br /&gt;&lt;br /&gt;cd /usr/lib&lt;br /&gt;&lt;br /&gt;Now create a symbolic link called apache-tomcat to CATALINA_HOME by the following command. &lt;br /&gt;&lt;br /&gt;ln -s apache-tomcat-5.5.15 apache-tomcat&lt;br /&gt;&lt;br /&gt;[root@linuxguy bin]# echo $CATALINA_HOME&lt;br /&gt;/usr/lib/apache-tomcat&lt;br /&gt;[root@linuxguy bin]# pwd&lt;br /&gt;/usr/lib/apache-tomcat/bin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@linuxguy bin]# ./startup.sh&lt;br /&gt;The BASEDIR environment variable is not defined correctly&lt;br /&gt;This environment variable is needed to run this program&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to troubleshoot?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@linuxguy bin]# chmod +x *.sh&lt;br /&gt;[root@linuxguy bin]# ./startup.sh&lt;br /&gt;Using CATALINA_BASE:   /usr/lib/apache-tomcat&lt;br /&gt;Using CATALINA_HOME:   /usr/lib/apache-tomcat&lt;br /&gt;Using CATALINA_TMPDIR: /usr/lib/apache-tomcat/temp&lt;br /&gt;Using JRE_HOME:        /usr/java/jdk1.6.0_15&lt;br /&gt;Using CLASSPATH:       /usr/lib/apache-tomcat/bin/bootstrap.jar&lt;br /&gt;[root@linuxguy bin]#&lt;br /&gt;[root@linuxguy bin]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-2191659516388553764?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/2191659516388553764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/tomcat-troubleshoot-tomcat.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2191659516388553764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/2191659516388553764'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/tomcat-troubleshoot-tomcat.html' title='Tomcat: Troubleshoot the Tomcat?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-7452911602267253007</id><published>2009-12-06T03:42:00.000-08:00</published><updated>2009-12-06T03:45:40.212-08:00</updated><title type='text'>JBoss: Stopping JBoss when running multiple JBoss instances using the Service Binding Manager</title><content type='html'>If you launched JBoss from the command line, the easiest way to stop it is to press ctrl-C.  JBoss should begin it's shutdown.  Alternatively, you can invoke the shutdown script in the JBoss bin directory.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[ajeet:/tmp/jboss-3.2.3/bin] % ./shutdown.sh -S&lt;br /&gt;Shutdown message has been posted to the server.&lt;br /&gt;Server shutdown may take a while - check logfiles for completion&lt;br /&gt;&lt;br /&gt;There're several ways to shutdown JBoss as explained below. If you want to know what JBoss logs in each situation please visit ShutdownLogs wiki.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Stopping JBoss on a remote machine&lt;br /&gt;&lt;br /&gt;Note that you will use the lower-case -s flag along with the jnp protocol plus address and port of the Naming service specified in conf/jboss-service.xml&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[ajeet:/tmp/jboss-3.2.3/bin] % ./shutdown.sh -s jnp://myremotemachineOrIP:1099&lt;br /&gt;Shutdown message has been posted to the server.&lt;br /&gt;Server shutdown may take a while - check logfiles for completion&lt;br /&gt;&lt;br /&gt;Stopping JBoss when running multiple JBoss instances using the Service Binding Manager&lt;br /&gt;&lt;br /&gt;service-bindings&lt;br /&gt;&lt;br /&gt;server name="ports-default"&lt;br /&gt;&lt;br /&gt;service-config name="jboss:service=Naming"&lt;br /&gt;         delegateClass="org.jboss.services.binding.AttributeMappingDelegate"&lt;br /&gt;         &lt;br /&gt;delegate-config portName="Port" hostName="BindAddress"&gt;&lt;br /&gt;attribute name="RmiPort"&gt;1098&lt;/attribute&gt;&lt;br /&gt;/delegate-config&gt;&lt;br /&gt;binding port="1099" host="${jboss.bind.address}"&gt;&lt;/binding&gt;&lt;br /&gt;/service-config&gt;&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;server name="ports-01"&gt;&lt;br /&gt;service-config name="jboss:service=Naming"&lt;br /&gt;        delegateClass="org.jboss.services.binding.AttributeMappingDelegate"&lt;br /&gt;         &gt;&lt;br /&gt;delegate-config portName="Port" hostName="BindAddress"&gt;&lt;br /&gt;attribute name="RmiPort"&gt;1198&lt;/attribute&gt;&lt;br /&gt;/delegate-config&gt;&lt;br /&gt;binding port="1199" host="${jboss.bind.address}"&gt;&lt;/binding&gt;&lt;br /&gt;/service-config&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[ajeet:/tmp/jboss-3.2.3/bin] % ./shutdown.sh -s jnp://localhost:1099&lt;br /&gt;Shutdown message has been posted to the server.&lt;br /&gt;Server shutdown may take a while - check logfiles for completion&lt;br /&gt;&lt;br /&gt;[ajeet:/tmp/jboss-3.2.3/bin] % ./shutdown.sh -s jnp://localhost:1199&lt;br /&gt;Shutdown message has been posted to the server.&lt;br /&gt;Server shutdown may take a while - check logfiles for completion&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-7452911602267253007?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/7452911602267253007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/jboss-stopping-jboss-when-running.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7452911602267253007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/7452911602267253007'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/jboss-stopping-jboss-when-running.html' title='JBoss: Stopping JBoss when running multiple JBoss instances using the Service Binding Manager'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-8860631010630939260</id><published>2009-12-06T03:40:00.000-08:00</published><updated>2010-12-24T19:56:26.153-08:00</updated><title type='text'>JBoss: A Boot-up Script for Jboss Start $ Shutdown</title><content type='html'>The Content of this site is moved to &lt;a href="http://linuxscoop.blogspot.com/2010/12/there-is-always-some-point-of-confusion.html"&gt;new location&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-8860631010630939260?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/8860631010630939260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/jboss-boot-up-script-for-jboss-start.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8860631010630939260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8860631010630939260'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/jboss-boot-up-script-for-jboss-start.html' title='JBoss: A Boot-up Script for Jboss Start $ Shutdown'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-1144263576300395077</id><published>2009-12-05T02:57:00.000-08:00</published><updated>2009-12-05T02:58:38.280-08:00</updated><title type='text'>LinuxInterview: How to make script run as service?</title><content type='html'>Making a script run at boot time needs certain consideration and configuration.The Startup script are usually under /etc/init.d directory.&lt;br /&gt;Some Admin think that by just putting the script under /etc/init.d will make it run as service.&lt;br /&gt;No !! The Story is little different.&lt;br /&gt;&lt;br /&gt;Say, I have a script called myscript which I want to run as service either:&lt;br /&gt;&lt;br /&gt;/etc/init.d/myscript [restart|reload|start|stop]&lt;br /&gt;or&lt;br /&gt;service myscript start&lt;br /&gt;&lt;br /&gt;But little more steps are usually needed.&lt;br /&gt;I am talking about Red Hat Distribution but may run comfortably in other *nix too.&lt;br /&gt;&lt;br /&gt;I have a script called myscript which contains:&lt;br /&gt;&lt;br /&gt;#cat myscript&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;service nfs stop&lt;br /&gt;&lt;br /&gt;Being a Linux Admin, I will try to put it under /etc/init.d/ directory.&lt;br /&gt;Try to run it as:&lt;br /&gt;&lt;br /&gt;service myscript start&lt;br /&gt;&lt;br /&gt;And It does run comfortably:&lt;br /&gt;&lt;br /&gt;#service myscript start&lt;br /&gt;Shutting down NFS mountd:                                  [  OK  ]&lt;br /&gt;Shutting down NFS daemon:                                  [  OK  ]&lt;br /&gt;Shutting down NFS services: &lt;br /&gt;&lt;br /&gt;But when I try making this service run at boot time:&lt;br /&gt;&lt;br /&gt;#chkconfig myscript on&lt;br /&gt;service myscript does not support chkconfig&lt;br /&gt;&lt;br /&gt;Hmm...Not working !!!&lt;br /&gt;How to fix it????&lt;br /&gt;So here is the complete solution:&lt;br /&gt;&lt;br /&gt;(Assume the name of my script is myscript)&lt;br /&gt;&lt;br /&gt;1 - Copy your script into /etc/init.d folder&lt;br /&gt;2 - cd /etc/init.d&lt;br /&gt;3 - chmod +x myscript&lt;br /&gt;4 - Add these lines, including #, right after #!/bin/bash or #!/bin/sh:&lt;br /&gt;&lt;br /&gt;# chkconfig: 2345 95 20&lt;br /&gt;# description: Some description&lt;br /&gt;# What your script does (not sure if this is necessary though)&lt;br /&gt;# processname: myscript&lt;br /&gt;&lt;br /&gt;5 - chkconfig –level 2345 myscript on&lt;br /&gt;&lt;br /&gt;Try now !!! &lt;br /&gt;It will work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-1144263576300395077?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/1144263576300395077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/linuxinterview-how-to-make-script-run.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1144263576300395077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/1144263576300395077'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/linuxinterview-how-to-make-script-run.html' title='LinuxInterview: How to make script run as service?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5442412241944717572</id><published>2009-12-05T01:58:00.001-08:00</published><updated>2009-12-05T01:58:33.316-08:00</updated><title type='text'>LinuxInterview: Difference between Hard Link and Soft Link? - Creative Understanding</title><content type='html'>There's an enormous difference, actually. There's really no such thing as a "hard link". If anything, there is an action that you can call "creating a hard link".&lt;br /&gt;&lt;br /&gt;The thing is, a file can have several names. If you create a hard link (by running `ln' without `-s'), you simply create a new name which points to the exact same file as the original name. For example, if you run the following commands:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;cd /tmp&lt;br /&gt;echo test &gt;file1&lt;br /&gt;ln file1 file2&lt;br /&gt;Then you will have two filenames, /tmp/file1 and /tmp/file2, which both point to the same actual file. Notice the important distinction between a file and its name(s): A name knows which file it points to, but a file doesn't know what name(s) it has.&lt;br /&gt;&lt;br /&gt;The reason that I say that there's no such thing as a hard link is because the names file1 and file2 are equivalent. There's no "original" name. You can in no way tell that "file2 is a hard link to file1", or the opposite, or anything evem similar -- they are simply two different names for the same file.&lt;br /&gt;&lt;br /&gt;An interesting implication of this is that the `rm' command doesn't actually remove files. Instead, it only removes filenames (the system call that it uses is called `unlink', not `remove' or `delete'). The actual file is only automatically deleted by the system when it has no more names. Thus, if you delete file1, file2 will still points to the same file, and conversely, if you delete file2, file1 will still be pointing to the same file.&lt;br /&gt;&lt;br /&gt;A symlink, on the other hand, is a file in its own right. It contains the filename of the file that it points to. If file2 were a symlink to file1, and you deleted file1, the file2 symlink would be "broken" (since the filename that it points to no longer exists). In this case, file1 is the name of the actual, original file, and file2 is just a symlink that points to it by name.&lt;br /&gt;&lt;br /&gt;For bonus points: What would be the difference in output from the cat command in the following two sequences of commands, and why?&lt;br /&gt;&lt;br /&gt;Sequence 1:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;cd /tmp&lt;br /&gt;echo 1 &gt;file1&lt;br /&gt;ln file1 file2&lt;br /&gt;rm file1&lt;br /&gt;echo 2 &gt;file1&lt;br /&gt;cat file2&lt;br /&gt;rm file1 file2&lt;br /&gt;Sequence 2:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;cd /tmp&lt;br /&gt;echo 1 &gt;file1&lt;br /&gt;ln -s file1 file2&lt;br /&gt;rm file1&lt;br /&gt;echo 2 &gt;file1&lt;br /&gt;cat file2&lt;br /&gt;rm file1 file2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5442412241944717572?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5442412241944717572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/linuxinterview-difference-between-hard.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5442412241944717572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5442412241944717572'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/12/linuxinterview-difference-between-hard.html' title='LinuxInterview: Difference between Hard Link and Soft Link? - Creative Understanding'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5380597163298436713</id><published>2009-11-29T22:59:00.000-08:00</published><updated>2009-11-29T22:59:53.557-08:00</updated><title type='text'>JAVA: Installing jdk on Linux</title><content type='html'>&lt;b&gt;Follow the steps mentioned below to install java-1.6.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1.Download jdk-6u16-linux-x64.bin (From the URL mentioned in the prerequisites section) to /opt directory.&lt;br /&gt;&lt;br /&gt;2.Change the permission of jdk-6u16-linux-x64.bin file to 755.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@bang opt]# chmod 755 jdk-6u16-linux-x64.bin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.Execute the jdk-6u16-linux-x64.bin file to start installation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@bang opt]# ./jdk-6u16-linux-x64.bin&lt;br /&gt;Sun Microsystems, Inc.  Binary Code License Agreement&lt;br /&gt;&lt;br /&gt;for the JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 6.0&lt;br /&gt;&lt;br /&gt;SUN  MICROSYSTEMS,  INC.  ("SUN") IS WILLING TO LICENSE  THE&lt;br /&gt;SOFTWARE  IDENTIFIED  BELOW TO YOU ONLY  UPON THE  CONDITION&lt;br /&gt;THAT YOU ACCEPT ALL OF THE TERMS  CONTAINED  IN THIS  BINARY&lt;br /&gt;CODE  LICENSE  AGREEMENT  AND  SUPPLEMENTAL   LICENSE  TERMS&lt;br /&gt;(COLLECTIVELY   "AGREEMENT").  PLEASE  READ  THE   AGREEMENT&lt;br /&gt;CAREFULLY.  BY DOWNLOADING OR INSTALLING  THIS SOFTWARE, YOU&lt;br /&gt;ACCEPT THE TERMS OF THE  AGREEMENT.  INDICATE  ACCEPTANCE BY&lt;br /&gt;SELECTING   THE  "ACCEPT"   BUTTON  AT  THE  BOTTOM  OF  THE&lt;br /&gt;AGREEMENT.  IF YOU ARE NOT  WILLING  TO BE BOUND  BY ALL THE&lt;br /&gt;TERMS,  SELECT  THE  "DECLINE"  BUTTON AT THE  BOTTOM OF THE&lt;br /&gt;AGREEMENT  AND THE  DOWNLOAD  OR  INSTALL  PROCESS  WILL NOT&lt;br /&gt;CONTINUE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.  DEFINITIONS.  "Software"  means the identified  above in&lt;br /&gt;binary   form,   any  other   machine   readable   materials&lt;br /&gt;(including,  but not limited to,  libraries,  source  files,&lt;br /&gt;header   files,  and  data  files),  any  updates  or  error&lt;br /&gt;corrections   provided   by  Sun,  and  any  user   manuals,&lt;br /&gt;programming guides and other  documentation  provided to you&lt;br /&gt;by  Sun  under  this  Agreement.  "General  Purpose  Desktop&lt;br /&gt;Computers and Servers" means computers,  including  desktop,&lt;br /&gt;laptop and tablet  computers,  or servers,  used for general&lt;br /&gt;computing  functions under end user control (such as but not&lt;br /&gt;specifically  limited  to email,  general  purpose  Internet&lt;br /&gt;browsing, and office suite productivity  tools).  The use of&lt;br /&gt;Software in systems and  solutions  that  provide  dedicated&lt;br /&gt;functionality  (other than as  mentioned  above) or designed&lt;br /&gt;for   use  in   embedded   or   function-specific   software&lt;br /&gt;applications,  for  example  but not  limited  to:  Software&lt;br /&gt;embedded  in or bundled  with  industrial  control  systems,&lt;br /&gt;wireless  mobile  telephones,   wireless  handheld  devices,&lt;br /&gt;kiosks,  TV/STB,  Blu  -ray  Disc  devices,  telematics  and&lt;br /&gt;network control  switching  equipment,  printers and storage&lt;br /&gt;management  systems, and other related  systems are excluded&lt;br /&gt;from this definition and not licensed under this  Agreement.&lt;br /&gt;"Programs"  means Java technology  applets and  applications&lt;br /&gt;intended to run on the Java Platform  Standard Edition (Java&lt;br /&gt;SE)  ptaform  on  Java-enabled   General   Purpose  Desktop&lt;br /&gt;Computers and Servers.&lt;br /&gt;&lt;br /&gt;4.Press the Tab key until you reach the End of License Agreement Screen&lt;br /&gt;&lt;br /&gt;5.Type yes and hit Enter key&lt;br /&gt;&lt;br /&gt;6.It will installs jdk-1.6.0_16&lt;br /&gt;F.  Source  Code.  Software  may  contain  source code that,&lt;br /&gt;unless  expressly  licensed for other  purposes, is provided&lt;br /&gt;solely for reference  purposes pursuant to the terms of this&lt;br /&gt;Agreement.  Source  code  may  not be  redistributed  unless&lt;br /&gt;expressly provided for in this Agreement.&lt;br /&gt;&lt;br /&gt;G.  Third  Party  Code.  Additional  copyright  notices  and&lt;br /&gt;license terms applicable to portions of the Software are set&lt;br /&gt;forth in the THIRDPARTYLICENSEREADME.txt  file.  In addition&lt;br /&gt;to  any   terms   and   conditions   of  any   third   party&lt;br /&gt;opensource/freeware     license     identified     in    the&lt;br /&gt;THIRDPARTYLICENSEREADME.txt file, the disclaimer of warranty&lt;br /&gt;and limitation of liability provisions in paragraphs 5 and 6&lt;br /&gt;of the Binary  Code  License  Agreement  shall  apply to all&lt;br /&gt;Software in this distribution.&lt;br /&gt;&lt;br /&gt;H.  Termination   for   Infringement.   Either   party   may&lt;br /&gt;terminate  this  Agreement  immediately  should any Software&lt;br /&gt;become,  or in either  party's  opinion be likely to become,&lt;br /&gt;the subject of a claim of infringement  of any  intellectual&lt;br /&gt;property right.&lt;br /&gt;&lt;br /&gt;I.   Installation    and    Auto-Update.   The    Software's&lt;br /&gt;installation  and auto-update  processes  transmit a limited&lt;br /&gt;amount of data to Sun (or its service  provider) about those&lt;br /&gt;specific processes to help Sun understand and optimize them.&lt;br /&gt;Sun does not associate the data with personally identifiable&lt;br /&gt;information.  You can find more  information  about the data&lt;br /&gt;Sun collects at http://java.com/data/.&lt;br /&gt;&lt;br /&gt;For inquiries please contact:  Sun Microsystems,  Inc., 4150&lt;br /&gt;Network  Circle,  Santa  Clara,   California  95054,  U.S.A.&lt;br /&gt;(LFI#143333/Form ID#011801)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Do you agree to the above license terms? [yes or no]&lt;br /&gt;yes&lt;br /&gt;Unpacking...&lt;br /&gt;Checksumming...&lt;br /&gt;0&lt;br /&gt;0&lt;br /&gt;Extracting...&lt;br /&gt;UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).&lt;br /&gt;inflating: jdk-6u16-linux-x64-rpm&lt;br /&gt;Preparing...                #################################### [100%]&lt;br /&gt;   1:jdk                    #################################### [100%]&lt;br /&gt;&lt;br /&gt;Done.&lt;br /&gt;#&lt;br /&gt; &lt;br /&gt;7.Add below lines in /etc/profile file to define JAVA_HOME and its PATH&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;export JAVA_HOME=/usr/java/jdk-1.6.0_16&lt;br /&gt;export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8. Verify the java installation by running the following command in the new window.`&lt;br /&gt;&lt;br /&gt;[root@bang opt]# java -version&lt;br /&gt;java version "1.6.0_16"&lt;br /&gt;Java(TM) SE Runtime Environment (build 1.6.0_16-b01)&lt;br /&gt;Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)&lt;br /&gt;[root@bangvbapp opt]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5380597163298436713?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5380597163298436713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/java-installing-jdk-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5380597163298436713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5380597163298436713'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/java-installing-jdk-on-linux.html' title='JAVA: Installing jdk on Linux'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5836433820151774429</id><published>2009-11-29T20:17:00.000-08:00</published><updated>2009-11-29T20:20:18.868-08:00</updated><title type='text'>RHCE : How to create a new Linux Partition?</title><content type='html'>Imagine that we have a server running RHEL 4 and our supervisor comes over and wants a 10 GB partition created for the data processing department. This is in addition to what the server currently has allocated, so we can either create a partition out of unpartitioned space on the existing disk (experienced Linux system administrators will leave unpartitioned disk space for future expansion) if available, or we can add another drive. This scenario actually happens quite frequently in the production world, so this is a valuable skill to have even if you administer nothing more than your home machines.&lt;br /&gt;&lt;br /&gt;We'll assume that your supervisor has given you the latitude of deciding which of the above options you'll use, so your first task is to check to see if space is available on your existing media. We'll run "fdisk -l" to see the size of the disk; the data we need is on the first line of output. &lt;br /&gt;&lt;br /&gt;[root@station17 ~]# fdisk -l&lt;br /&gt;&lt;br /&gt;Disk /dev/sda: 80.0 GB, 80000000000 bytes&lt;br /&gt;255 heads, 63 sectors/track, 9726 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;&lt;br /&gt;Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/sda1   *           1          38      305203+  83  Linux&lt;br /&gt;/dev/sda2              39        7687    61440592+  83  Linux&lt;br /&gt;/dev/sda3            7688        7942     2048287+  82  Linux swap&lt;br /&gt;&lt;br /&gt;From this we can see the size of our drive is 80.0 GB. Now, we'll use "df -h" to calculate the size of the partitions that are on our system. We only need to be concerned with the rows that have a device label, the others (labeled with "none") don't concern us. The column labeled "Size" has the numbers we'll need to add up to get a overall size.&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda2              58G  6.5G   49G  12%   /&lt;br /&gt;/dev/sda1             289M   17M  258M   6%   /boot&lt;br /&gt;none                 1013M     0 1013M   0%   /dev/shm&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# &lt;br /&gt;&lt;br /&gt;From this, we can see that /dev/sda2 is 58G and /dev/sda1 is 289M - a total of 58.3GB. Now we need to add in our swap size; "cat /proc/swaps" will tell us what size our swap partition is.&lt;br /&gt;&lt;br /&gt;[ If you feel like using an actual system utility for this, "swapon -s" will do the same thing. -- Ben ]&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# cat /proc/swaps &lt;br /&gt;Filename                              Type            Size    Used    Priority&lt;br /&gt;/dev/sda3                             partition       2048276    0       -1&lt;br /&gt;[root@station17 ~]# &lt;br /&gt;&lt;br /&gt;Adding in the 2GB from this means that we have 19.7 GB to work with - well over what we need. Now, let's move on to creating our partition: "fdisk /dev/sda" will open our drive's partition table for modification. Since we're already using 3 partitions on the drive, we'll have to make our 4th one an extended one - a container to house any additional partitions, including the one we are creating now. We'll want to accept the defaults on this extended partition, which will make the whole rest of the drive available for our new partitions. We'll be using an ext3 filesystem, so we also need to keep this in mind: the "mkfs" command reserves 5% of the blocks for root. Given all that, we'll make our new partition 11.5GB to compensate for the blocks reserved for root plus a little extra.&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# fdisk /dev/sda&lt;br /&gt;&lt;br /&gt;The number of cylinders for this disk is set to 9726.&lt;br /&gt;There is nothing wrong with that, but this is larger than 1024,&lt;br /&gt;and could in certain setups cause problems with:&lt;br /&gt;1) software that runs at boot time (e.g., old versions of LILO)&lt;br /&gt;2) booting and partitioning software from other OSs&lt;br /&gt;(e.g., DOS FDISK, OS/2 FDISK)&lt;br /&gt;&lt;br /&gt;Command (m for help): n&lt;br /&gt;Command action&lt;br /&gt;e   extended&lt;br /&gt;p   primary partition (1-4)&lt;br /&gt;e&lt;br /&gt;Selected partition 4&lt;br /&gt;First cylinder (7943-9726, default 7943): &lt;br /&gt;Using default value 7943&lt;br /&gt;Last cylinder or +size or +sizeM or +sizeK (7943-9726, default 9726): &lt;br /&gt;Using default value 9726&lt;br /&gt;&lt;br /&gt;Here you can see where I selected "n" for a new partition and "e" to make a extended partition. I then accepted the defaults for both the starting cylinder and again for the ending cylinder.&lt;br /&gt;&lt;br /&gt;Command (m for help): n&lt;br /&gt;First cylinder (7943-9726, default 7943): &lt;br /&gt;Using default value 7943&lt;br /&gt;Last cylinder or +size or +sizeM or +sizeK (7943-9726, default 9726):.+11500M&lt;br /&gt;&lt;br /&gt;Next, I hit "n" to create a new partition; then, when prompted to use a starting cylinder, I hit 'enter' to accept the default. For the ending cylinder I entered "+11500M" to specify the size. The plus is important - without it, you will get an error. Its a good idea to hit "p" to at this point to get "fdisk" to print the partition table. This will show what we have done before saving our changes.&lt;br /&gt;&lt;br /&gt;Command (m for help):.p&lt;br /&gt;&lt;br /&gt;Disk /dev/sda: 80.0 GB, 80000000000 bytes&lt;br /&gt;255 heads, 63 sectors/track, 9726 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;&lt;br /&gt;Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/sda1   *           1          38      305203+  83  Linux&lt;br /&gt;/dev/sda2              39        7687    61440592+  83  Linux&lt;br /&gt;/dev/sda3            7688        7942     2048287+  82  Linux swap&lt;br /&gt;/dev/sda4            7943        9726    14329980    5  Extended&lt;br /&gt;/dev/sda5            7943        9341    11237436   83  Linux&lt;br /&gt;&lt;br /&gt;If there are any mistakes just quit "fdisk" with a "q" and no changes will be saved. This looks right - so lets write our changes with a "w".&lt;br /&gt;&lt;br /&gt;Command (m for help): w&lt;br /&gt;The partition table has been altered!&lt;br /&gt;&lt;br /&gt;Calling ioctl() to re-read partition table.&lt;br /&gt;&lt;br /&gt;WARNING: Re-reading the partition table failed with error 16: Device or resource busy.&lt;br /&gt;The kernel still uses the old table.&lt;br /&gt;The new table will be used at the next reboot.&lt;br /&gt;Syncing disks.&lt;br /&gt;[root@station17 ~]# &lt;br /&gt;&lt;br /&gt;This warning can be remedied by using the 'partprobe' command to force the kernel to reread the partition table. Remember - if this were a production machine, we wouldn't want to have to reboot it.&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# partprobe&lt;br /&gt;&lt;br /&gt;At this point our 11.5G partition is /dev/sda5 and raw - it has neither a file system nor a label descriptor - so let's format it and give it a label. Giving the partition a label can be done at the same time that the file system is being created with the -L option, but I prefer to do it in a separate step.&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# mkfs.ext3 /dev/sda5&lt;br /&gt;mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;Filesystem label=&lt;br /&gt;OS type: Linux&lt;br /&gt;Block size=4096 (log=2)&lt;br /&gt;Fragment size=4096 (log=2)&lt;br /&gt;1406272 inodes, 2809359 blocks&lt;br /&gt;140467 blocks (5.00%) reserved for the super user&lt;br /&gt;First data block=0&lt;br /&gt;Maximum filesystem blocks=2877292544&lt;br /&gt;86 block groups&lt;br /&gt;32768 blocks per group, 32768 fragments per group&lt;br /&gt;16352 inodes per group&lt;br /&gt;Superblock backups stored on blocks: &lt;br /&gt;32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208&lt;br /&gt;&lt;br /&gt;Writing inode tables: done                            &lt;br /&gt;Creating journal (8192 blocks): done&lt;br /&gt;Writing superblocks and filesystem accounting information: done&lt;br /&gt;&lt;br /&gt;This filesystem will be automatically checked every 34 mounts or&lt;br /&gt;180 days, whichever comes first.  Use tune2fs -c or -i to override.&lt;br /&gt;[root@station17 ~]# &lt;br /&gt;&lt;br /&gt;Now we'll give it label ("/data"):&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# e2label /dev/sda5 /data&lt;br /&gt;[root@station17 ~]# &lt;br /&gt;&lt;br /&gt;Next, we need to create a mount point in our filesystem and make sure that it's mounted at boot time. Let's create a directory on our system called /data.&lt;br /&gt;&lt;br /&gt;[ The usual method of allocating new space is often much more complex than that - at least in the planning stages. In fact, creating a non-standard directory name in the root of the filesystem as suggested here is incorrect and violates the Filesystem Hierarchy Standard (FHS). As an example of a more typical situation, if an administrator finds that a shared machine's drive is running out of room, he may first examine the machine to see where the most activity/space consumption is occuring. Assuming that it's in the space assigned to users (i.e., "/home"), he would most likely back up the data in that subdirectory, restore it to the newly-created partition, delete "/home", and mount the new partition as "/home". This would recover all the space used by the original "/home" and leave it available for the rest of the system to use - and most users would not even realize that any change had been made. This approach doesn't require rebooting the machine either. -- Ben ]&lt;br /&gt;&lt;br /&gt;[ I do understand that the partitioning is inconsistent with the FHS, but our RedHat course materials do instruct us to create directories in / for simplicity and ease in the aid backups. We are also led by instruction to do things such as specialized partitioning schemes for different things this way here at the RedHat academy. -- Joey ]&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# mkdir /data&lt;br /&gt;[root@station17 ~]# &lt;br /&gt;&lt;br /&gt;Now we put it in the file system table, '/etc/fstab', so it gets mounted on every boot.&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# vi /etc/fstab&lt;br /&gt;&lt;br /&gt;# This file is edited by fstab-sync - see 'man fstab-sync' for details&lt;br /&gt;LABEL=/                /                       ext3    defaults        1 1&lt;br /&gt;LABEL=/data            /data                   ext3    defaults        1 1&lt;br /&gt;LABEL=/boot            /boot                   ext3    defaults        1 2&lt;br /&gt;none                   /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;none                   /dev/shm                tmpfs   defaults        0 0&lt;br /&gt;none                   /proc                   proc    defaults        0 0&lt;br /&gt;none                   /sys                    sysfs   defaults        0 0&lt;br /&gt;LABEL=SWAP-sda3         swap                   swap    defaults        0 0&lt;br /&gt;/dev/scd0   /media/cdrecorder   auto    pamconsole,exec,noauto,managed 0 0&lt;br /&gt;&lt;br /&gt;I used the root partition as a guide in this sample. The label is in the first column, the mount point is in the second, then we have the file system type and the mount options. The last two numbers are the dump indicator and the fsck indicator; they determine when the system gets backed up if you're using 'dump', and when the system gets checked for errors. Basically, you can copy these numbers and options just as I have. Write your changes and exit the editor. Then, to make sure that there were no errors, run "mount -a" to mount all the partitions listed in /etc/fstab. Any errors would be reported at this point.&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# mount -a&lt;br /&gt;&lt;br /&gt;Since we didn't get any errors, let's do a "df -h" and see how everything looks.&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/sda2              58G  6.6G   49G  12% /&lt;br /&gt;/dev/sda1             289M   17M  258M   6% /boot&lt;br /&gt;none                 1013M     0 1013M   0% /dev/shm&lt;br /&gt;/dev/sda5              11G   59M   10G   1% /data&lt;br /&gt;&lt;br /&gt;[root@station17 ~]# &lt;br /&gt;&lt;br /&gt;That's it - we are now ready to start using this new partition, keeping in mind we may have to modify permissions as needed for our users and groups. This is a very common task, one that all Linux users should become familiar with because you will almost certainly be faced with needing more room. This process is very similar to adding another disk - you would simply substitute your device labels as required.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5836433820151774429?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5836433820151774429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/partition-how-to-create-new-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5836433820151774429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5836433820151774429'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/partition-how-to-create-new-linux.html' title='RHCE : How to create a new Linux Partition?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-8604119396602838659</id><published>2009-11-21T01:31:00.001-08:00</published><updated>2009-11-22T04:45:40.158-08:00</updated><title type='text'>Fedora DS : Setting up Fedora DS for Linux, HP and Solaris</title><content type='html'>         &lt;br /&gt;&lt;b&gt;THE FEDORA DIRECTORY SERVER&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;                                     &lt;br /&gt;&lt;b&gt;Implementation and Configurations&lt;/b&gt; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.	&lt;b&gt;Pre-requisite Software(s)&lt;br /&gt;2.	Configuring the NIS Server&lt;br /&gt;3.	Adding New NIS Users&lt;br /&gt;4.	Configuring the NIS Client&lt;br /&gt;5.	Installing the Fedora Directory Server&lt;br /&gt;6.	Migrating the NIS Database into LDIF file format&lt;br /&gt;7.	Importing the LDIF files into the Fedora Directory Structure&lt;br /&gt;8.	Authenticating the Fedora DS Client with the Server&lt;br /&gt;9.	 Single Master Replication within the two Fedora DS Machine&lt;br /&gt;10.	 Users, Groups Creation and Restriction on Domains&lt;br /&gt;11.	 Password Ageing and Account Lockout Policy &lt;br /&gt;12.	 Fedora DS Client Setup on RHEL 4.0 &lt;br /&gt;13.	 Fedora DS SSL Configuration&lt;br /&gt;14.	 Configuring Fedora DS Client on RHEL 4.0&lt;br /&gt;14.     Configuring Fedora DS Client on Solaris 8/9/10&lt;br /&gt;15.     Configuring Fedora DS Client on HP-UNIX&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Pre-requisite Software(s) &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This section contains information on operating system versions and further software needed for the complete installation and configurations.&lt;br /&gt;&lt;br /&gt;These operations has been performed on Red Hat Enterprise Linux 2.6.9-55.ELxenU VMWare machine and should work on Fedora/CentOS and other Linux Distribution too.&lt;br /&gt;&lt;br /&gt;If  Fedora DS is being installed  for production purpose, then the following pre-requisite settings has to be performed :&lt;br /&gt;&lt;br /&gt;1.	&lt;b&gt;Verifying Disk Space Requirements&lt;br /&gt;2.	Verifying Required System Modules&lt;br /&gt;3.	Verifying the System Patches&lt;br /&gt;4.	Tuning the System&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Verifying Disk Space Requirement&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ensure that you have sufficient disk space before downloading the software: &lt;br /&gt;&lt;br /&gt;•	Download drive: 120 MB&lt;br /&gt;•	Installation drive: 2 GB&lt;br /&gt;&lt;br /&gt;2. Verifying Required System Modules&lt;br /&gt;&lt;br /&gt;Directory Server is certified to work on: &lt;br /&gt;&lt;br /&gt;•	The Intel Pentium series processors [i686].&lt;br /&gt;•	The default kernel/glibc revisions that comes along with Red Hat Enterprise Linux and the other kernel revisions with their corresponding glibc revisions as mentioned below. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Red Hat Enterprise Linux 4:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;o	Default kernel: kernel-2.6.9-5_EL&lt;br /&gt;o	Kernel used for certification: kernel-2.6.9-5.0.5.EL&lt;br /&gt;o	Default glibc: glibc-2.3-4.2&lt;br /&gt;o	glibc used for certification: glibc-2.3.2-95.30&lt;br /&gt;o	Required Filesytem: ext3 (LARGEFILES support enabled) filesystem has been used for the certification process.&lt;br /&gt;&lt;br /&gt;•	With certain installed RPM packages on Red Hat Enterprise Linux, the server does not start.&lt;br /&gt;&lt;br /&gt;3&lt;b&gt;. Installing System Patches&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Directory Server has been certified on Red Hat Enterprise Linux with the following kernel and glibc versions: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;•	Red Hat Enterprise Linux 4: default kernel kernel-2.6.9-5_EL (with certification on kernel-2.6.9-5.0.5.EL) and glibc version glibc-2.3-4.2 (with certification on glibc-2.3.2-95.30). &lt;br /&gt;&lt;br /&gt;It is recommended that you use these kernel and glibc versions. If the machine is a single CPU machine, the corresponding kernel would be of the form kernel-x.x.x.x. If the machine is a multi-CPU machine, the corresponding kernel would be of the form kernel-smp-x.x.x.x. &lt;br /&gt;&lt;br /&gt;4. &lt;b&gt;Tuning the System&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This section contains some basic system tuning information. Changing any of the following kernel-tuning parameters requires a system reboot.&lt;br /&gt; &lt;br /&gt;•	NFS Tuning: This tuning is recommended if you are using Directory Server to write to NFS mounted drives. On Linux, NFS is typically recommended to be done over TCP and not over UDP. Make the following change to the /etc/rc.d/init.d/autofs file: &lt;br /&gt;&lt;br /&gt;+ localoptions='rsize=8192,wsize=8192,vers=3,tcp'&lt;br /&gt;&lt;br /&gt;•	TCP Tuning: You can increase the number of available local system ports available by running this command: &lt;br /&gt;&lt;br /&gt;echo "1024 65000" &gt; /proc/sys/net/ipv4/ip_local_port_range&lt;br /&gt;&lt;br /&gt;•	Make this change permanent by adding this line to the /etc/sysctl.conf file: &lt;br /&gt;&lt;br /&gt;net.ipv4.ip_local_port_range = 1024 65000&lt;br /&gt;&lt;br /&gt;•	File Tuning: Check the current maximum number of files that can be stored on your system: &lt;br /&gt;&lt;br /&gt;cat /proc/sys/fs/file-max&lt;br /&gt;&lt;br /&gt;•	If this number is less than 64000, increase it with this command: &lt;br /&gt;echo 64000 &gt; /proc/sys/fs/file-max&lt;br /&gt;&lt;br /&gt;•	Make the change permanent by adding this line to the /etc/sysctl.conf file: &lt;br /&gt;&lt;br /&gt;fs.file-max = 64000&lt;br /&gt;&lt;br /&gt;•	Then, you need to increase the maximum number of open files. Add the following line to the /etc/security/limits.conf file: &lt;br /&gt;&lt;br /&gt;*        -        nofile        8192&lt;br /&gt;&lt;br /&gt;•	Lastly, edit the file /etc/pam.d/system-auth to include this line if it does not already exist: &lt;br /&gt;session required /lib/security/$ISA/pam_limits.so&lt;br /&gt;You must log out and then log back in for changes in the limits.conf file to take effect. &lt;br /&gt;&lt;br /&gt;[Note: If you are using older Red hat versions, JRE is required in order to use the Console]&lt;br /&gt;&lt;br /&gt;1.	 Configuring the NIS Server&lt;br /&gt;&lt;br /&gt;Network Information Services (NIS) enables you to create user accounts that can be shared across all systems on your network. The user account is created only on the NIS server. NIS clients download the necessary username and password data from the NIS server to verify each user login. &lt;br /&gt;Before configuring the NIS we need to configure few NFS Server settings.The steps followed for this configurations are as follows:&lt;br /&gt;Configuring The NFS Server&lt;br /&gt;Here are the steps to configure the NFS server in this scenario: &lt;br /&gt;&lt;br /&gt;1. Edit the /etc/exports file to allow NFS mounts of the /home directory with read/write access. &lt;br /&gt;&lt;br /&gt;/home                   *(rw,sync)&lt;br /&gt;&lt;br /&gt;2. Let NFS read the /etc/exports file for the new entry, and make /home available to the network with the exportfs command. &lt;br /&gt;&lt;br /&gt;[root@test01 tmp]# exportfs -a&lt;br /&gt;[root@test01 tmp]#&lt;br /&gt;&lt;br /&gt;3. Make sure the required nfs, nfslock, and portmap daemons are both running and configured to start after the next reboot. &lt;br /&gt;&lt;br /&gt;[root@test01 tmp]# chkconfig nfslock on&lt;br /&gt;[root@test01 tmp]# chkconfig nfs on&lt;br /&gt;[root@test01 tmp]# chkconfig portmap on&lt;br /&gt;[root@test01 tmp]# service portmap start&lt;br /&gt;&lt;br /&gt;Starting portmapper: [  OK  ]&lt;br /&gt;&lt;br /&gt;[root@test01 tmp]# service nfslock start&lt;br /&gt;Starting NFS statd: [  OK  ]&lt;br /&gt;&lt;br /&gt;[root@test01 tmp]# service nfs start&lt;br /&gt;Starting NFS services:  [  OK  ]&lt;br /&gt;Starting NFS quotas: [  OK  ]&lt;br /&gt;Starting NFS daemon: [  OK  ]&lt;br /&gt;Starting NFS mountd: [  OK  ]&lt;br /&gt;[root@test01 tmp]#&lt;br /&gt;&lt;br /&gt;After configuring the NFS server, we have to configure its clients, This will be covered next. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuring The NFS Client&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You also need to configure the NFS clients to mount their /home directories on the NFS server. &lt;br /&gt;&lt;br /&gt;These steps archive the /home directory. In a production environment in which the /home directory would be actively used, you'd have to force the users to log off, backup the data, restore it to the NFS server, and then follow the steps below. As this is a lab environment, these prerequisites aren't necessary. &lt;br /&gt;&lt;br /&gt;1. Make sure the required netfs, nfslock, and portmap daemons are running and configured to start after the next reboot. &lt;br /&gt;&lt;br /&gt;[root@client tmp]# chkconfig nfslock on&lt;br /&gt;[root@client tmp]# chkconfig netfs on&lt;br /&gt;[root@client tmp]# chkconfig portmap on&lt;br /&gt;[root@client tmp]# service portmap start&lt;br /&gt;&lt;br /&gt;Starting portmapper: [  OK  ]&lt;br /&gt;[root@client tmp]# service netfs start&lt;br /&gt;&lt;br /&gt;Mounting other filesystems:  [  OK  ]&lt;br /&gt;&lt;br /&gt;[root@client tmp]# service nfslock start&lt;br /&gt;Starting NFS statd: [  OK  ]&lt;br /&gt;[root@client tmp]#&lt;br /&gt;&lt;br /&gt;2. Keep a copy of the old /home directory, and create a new directory /home on which you'll mount the NFS server's directory. &lt;br /&gt;&lt;br /&gt;[root@client tmp]# mv /home /home.save&lt;br /&gt;[root@client tmp]# mkdir /home&lt;br /&gt;[root@client tmp]# ll /&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;drwxr-xr-x    1 root   root     11 Nov 16 20:22 home&lt;br /&gt;drwxr-xr-x    2 root   root   4096 Jan 24  2003 home.save&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;[root@client tmp]#&lt;br /&gt;&lt;br /&gt;3. Make sure you can mount test01's /home directory on the new /home directory you just created. Unmount it once everything looks correct. &lt;br /&gt;&lt;br /&gt;[root@client tmp]# mount 192.168.1.100:/home /home/&lt;br /&gt;[root@client tmp]# ls /home&lt;br /&gt;ftpinstall  nisuser  quotauser  client  www&lt;br /&gt;[root@client tmp]# umount /home&lt;br /&gt;[root@client tmp]#&lt;br /&gt;&lt;br /&gt;4. Start configuring autofs automounting. Edit your /etc/auto.master file to refer to file /etc/auto.home for mounting information whenever the /home directory is accessed. After five minutes, autofs unmounts the directory. &lt;br /&gt;&lt;br /&gt;#/etc/auto.master&lt;br /&gt;/home      /etc/auto.home --timeout 600&lt;br /&gt;&lt;br /&gt;5. Edit file /etc/auto.home to do the NFS mount whenever the /home directory is accessed. If the line is too long to view on your screen, you can add a \ character at the end to continue on the next line. &lt;br /&gt;&lt;br /&gt;#/etc/auto.home&lt;br /&gt;&lt;br /&gt;*   -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp \&lt;br /&gt;   192.168.1.100:/home:&amp;&lt;br /&gt;&lt;br /&gt;6. Start autofs and make sure it starts after the next reboot with the chkconfig command. &lt;br /&gt;&lt;br /&gt;[root@client tmp]# chkconfig autofs on&lt;br /&gt;[root@client tmp]# service autofs restart&lt;br /&gt;Stopping automount:[  OK  ]&lt;br /&gt;Starting automount:[  OK  ]&lt;br /&gt;[root@client tmp]#&lt;br /&gt;&lt;br /&gt;After doing this, you won't be able to see the contents of the /home directory on test01 as user root. This is because by default NFS activates the root squash feature, which disables this user from having privileged access to directories on remote NFS servers. You'll be able to test this later after NIS is configured. &lt;br /&gt;All newly added Linux users will now be assigned a home directory under the new remote /home directory. This scheme will make the users feel their home directories are local, when in reality they are automatically mounted and accessed over your network. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuring the NIS Server&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;NFS only covers file sharing over the network. You now have to configure NIS login authentication for the lab students before the job is done. The configuration of the NIS server is not difficult, but requires many steps that you may overlook. Don't worry, we'll review each one in detail. &lt;br /&gt;Install the NIS Server Packages&lt;br /&gt;All the packages required for NIS clients are a standard part of most Fedora installations. The ypserv package for servers is needed to be installed through the http://www.fedora.org website.&lt;br /&gt;Edit Your /etc/sysconfig/network File&lt;br /&gt;You need to add the NIS domain you wish to use in the /etc/sysconfig/network file. For the school, call the domain NIS-LOGICA-NETWORK. &lt;br /&gt;#/etc/sysconfig/network&lt;br /&gt;NISDOMAIN="NIS-LOGICA-NETWORK"&lt;br /&gt;Edit Your /etc/yp.conf File&lt;br /&gt;NIS servers also have to be NIS clients themselves, so you'll have to edit the NIS client configuration file /etc/yp.conf to list the domain's NIS server as being the server itself or localhost. &lt;br /&gt;# /etc/yp.conf - ypbind configuration file&lt;br /&gt;ypserver 127.0.0.1&lt;br /&gt;Start The Key NIS Server Related Daemons&lt;br /&gt;Start the necessary NIS daemons in the /etc/init.d directory and use the chkconfig command to ensure they start after the next reboot. &lt;br /&gt;[root@test01 tmp]# service portmap start&lt;br /&gt;Starting portmapper: [  OK  ]&lt;br /&gt;[root@test01 tmp]# service yppasswdd start&lt;br /&gt;Starting YP passwd service: [  OK  ]&lt;br /&gt;[root@test01 tmp]# service ypserv start&lt;br /&gt;Setting NIS domain name NIS-SCHOOL-NETWORK:  [  OK  ]&lt;br /&gt;Starting YP server services: [  OK  ]&lt;br /&gt;[root@test01 tmp]# &lt;br /&gt;&lt;br /&gt;[root@test01 tmp]# chkconfig portmap on&lt;br /&gt;[root@test01 tmp]# chkconfig yppasswdd on&lt;br /&gt;[root@test01 tmp]# chkconfig ypserv on&lt;br /&gt;Table 30.1 lists a summary of the daemon's functions. &lt;br /&gt;Required NIS Server Daemons&lt;br /&gt;Daemon Name 	Purpose &lt;br /&gt;portmap 	The foundation RPC daemon upon which NIS runs. &lt;br /&gt;yppasswdd 	Lets users change their passwords on the NIS server from NIS clients &lt;br /&gt;ypserv 	Main NIS server daemon &lt;br /&gt;ypbind 	Main NIS client daemon &lt;br /&gt;ypxfrd 	Used to speed up the transfer of very large NIS maps &lt;br /&gt;Make sure they are all running before continuing to the next step. You can use the rpcinfo command to do this. &lt;br /&gt;[root@test01 tmp]# rpcinfo -p localhost&lt;br /&gt;   program vers proto   port&lt;br /&gt;    100000    2   tcp    111  portmapper&lt;br /&gt;    100000    2   udp    111  portmapper&lt;br /&gt;    100009    1   udp    681  yppasswdd&lt;br /&gt;    100004    2   udp    698  ypserv&lt;br /&gt;    100004    1   udp    698  ypserv&lt;br /&gt;    100004    2   tcp    701  ypserv&lt;br /&gt;    100004    1   tcp    701  ypserv&lt;br /&gt;[root@test01 tmp]#&lt;br /&gt;The ypbind and ypxfrd daemons won't start properly until after you initialize the NIS domain. You'll start these daemons after initialization is completed. &lt;br /&gt;Initialize Your NIS Domain&lt;br /&gt;Now that you have decided on the name of the NIS domain, you'll have to use the ypinit command to create the associated authentication files for the domain. You will be prompted for the name of the NIS server, which in this case is test01. &lt;br /&gt;With this procedure, all nonprivileged accounts are automatically accessible via NIS. &lt;br /&gt;[root@test01 tmp]# /usr/lib/yp/ypinit -m&lt;br /&gt;At this point, we have to construct a list of the hosts which will run NIS &lt;br /&gt;servers.  test01 is in the list of NIS server hosts.  Please continue to add&lt;br /&gt;the names for the other hosts, one per line.  When you are done with the&lt;br /&gt;list, type a &lt;control D&gt;.&lt;br /&gt;        next host to add:  test01.logicacmg.com&lt;br /&gt;        next host to add:&lt;br /&gt;The current list of NIS servers looks like this:&lt;br /&gt; &lt;br /&gt;test01&lt;br /&gt; &lt;br /&gt;Is this correct?  [y/n: y]  y&lt;br /&gt;We need a few minutes to build the databases...&lt;br /&gt;Building /var/yp/NIS-LOGICA-NETWORK/ypservers...&lt;br /&gt;Running /var/yp/Makefile...&lt;br /&gt;gmake[1]: Entering directory `/var/yp/NIS-LOGICA-NETWORK'&lt;br /&gt;Updating passwd.byname...&lt;br /&gt;Updating passwd.byuid...&lt;br /&gt;Updating group.byname...&lt;br /&gt;Updating group.bygid...&lt;br /&gt;Updating hosts.byname...&lt;br /&gt;Updating hosts.byaddr...&lt;br /&gt;Updating rpc.byname...&lt;br /&gt;Updating rpc.bynumber...&lt;br /&gt;Updating services.byname...&lt;br /&gt;Updating services.byservicename...&lt;br /&gt;Updating netid.byname...&lt;br /&gt;Updating protocols.bynumber...&lt;br /&gt;Updating protocols.byname...&lt;br /&gt;Updating mail.aliases...&lt;br /&gt;gmake[1]: Leaving directory `/var/yp/NIS-LOGICA-NETWORK'&lt;br /&gt; &lt;br /&gt;test01 has been set up as a NIS master server.&lt;br /&gt; &lt;br /&gt;Now you can run ypinit -s test01 on all slave server.&lt;br /&gt;[root@test01 tmp]#&lt;br /&gt;Note: Make sure portmap is running before trying this step or you'll get errors, such as: &lt;br /&gt;failed to send 'clear' to local ypserv: RPC: Port mapper failureUpdating group.bygid...&lt;br /&gt;You will have to delete the /var/yp/NIS-LOGICA-NETWORK directory and restart portmap, yppasswd, and ypserv before you'll be able to do this again successfully. &lt;br /&gt;Start The ypbind and ypxfrd Daemons&lt;br /&gt;You can now start the ypbind and the ypxfrd daemons because the NIS domain files have been created. &lt;br /&gt;[root@test01 tmp]# service ypbind start&lt;br /&gt;Binding to the NIS domain: [  OK  ]&lt;br /&gt;Listening for an NIS domain server.&lt;br /&gt;[root@test01 tmp]# service ypxfrd start&lt;br /&gt;Starting YP map server: [  OK  ]&lt;br /&gt;[root@test01 tmp]# chkconfig ypbind on&lt;br /&gt;[root@test01 tmp]# chkconfig ypxfrd on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make Sure The Daemons Are Running&lt;br /&gt;All the NIS daemons use RPC port mapping and, therefore, are listed using the rpcinfo command when they are running correctly. &lt;br /&gt;[root@test01 tmp]# rpcinfo -p localhost&lt;br /&gt;    program vers proto   port&lt;br /&gt;     100000    2   tcp    111  portmapper&lt;br /&gt;     100000    2   udp    111  portmapper&lt;br /&gt;     100003    2   udp   2049  nfs&lt;br /&gt;     100003    3   udp   2049  nfs&lt;br /&gt;     100021    1   udp   1024  nlockmgr&lt;br /&gt;     100021    3   udp   1024  nlockmgr&lt;br /&gt;     100021    4   udp   1024  nlockmgr&lt;br /&gt;     100004    2   udp    784  ypserv&lt;br /&gt;     100004    1   udp    784  ypserv&lt;br /&gt;     100004    2   tcp    787  ypserv&lt;br /&gt;     100004    1   tcp    787  ypserv&lt;br /&gt;     100009    1   udp    798  yppasswdd&lt;br /&gt;  600100069    1   udp    850  fypxfrd&lt;br /&gt;  600100069    1   tcp    852  fypxfrd&lt;br /&gt;     100007    2   udp    924  ypbind&lt;br /&gt;     100007    1   udp    924  ypbind&lt;br /&gt;     100007    2   tcp    927  ypbind&lt;br /&gt;     100007    1   tcp    927  ypbind&lt;br /&gt;[root@test01 tmp]#&lt;br /&gt;2. Adding New NIS Users&lt;br /&gt;New NIS users can be created by logging into the NIS server and creating the new user account. In this case, you'll create a user account called nisuser and give it a new password. &lt;br /&gt;Once this is complete, you then have to update the NIS domain's authentication files by executing the make command in the /var/yp directory. &lt;br /&gt;This procedure makes all NIS-enabled, nonprivileged accounts become automatically accessible via NIS, not just newly created ones. It also exports all the user's characteristics stored in the /etc/passwd and /etc/group files, such as the login shell, the user's group, and home directory. &lt;br /&gt;[root@test01 tmp]# useradd -g users nisuser&lt;br /&gt;[root@test01 tmp]# passwd nisuser&lt;br /&gt;Changing password for user nisuser.&lt;br /&gt;New password:&lt;br /&gt;Retype new password:&lt;br /&gt;passwd: all authentication tokens updated successfully.&lt;br /&gt;[root@test01 tmp]# cd /var/yp&lt;br /&gt;[root@test01 yp]# make&lt;br /&gt;gmake[1]: Entering directory `/var/yp/NIS-LOGICA-NETWORK'&lt;br /&gt;Updating passwd.byname...&lt;br /&gt;Updating passwd.byuid...&lt;br /&gt;Updating netid.byname...&lt;br /&gt;gmake[1]: Leaving directory `/var/yp/NIS-LOGICA-NETWORK'&lt;br /&gt;[root@test01 yp]#&lt;br /&gt;You can check to see if the user's authentication information has been updated by using the ypmatch command, which should return the user's encrypted password string. &lt;br /&gt;[root@test01 yp]# ypmatch nisuser passwd&lt;br /&gt;nisuser:$1$d6E2i79Q$wp3Eo0Qw9nFD/::504:100::/home/nisuser:/bin/bash&lt;br /&gt;[root@test01 yp]&lt;br /&gt;You can also use the getent command, which has similar syntax. Unlike ypmatch, getent doesn't provide an encrypted password when run on an NIS server, it just provides the user's entry in the /etc/passwd file. On a NIS client, the results are identical with both showing the encrypted password. &lt;br /&gt;[root@test01 yp]# getent passwd nisuser&lt;br /&gt;nisuser:x:504:100::/home/nisuser:/bin/bash&lt;br /&gt;[root@test01 yp]#&lt;br /&gt;&lt;br /&gt;ADDING 10 NIS USERS&lt;br /&gt;For Example, the following termianl shows the 10 NIS Users being added :&lt;br /&gt;[root@test01 ~]# ypcat passwd&lt;br /&gt;jupiter:$1$iNSHQcdZ$PdeDu2f.JEsf4eDyb2.bp/:508:100::/home/jupiter:/bin/bash&lt;br /&gt;sijo:$1$SwLGgPWW$kH6cD1qjyNVqkOwmxGhQ90:511:100::/home/sijo:/bin/bash&lt;br /&gt;earth:$1$s2wsRN8t$Q9O.3J6Cj/0794t7NcFz.0:509:100::/home/earth:/bin/bash&lt;br /&gt;pluto:$1$zFQYZ7ok$a97j1kP/nt5xU.l12pSup.:507:100::/home/pluto:/bin/bash&lt;br /&gt;nisuser:$1$tXXrsS7A$2Xm1bzs32hT44iAXlZuQ51:503:100::/home/nisuser:/bin/bash&lt;br /&gt;purushottam:$1$t4E8AB7E$JXe.1xL/9frA91hyMhmDK1:510:100::/home/purushottam:/bin/bash&lt;br /&gt;jack:$1$l4bfO/cT$u.X5Fd07Yw1aNe/EHDVKs0:500:500::/home/jack:/bin/bash&lt;br /&gt;madan:$1$RWc0rRSJ$bDHOqcdyhnEQdfDDtRKBe/:505:100::/home/madan:/bin/bash&lt;br /&gt;mark:$1$C.1hCRxK$riPSY1P/cRqKYq/Ya7/mk/:502:502::/home/mark:/bin/bash&lt;br /&gt;test1:$1$h/t4wHF5$y/DxUwAeQAZM.tEPO8I630:512:512::/home/test1:/bin/bash&lt;br /&gt;peter:$1$cQQOR3OI$/0pTgMuXo.IBLWrGpMflV0:501:501::/home/peter:/bin/bash&lt;br /&gt;saturn:$1$FKqc6DD1$tYoSXcfwqEfnjSpA92O5Y.:506:100::/home/saturn:/bin/bash&lt;br /&gt;tintin:$1$SXutfhdz$aqsLvHp8aRnhmU8EJfi3/1:504:100::/home/tintin:/bin/bash&lt;br /&gt;[root@test01 ~]#&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;3. Configuring The NIS Client&lt;br /&gt;Now that the NIS server is configured, it's time to configure the NIS clients. There are a number of related configuration files that you need to edit to get it to work. Take a look at the procedure. &lt;br /&gt;Run authconfig&lt;br /&gt;The authconfig or the authconfig-tui program automatically configures your NIS files after prompting you for the IP address and domain of the NIS server. &lt;br /&gt;[root@client tmp]# authconfig-tui&lt;br /&gt;Once finished, it should create an /etc/yp.conf file that defines, amongst other things, the IP address of the NIS server for a particular domain. It also edits the /etc/sysconfig/network file to define the NIS domain to which the NIS client belongs. &lt;br /&gt;# /etc/yp.conf - ypbind configuration file&lt;br /&gt;domain NIS-LOGICA-NETWORK server 192.168.1.100&lt;br /&gt;&lt;br /&gt;#/etc/sysconfig/network&lt;br /&gt;NISDOMAIN=NIS-SCHOOL-NETWORK&lt;br /&gt;In addition, the authconfig program updates the /etc/nsswitch.conf file that lists the order in which certain data sources should be searched for name lookups, such as those in DNS, LDAP, and NIS. Here you can see where NIS entries were added for the important login files. &lt;br /&gt;#/etc/nsswitch.conf&lt;br /&gt;passwd:     files nis&lt;br /&gt;shadow:     files nis&lt;br /&gt;group:      files nis&lt;br /&gt;Note: You can also locate a sample NIS nsswitch.conf file in the /usr/share/doc/yp-tools* directory. &lt;br /&gt;Start The NIS Client Related Daemons&lt;br /&gt;Start the ypbind NIS client, and portmap daemons in the /etc/init.d directory and use the chkconfig command to ensure they start after the next reboot. Remember to use the rpcinfo command to ensure they are running correctly. &lt;br /&gt;[root@client tmp]# service portmap start&lt;br /&gt;Starting portmapper: [  OK  ]&lt;br /&gt;[root@client tmp]# service ypbind start&lt;br /&gt;Binding to the NIS domain:&lt;br /&gt;Listening for an NIS domain server.&lt;br /&gt;[root@client tmp]#&lt;br /&gt;&lt;br /&gt;[root@client tmp]# chkconfig ypbind on&lt;br /&gt;[root@client tmp]# chkconfig portmap on&lt;br /&gt;Note: Remember to use the rpcinfo -p localhost command to make sure they all started correctly. &lt;br /&gt;&lt;br /&gt;4.	Installing the Fedora Directory Server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Directory services play a vital part in today's networks by helping administrators manage network users and resources. Until recently, the only choice for deploying a secure and easy-to-use open source directory server was OpenLDAP. While it gets the job done, it lacks the polish of commercial alternatives. Now Fedora Directory Server (FDS), Red Hat's open source LDAP server, makes setting up an enterprise directory server on Linux simple. &lt;br /&gt;FDS started its life in 1999 as the Netscape Directory Server. In 2004, Red Hat purchased Netscape Directory Server with a promise to make it open source. FDS is the fruit of that labor. Red Hat also sells a supported version, called Red Hat Directory Server, whose business model is to that of FDS as Red Hat Enterprise Linux is to Fedora Core. FDS does not come with any support options.&lt;br /&gt;To install Fedora Directory Server on RHEL 4.0 AS we need to perform the following steps:&lt;br /&gt;1.	Download the latest Fedora DS RPM from the following link:&lt;br /&gt;            http://directory.fedoraproject.org/wiki/Download  &lt;br /&gt;2.	Use the rpm tool to install the server components as follows:&lt;br /&gt;                 # rpm -ivh fedora-ds-1.0.4-1.RHEL4.i386.opt.rpm&lt;br /&gt;&lt;br /&gt;The server components are then installed in the default location: /opt/fedora-ds/. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.	Next, we need to create an instance of the Directory Server by running the setup program: &lt;br /&gt;&lt;br /&gt;         # cd /opt/redhat-ds/ &lt;br /&gt;         # ./setup/setup&lt;br /&gt;4.	The Command line console will be displayed. Follow up the following steps : &lt;br /&gt;&lt;br /&gt;[06/11/07:20:38:28] - [Setup] Info Start...&lt;br /&gt;[06/11/07:20:38:28] - [Setup] Info Start binary installation...&lt;br /&gt;[06/11/07:20:38:29] - [Setup] Info PreInstall phrase...&lt;br /&gt;[06/11/07:20:38:29] - [Setup] Info Unzip component binaries...&lt;br /&gt;[06/11/07:20:38:29] - [Setup] Info Extracting Fedora core components ...&lt;br /&gt;&lt;br /&gt;[06/11/07:20:38:31] - [Setup] Info PostInstall phrase...&lt;br /&gt;[06/11/07:20:38:31] - [Setup] Info DONE&lt;br /&gt;INFO Begin Setup . . .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LICENSE AGREEMENT AND LIMITED PRODUCT WARRANTY&lt;br /&gt;FEDORA(TM) DIRECTORY SERVER&lt;br /&gt;&lt;br /&gt;This agreement governs the use of Fedora Directory Server,&lt;br /&gt;Administration Server and Management Console (collectively, the&lt;br /&gt;"SOFTWARE") and any updates to the Software, regardless of the&lt;br /&gt;delivery mechanism.&lt;br /&gt;&lt;br /&gt;1.  FEDORA DIRECTORY SERVER&lt;br /&gt;&lt;br /&gt;1.1 LICENSE GRANT.  Fedora Directory Server ("FDS") is a modular&lt;br /&gt;application consisting of hundreds of software components and is a&lt;br /&gt;collective work under U.S. Copyright Law.  Subject to the following&lt;br /&gt;terms, Red Hat, Inc. ("RED HAT") grants to the user ("LICENSEE") a&lt;br /&gt;license to this collective work pursuant to the GNU General Public&lt;br /&gt;License.  Please note that Administration Server and Management&lt;br /&gt;Console, which are binary-only code used to configure and administer&lt;br /&gt;FDS, are subject to the license terms in Section 2.  The end user&lt;br /&gt;license agreement for each component of FDS is located in the&lt;br /&gt;component's source code. The license terms for the components&lt;br /&gt;permit LICENSEE to copy, modify, and redistribute the component, in&lt;br /&gt;both source code and binary code forms.  This agreement does not limit&lt;br /&gt;LICENSEE's rights under, or grant LICENSEE rights that supersede, the&lt;br /&gt;license terms of any particular component.&lt;br /&gt;&lt;br /&gt;1.2 LICENSE EXCEPTION.  In addition, as a special exception, Red Hat&lt;br /&gt;gives LICENSEE the additional right to link the code of FDS with code&lt;br /&gt;not covered under the GNU General Public License ("NON-GPL CODE") and&lt;br /&gt;to distribute linked combinations including the two, subject to the&lt;br /&gt;limitations in this paragraph. Non-GPL Code permitted under this&lt;br /&gt;exception must only link to the code of FDS through those well defined&lt;br /&gt;interfaces identified in that file named EXCEPTION in the source code&lt;br /&gt;files for FDS (the "APPROVED INTERFACES"). The files of Non-GPL Code&lt;br /&gt;may instantiate templates or use macros or inline functions from the&lt;br /&gt;Approved Interfaces without causing the resulting work to be covered&lt;br /&gt;by the GNU General Public License. Only Red Hat may make changes or&lt;br /&gt;additions to the list of Approved Interfaces.  LICENSEE must comply&lt;br /&gt;with the GNU General Public License in all respects for all of the FDS&lt;br /&gt;code and other code used in conjunction with FDS except the Non-GPL&lt;br /&gt;Code covered by this exception. If LICENSEE modifies FDS, LICENSEE may&lt;br /&gt;extend this exception to its version of FDS, but LICENSEE is not&lt;br /&gt;obligated to do so. If LICENSEE does not wish to provide this&lt;br /&gt;exception without modification, LICENSEE must delete this exception&lt;br /&gt;statement from LICENSEE's version of FDS and license FDS solely under&lt;br /&gt;the GPL without exception.&lt;br /&gt;&lt;br /&gt;1.3 INTELLECTUAL PROPERTY RIGHTS.  FDS and each of its components,&lt;br /&gt;including the source code, documentation, appearance, structure and&lt;br /&gt;organization are owned by Red Hat and others and are protected under&lt;br /&gt;copyright and other laws.  Title to FDS and any component, or to any&lt;br /&gt;copy, modification, or merged portion shall remain with the&lt;br /&gt;aforementioned, subject to the applicable license.&lt;br /&gt;&lt;br /&gt;2.  ADMINISTRATION SERVER, AND MANAGEMENT CONSOLE&lt;br /&gt;&lt;br /&gt;2.1 LICENSE GRANT.  Subject to the provisions of this Section 2.1, Red&lt;br /&gt;Hat hereby grants LICENSEE a non-exclusive, non-transferable,&lt;br /&gt;worldwide, perpetual, fully paid right (without the right to&lt;br /&gt;sublicense) to use, reproduce and distribute Administration Server&lt;br /&gt;("ADMIN SERVER"), and Management Console ("CONSOLE") in executable,&lt;br /&gt;machine-readable form.  LICENSEE must reproduce all copyright and&lt;br /&gt;other proprietary notices on such copies.  LICENSEE may only reproduce&lt;br /&gt;and distribute Admin Server or Console to another party if the other&lt;br /&gt;party agrees in writing to be obligated by the terms and conditions of&lt;br /&gt;this Section 2.1.  Except as provided in this Section 2.1, LICENSEE&lt;br /&gt;may not modify, copy, transfer or otherwise use Admin Server, or&lt;br /&gt;Console, and all licenses granted in this Section 2 are automatically&lt;br /&gt;terminated if LICENSEE does so.&lt;br /&gt;&lt;br /&gt;2.2 CHANGE IN LICENSING.  It is Red Hat's intent to change the terms&lt;br /&gt;of the license granted in this Section 2 to that of an open source&lt;br /&gt;license.  If such change is generally announced to the public,&lt;br /&gt;LICENSEE will have the option to elect to have Admin Server and&lt;br /&gt;Console governed by the terms of such open source license.  If&lt;br /&gt;LICENSEE does not make such election, the terms of this Agreement will&lt;br /&gt;continue to govern LICENSEE's use of Admin Server and Console.&lt;br /&gt;&lt;br /&gt;3.  LIMITED WARRANTY.  Except as specifically stated in this Section 3&lt;br /&gt;or a license for a particular component, TO THE MAXIMUM EXTENT&lt;br /&gt;PERMITTED UNDER APPLICABLE LAW, THE SOFTWARE AND THE COMPONENTS ARE&lt;br /&gt;PROVIDED AND LICENSED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESSED&lt;br /&gt;OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY,&lt;br /&gt;NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE.  Red Hat does&lt;br /&gt;not warrant that the functions contained in the Software will meet&lt;br /&gt;LICENSEE's requirements or that the operation of the Software will be&lt;br /&gt;entirely error free or appear precisely as described in the&lt;br /&gt;accompanying documentation.&lt;br /&gt;&lt;br /&gt;4.  LIMITATION OF REMEDIES AND LIABILITY. TO THE MAXIMUM EXTENT&lt;br /&gt;PERMITTED BY APPLICABLE LAW, RED HAT WILL NOT BE LIABLE TO LICENSEE&lt;br /&gt;FOR ANY INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS OR&lt;br /&gt;LOST SAVINGS ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE,&lt;br /&gt;EVEN IF RED HAT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;&lt;br /&gt;5.  EXPORT CONTROL.  As required by U.S. law, LICENSEE represents and&lt;br /&gt;warrants that it: (a) understands that the Software is subject to&lt;br /&gt;export controls under the U.S. Commerce Department's Export&lt;br /&gt;Administration Regulations ("EAR"); (b) is not located in a prohibited&lt;br /&gt;destination country under the EAR or U.S. sanctions regulations&lt;br /&gt;(currently Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria); (c)&lt;br /&gt;will not export, re-export, or transfer the Software to any prohibited&lt;br /&gt;destination, entity, or individual without the necessary export&lt;br /&gt;license(s) or authorizations(s) from the U.S.  Government; (d) will&lt;br /&gt;not use or transfer the Software for use in any sensitive nuclear,&lt;br /&gt;chemical or biological weapons, or missile technology end-uses unless&lt;br /&gt;authorized by the U.S. Government by regulation or specific license;&lt;br /&gt;(e) understands and agrees that if it is in the United States and&lt;br /&gt;exports or transfers the Software to eligible end users, it will, as&lt;br /&gt;required by EAR Section 740.17(e), submit semi-annual reports to the&lt;br /&gt;Commerce Department's Bureau of Industry &amp; Security (BIS), which&lt;br /&gt;include the name and address (including country) of each transferee;&lt;br /&gt;and (f) understands that countries other than the United States may&lt;br /&gt;restrict the import, use, or export of encryption products and that it&lt;br /&gt;shall be solely responsible for compliance with any such import, use,&lt;br /&gt;or export restrictions.&lt;br /&gt;&lt;br /&gt;6.  THIRD PARTY PROGRAMS. Red Hat may distribute third party software&lt;br /&gt;programs with the Software that are not part of the Software.  These&lt;br /&gt;third party programs are subject to their own license terms.  The&lt;br /&gt;license terms either accompany the programs or can be viewed at&lt;br /&gt;http://www.redhat.com/licenses/.  If LICENSEE does not agree to abide&lt;br /&gt;by the applicable license terms for such programs, then LICENSEE may&lt;br /&gt;not install them.  If LICENSEE wishes to install the programs on more&lt;br /&gt;than one system or transfer the programs to another party, then&lt;br /&gt;LICENSEE must contact the licensor of the programs.&lt;br /&gt;&lt;br /&gt;7.  GENERAL.  If any provision of this agreement is held to be&lt;br /&gt;unenforceable, that shall not affect the enforceability of the&lt;br /&gt;remaining provisions.  This agreement shall be governed by the laws of&lt;br /&gt;the State of North Carolina and of the United States, without regard&lt;br /&gt;to any conflict of laws provisions, except that the United Nations&lt;br /&gt;Convention on the International Sale of Goods shall not apply.&lt;br /&gt;Do you accept the license terms? (yes/no) yes&lt;br /&gt;======================================================================= &lt;br /&gt;                       Fedora Directory Server 1.0.4&lt;br /&gt;=======================================================================&lt;br /&gt;&lt;br /&gt;The Fedora Directory Server is subject to the terms detailed in the&lt;br /&gt;license agreement file called LICENSE.txt.&lt;br /&gt;&lt;br /&gt;Late-breaking news and information on the Fedora Directory Server is&lt;br /&gt;available at the following location:&lt;br /&gt;&lt;br /&gt;    http://directory.fedora.redhat.com&lt;br /&gt;Continue? (yes/no) yes&lt;br /&gt;Fedora Directory Server system tuning analysis version 04-APRIL-2005.&lt;br /&gt;&lt;br /&gt;NOTICE : System is i686-unknown-linux2.6.9-55.ELxenU (1 processor).&lt;br /&gt;&lt;br /&gt;WARNING: 256MB of physical memory is available on the system. 1024MB is recommended for best performance on large production system.&lt;br /&gt;&lt;br /&gt;NOTICE : The net.ipv4.tcp_keepalive_time is set to 7200000 milliseconds&lt;br /&gt;(120 minutes).  This may cause temporary server congestion from lost&lt;br /&gt;client connections.&lt;br /&gt;&lt;br /&gt;WARNING: There are only 1024 file descriptors (hard limit) available, which&lt;br /&gt;limit the number of simultaneous connections.  &lt;br /&gt;&lt;br /&gt;WARNING: There are only 1024 file descriptors (soft limit) available, which&lt;br /&gt;limit the number of simultaneous connections.  &lt;br /&gt;&lt;br /&gt;Continue? (yes/no) yes&lt;br /&gt;Please select 1, 2, or 3 (default: 2) 2&lt;br /&gt;getFQDN: hostname = pe.im.logica.com&lt;br /&gt;getFQDN: host test01 = ;;&lt;br /&gt;getFQDN: host test01 has length 7&lt;br /&gt;getFQDN: new max host pe has length 7&lt;br /&gt;getFQDN: host ;; has length 3&lt;br /&gt;getFQDN: host pe.im.logica.com has length 21&lt;br /&gt;getFQDN: new max host pe.im.logica.com has length 21&lt;br /&gt;getFQDN: host test01 has length 7&lt;br /&gt;&lt;br /&gt;Hostname to use (default: pe.im.logica.com) &lt;br /&gt;Server user ID to use (default: nobody) fds&lt;br /&gt;Server group ID to use (default: nobody) fds&lt;br /&gt;&lt;br /&gt;5. The hostname must be a fully qualified host and domain name. If the default hostname is not a fully qualified host and domain name, installation fails.&lt;br /&gt;6. The setup program then asks you for the System User and the System Group names. Enter the identity under which you want the servers to run.&lt;br /&gt;7. For the configuration directory, select the default if this directory will host your o=NetscapeRoot tree. Otherwise, enter yes. You will then be asked for the contact information for the configuration directory.&lt;br /&gt;8. The setup program then asks if you want to use a different installation for your user directory. The default is no (this installation will be the user directory). However, if you intend this server instance to be used as a configuration directory only, then you should enter yes&lt;br /&gt;9. For the Directory Server port, select the default; this will be 389 or a randomly-generated port number if you already have another application using that port or you are not installing as root.&lt;br /&gt;10. For the Directory Server Identifier, enter a unique value (normally the default is sufficient). This value is used as part of the name of the directory in which the Directory Server instance is installed. For example, if your machine's host name is phonebook, then this name is the default, and selecting it will cause the Directory Server instance to be installed into a directory labeled slapd-phonebook. &lt;br /&gt;11. For the configuration directory administrator ID and password, enter the name and password as whom you will log in when you want to authenticate to the Console with full privileges. For the Directory Manager DN, enter the DN that you will use when managing the contents of your directory with unlimited privileges. In former releases of Directory Server, the Directory Manager was known as the root DN. This is the entry that you use to bind to the directory when you want access control to be ignored. This DN can be short and does not have to conform to any suffix configured for your directory. However, it should not correspond to an actual entry stored in your directory. &lt;br /&gt;For the Directory Manager password, enter a value that is at least 8 characters long. &lt;br /&gt;12. For a directory suffix, enter a distinguished name (DN) meaningful to your enterprise.This string is used to form the name of all your organization's directory entries. Therefore, pick a name that is representative of your organization. It is recommended that you pick a suffix that corresponds to your Internet DNS name. Avoid space characters in the suffix.For example, if your organization uses the DNS name example.com, then enter dc=example,dc=com here&lt;br /&gt;13. For the Directory Manager DN, enter the DN that you will use when managing the contents of your directory with unlimited privileges.&lt;br /&gt;14. For Administration Domain, enter the domain to which you want this server to belong. The name you enter should be a unique string that is descriptive of the organization responsible for administering the domain.&lt;br /&gt;15. For the administration port number, enter a value that is not in use (an available port number will be randomly generated as the default). Be sure to record this value&lt;br /&gt;16. For the user as whom you want to run Administration Server, enter root. This is the default. You have to run this as root if your port number is below 1024; otherwise, you can run this as a regular user. The server is then unpackaged, minimally configured, and started. You are told on what host and port number Administration Server is listening. The server is configured to use the following suffixes: &lt;br /&gt;o	The suffix that you configured. &lt;br /&gt;o	o=NetscapeRoot &lt;br /&gt;Do not modify the contents of the directory under the o=NetscapeRoot suffix. Either create data under the first suffix or create a new suffix to be used for this purpose. &lt;br /&gt;The Overall scenario will display the following output at the end:&lt;br /&gt;[slapd-test01]: starting up server ...&lt;br /&gt;[slapd-test01]:         Fedora-Directory/1.0.4 B2006.312.435&lt;br /&gt;[slapd-test01]:         test01.logicacmg.com:1500 (/opt/fedora-ds/slapd-test01)&lt;br /&gt;[slapd-test01]:&lt;br /&gt;[slapd-test01]: [14/Sep/2007:14:33:15 +051800] - Fedora-Directory/1.0.4 B2006.312.435 starting up&lt;br /&gt;[slapd-test01]: [14/Sep/2007:14:33:16 +051800] - slapd started.  Listening on All Interfaces port 1500 for LDAP requests&lt;br /&gt;Your new directory server has been started.&lt;br /&gt;Created new Directory Server&lt;br /&gt;Start Slapd Starting Slapd server configuration.&lt;br /&gt;Success Slapd Added Directory Server information to Configuration Server.&lt;br /&gt;Configuring Administration Server...&lt;br /&gt;Setting up Administration Server Instance...&lt;br /&gt;Configuring Administration Tasks in Directory Server...&lt;br /&gt;Configuring Global Parameters in Directory Server...&lt;br /&gt;&lt;br /&gt;You can now use the console.  Here is the command to use to start the console:&lt;br /&gt;cd /opt/fedora-ds&lt;br /&gt;./startconsole -u admin -a http://pe.im.logica.com:27856&lt;br /&gt;&lt;br /&gt;INFO Finished with setup, logfile is setup/setup.log&lt;br /&gt;&lt;br /&gt;Ultimately ,fedora DS gets installed under the /opt/fedora-ds directory.&lt;br /&gt;You can browse the Directory Administrative and Directory Server Configuration through http://pe.im.logica.com:27856&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5.	Migrating the NIS Database into LDIF file format&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The MigrationTools are a set of Perl scripts for migrating users, groups, aliases, hosts, netgroups, networks, protocols, RPCs, and services from existing nameservices (flat files, NIS, and NetInfo) to Fedora DS database.&lt;br /&gt;Scripts &lt;br /&gt;•	migrate_base.pl creates naming context entries, including subordinate contexts such as ou=people and ou=devices. &lt;br /&gt;•	migrate_aliases.pl migrates aliases in /etc/aliases to entries conforming to the rfc822MailGroup schema. Organizations who have deployed LDAP-based messaging solutions, such as Netscape's Messaging Server, may wish to use a different schema for representing mail aliases. Ypldapd does not use X.500 groups (such as groupOfUniqueNames) for mail alias expansion because flattening an arbitrarily nested group at runtime may be expensive. (It is possible to write a ypldapd plug-in to support such a schema, however.) &lt;br /&gt;•	migrate_group.pl migrates groups in /etc/group &lt;br /&gt;•	migrate_hosts.pl migrates hosts in /etc/hosts &lt;br /&gt;•	migrate_networks.pl migrates networks in /etc/networks &lt;br /&gt;•	migrate_passwd.pl migrates users in /etc/passwd. Note that if users are allowed read the userPassword attribute, and your LDAP server doesn't support authenticating against hashed passwords then anyone may read the userPassword attribute's value and authenticate as that user. Modern LDAP servers, such as Netscape Directory Server, support authenticating against hashed passwords, so this is not an issue. The OpenLDAP LDAP server also supports such authentication. &lt;br /&gt;•	migrate_protocols.pl migrates protocols in /etc/protocols &lt;br /&gt;•	migrate_services.pl migrates services in /etc/services &lt;br /&gt;•	migrate_netgroup.pl migrates netgroups in /etc/netgroup &lt;br /&gt;•	migrate_netgroup_byuser.pl migrates the netgroup.byuser map. It requires revnetgroup. &lt;br /&gt;•	migrate_netgroup_byhost.pl migrates the netgroup.byhost map. It requires revnetgroup. &lt;br /&gt;•	migrate_rpc.pl migrates RPCs in /etc/rpc &lt;br /&gt;&lt;br /&gt;Let’s migrate the overall NIS Database files into the LDIF and in turn,import these LDIF into the fedora DS database.&lt;br /&gt;First of all, we need to use the following commands to download and extract the zipped Migration Scripts into the local running the NIS Server:&lt;br /&gt;1.	Download the Migration Scripts from &lt;br /&gt;http://www.padl.com/OSS/MigrationTools.html&lt;br /&gt;2.	Extract the Migration  through the following command:&lt;br /&gt;      # tar xvzf  MigrationTools-3.22  &lt;br /&gt;     3.  The command will extract the following files:&lt;br /&gt;[root@test01 MigrationTools-3.22]# ls&lt;br /&gt;drwxr-xr-x   2 root root 4096 Sep 20 15:45 .&lt;br /&gt;drwxr-x---  15 root root 4096 Sep 21 11:49 ..&lt;br /&gt;-rw-r--r--   1 root root  220 Sep 22  1999 CVSVersionInfo.txt&lt;br /&gt;-rw-r--r--   1 root root  607 May 20  1999 Make.rules&lt;br /&gt;-rwxr-xr-x   1 root root 2573 Jul 29  1999 migrate_aliases.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2800 Jul 16  1998 migrate_all_netinfo_offline.sh&lt;br /&gt;-rwxr-xr-x   1 root root 2796 Jul 16  1998 migrate_all_netinfo_online.sh&lt;br /&gt;-rw-r--r--   1 root root 2854 Jul 16  1998 migrate_all_nis_offline.sh&lt;br /&gt;-rw-r--r--   1 root root 2850 Jul 16  1998 migrate_all_nis_online.sh&lt;br /&gt;-rw-r--r--   1 root root 2661 May 19  1999 migrate_all_nisplus_offline.sh&lt;br /&gt;-rw-r--r--   1 root root 2657 May 19  1999 migrate_all_nisplus_online.sh&lt;br /&gt;-rwxr-xr-x   1 root root 4557 Jun 29  1999 migrate_all_offline.sh&lt;br /&gt;-rwxr-xr-x   1 root root 5771 Jun 29  1999 migrate_all_online.sh&lt;br /&gt;-rwxr-xr-x   1 root root 3444 Oct 20  1998 migrate_base.pl&lt;br /&gt;-rw-r--r--   1 root root 5543 Jun 22  1999 migrate_common.ph&lt;br /&gt;-rwxr-xr-x   1 root root 2919 Oct  1  1998 migrate_fstab.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2683 Oct  1  1998 migrate_group.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2720 Oct  1  1998 migrate_hosts.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2825 Oct  1  1998 migrate_netgroup_byhost.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2825 Oct  1  1998 migrate_netgroup_byuser.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2875 Oct 27  1998 migrate_netgroup.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2809 Oct  1  1998 migrate_networks.pl&lt;br /&gt;-rwxr-xr-x   1 root root 5156 Sep 22  1999 migrate_passwd.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2604 Oct  1  1998 migrate_protocols.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2626 Oct  1  1998 migrate_rpc.pl&lt;br /&gt;-rwxr-xr-x   1 root root 2805 Oct  1  1998 migrate_services.pl&lt;br /&gt;-rw-r--r--   1 root root  769 Jun 22  1999 MigrationTools.spec&lt;br /&gt;-rw-r--r--   1 root root 1855 Jun 18  1999 README&lt;br /&gt;&lt;br /&gt;3.	Run the following command to migrate all the NIS related database files into /tmp directory in ldif form.&lt;br /&gt; [root@test01 MigrationTools-3.22]# ./migrate_group.pl /etc/group  /tmp/group.ldi                                             f&lt;br /&gt;[root@test01 MigrationTools-3.22]# ./migrate_hosts.pl /etc/hosts /tmp/hosts.ldif&lt;br /&gt;[root@test01 MigrationTools-3.22]# ./migrate_passwd.pl /etc/passwd /tmp/passwd.l                                             dif&lt;br /&gt;[root@test01 MigrationTools-3.22]# ./migrate_services.pl /etc/services /tmp/serv                                             ices.1dif&lt;br /&gt;[root@test01 MigrationTools-3.22]# cd /tmp&lt;br /&gt;[root@test01 tmp]# ls&lt;br /&gt;base.ldif         hosts.11555.ldap      protocols.11308.ldap&lt;br /&gt;fstab.11271.ldap  hosts.11597.ldap      protocols.11330.ldap&lt;br /&gt;fstab.11291.ldap  hosts.11631.ldap      protocols.11419.ldap&lt;br /&gt;fstab.11308.ldap  hosts.ldif            protocols.11432.ldap&lt;br /&gt;fstab.11330.ldap  kde-root              protocols.11449.ldap&lt;br /&gt;fstab.11419.ldap  ksocket-root          protocols.11485.ldap&lt;br /&gt;fstab.11432.ldap  logC18418             protocols.11508.ldap&lt;br /&gt;fstab.11449.ldap  logN18341             protocols.11519.ldap&lt;br /&gt;fstab.11485.ldap  logT17894             protocols.11538.ldap&lt;br /&gt;fstab.11508.ldap  mcop-root             protocols.11555.ldap&lt;br /&gt;fstab.11519.ldap  networks.11271.ldap   protocols.11597.ldap&lt;br /&gt;fstab.11538.ldap  networks.11291.ldap   protocols.11631.ldap&lt;br /&gt;fstab.11555.ldap  networks.11308.ldap   rpc.11271.ldap&lt;br /&gt;fstab.11597.ldap  networks.11330.ldap   rpc.11291.ldap&lt;br /&gt;fstab.11631.ldap  networks.11419.ldap   rpc.11308.ldap&lt;br /&gt;gconfd-root       networks.11432.ldap   rpc.11330.ldap&lt;br /&gt;group.11271.ldap  networks.11449.ldap   rpc.11419.ldap&lt;br /&gt;group.11291.ldap  networks.11485.ldap   rpc.11432.ldap&lt;br /&gt;group.11308.ldap  networks.11508.ldap   rpc.11449.ldap&lt;br /&gt;group.11330.ldap  networks.11519.ldap   rpc.11485.ldap&lt;br /&gt;group.11419.ldap  networks.11538.ldap   rpc.11508.ldap&lt;br /&gt;group.11432.ldap  networks.11555.ldap   rpc.11519.ldap&lt;br /&gt;group.11449.ldap  networks.11597.ldap   rpc.11538.ldap&lt;br /&gt;group.11485.ldap  networks.11631.ldap   rpc.11555.ldap&lt;br /&gt;group.11508.ldap  orbit-root            rpc.11597.ldap&lt;br /&gt;group.11519.ldap  passwd.11271.ldap     rpc.11631.ldap&lt;br /&gt;group.11538.ldap  passwd.11291.ldap     services.11271.ldap&lt;br /&gt;group.11555.ldap  passwd.11308.ldap     services.11291.ldap&lt;br /&gt;group.11597.ldap  passwd.11330.ldap     services.11308.ldap&lt;br /&gt;group.11631.ldap  passwd.11419.ldap     services.11330.ldap&lt;br /&gt;group.ldif        passwd.11432.ldap     services.11419.ldap&lt;br /&gt;hosts.11271.ldap  passwd.11449.ldap     services.11432.ldap&lt;br /&gt;hosts.11291.ldap  passwd.11485.ldap     services.11449.ldap&lt;br /&gt;hosts.11308.ldap  passwd.11508.ldap     services.11485.ldap&lt;br /&gt;hosts.11330.ldap  passwd.11519.ldap     services.11508.ldap&lt;br /&gt;hosts.11419.ldap  passwd.11538.ldap     services.11519.ldap&lt;br /&gt;hosts.11432.ldap  passwd.11555.ldap     services.11538.ldap&lt;br /&gt;hosts.11449.ldap  passwd.11597.ldap     services.11555.ldap&lt;br /&gt;hosts.11485.ldap  passwd.11631.ldap     services.11597.ldap&lt;br /&gt;hosts.11508.ldap  passwd.ldif           services.11631.ldap&lt;br /&gt;hosts.11519.ldap  protocols.11271.ldap  services.1dif&lt;br /&gt;hosts.11538.ldap  protocols.11291.ldap  setupE17927&lt;br /&gt;[root@test01 tmp]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The /tmp directory has all the files (LDIF) which is understood by the fedora DS.&lt;br /&gt;&lt;br /&gt;8. Importing the LDIF files into the Fedora Directory Structure&lt;br /&gt;&lt;br /&gt;It is important to tweak with LDIF file so that Fedora DS database can understand the file format. A particular LDIF file for 10 NIS users format looks like this : &lt;br /&gt;dn: uid=vjs,ou=People,dc=padl,dc=com&lt;br /&gt;uid: vjs&lt;br /&gt;cn: vjs&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}$1$jwNSJA89$ufH4yWwanaKW44nzK21vR1&lt;br /&gt;shadowLastChange: 13689&lt;br /&gt;shadowMax: 99999&lt;br /&gt;shadowWarning: 7&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 500&lt;br /&gt;gidNumber: 500&lt;br /&gt;homeDirectory: /home/vjs&lt;br /&gt;&lt;br /&gt;dn: uid=ajeet,ou=People,dc=padl,dc=com&lt;br /&gt;uid: ajeet&lt;br /&gt;cn: ajeet&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}$1$Io5G0iTK$1ksWy5/Bttf.xeEw3YcT7.&lt;br /&gt;shadowLastChange: 13775&lt;br /&gt;shadowMax: 99999&lt;br /&gt;shadowWarning: 7&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 501&lt;br /&gt;gidNumber: 501&lt;br /&gt;homeDirectory: /home/ajeet&lt;br /&gt;&lt;br /&gt;dn: uid=peter,ou=People,dc=padl,dc=com&lt;br /&gt;uid: peter&lt;br /&gt;cn: peter&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}$1$YEPNVp9E$yztvvYeH8VYMXN4YWKrLI.&lt;br /&gt;shadowLastChange: 13775&lt;br /&gt;shadowMax: 99999&lt;br /&gt;shadowWarning: 7&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 502&lt;br /&gt;gidNumber: 502&lt;br /&gt;homeDirectory: /home/peter&lt;br /&gt;&lt;br /&gt;dn: uid=nisuser,ou=People,dc=padl,dc=com&lt;br /&gt;uid: nisuser&lt;br /&gt;cn: nisuser&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}$1$udwxj/nd$2V9qOzAm.9FZfZQmB0N3L/&lt;br /&gt;shadowLastChange: 13775&lt;br /&gt;shadowMax: 99999&lt;br /&gt;shadowWarning: 7&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 503&lt;br /&gt;gidNumber: 100&lt;br /&gt;homeDirectory: /home/nisuser&lt;br /&gt;&lt;br /&gt;dn: uid=saturn,ou=People,dc=padl,dc=com&lt;br /&gt;uid: saturn&lt;br /&gt;cn: saturn&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}$1$0fSVPPNZ$vNfW9oXNJmZrngDWJ9b7D.&lt;br /&gt;shadowLastChange: 13775&lt;br /&gt;shadowMax: 99999&lt;br /&gt;shadowWarning: 7&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 504&lt;br /&gt;gidNumber: 100&lt;br /&gt;homeDirectory: /home/saturn&lt;br /&gt;&lt;br /&gt;dn: uid=sijo,ou=People,dc=padl,dc=com&lt;br /&gt;uid: sijo&lt;br /&gt;cn: sijo&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}$1$n4bdi9vP$fTWlLOqsUvtXIc7JjB7sr0&lt;br /&gt;shadowLastChange: 13775&lt;br /&gt;shadowMax: 99999&lt;br /&gt;shadowWarning: 7&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 505&lt;br /&gt;gidNumber: 100&lt;br /&gt;homeDirectory: /home/sijo&lt;br /&gt;&lt;br /&gt;dn: uid=test1,ou=People,dc=padl,dc=com&lt;br /&gt;uid: test1&lt;br /&gt;cn: test1&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}$1$THXT5kSc$KFIPQi/1CPK6JdX04uhu4/&lt;br /&gt;shadowLastChange: 13775&lt;br /&gt;shadowMax: 99999&lt;br /&gt;shadowWarning: 7&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 506&lt;br /&gt;gidNumber: 506&lt;br /&gt;homeDirectory: /home/test1&lt;br /&gt;&lt;br /&gt;dn: uid=ldap,ou=People,dc=padl,dc=com&lt;br /&gt;uid: ldap&lt;br /&gt;cn: LDAP User&lt;br /&gt;objectClass: account&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;userPassword: {crypt}!!&lt;br /&gt;shadowLastChange: 13775&lt;br /&gt;loginShell: /bin/false&lt;br /&gt;uidNumber: 55&lt;br /&gt;gidNumber: 55&lt;br /&gt;homeDirectory: /var/lib/ldap&lt;br /&gt;gecos: LDAP User&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;We need to make only one modification. Change dc-padl to dc=pe,dc=im,dc=logica,dc=com&lt;br /&gt;             [Quick Trick : Open the /tmp/passwd.ldif file through vi editor &amp; provide the following command:&lt;br /&gt;:%s/padl/&lt;domain name&gt;/g&lt;br /&gt;This ex-mode command will change all the padl entry into groupinfra in a single shot.]&lt;br /&gt;&lt;br /&gt;Next provide the following command to start the Directory Server console in order to configure the Importing into the Fedora DS.&lt;br /&gt;Run the following command in GNOME to get the Fedora DS Console display:&lt;br /&gt;    # ./startconsole –u admin –a http://pe.im.logica.com:27856&lt;br /&gt;Click on Task after providing the credentials and this will let you with the following options as you see below.we will first try to import the passwd.ldif file into Fedora DS.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            This will lead to a successful import .We can easily check the various entry for the particular users called Sijo and Purushottam below. It shows that all the schema has been copied to the database&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Thus, the various other NIS Users has been comfortably imported into the Fedora DS database Server.&lt;br /&gt;&lt;br /&gt;09. Authenticating the Fedora DS Client with the Server&lt;br /&gt;( Yet to be added)&lt;br /&gt; &lt;br /&gt;10. Single Master Replication within the two Fedora DS &lt;br /&gt;Single-Master Replication &lt;br /&gt;In the simplest replication scenario, the master copy of directory data is held in a single read-write replica on one server called the supplier server. The supplier server also maintains change log for this replica. On another server, called the consumer server you have as many read-only replicas as you like. Such scenarios are called single-master configurations. Figure shows an example of single-master replication. &lt;br /&gt;    Single-Master Replication ( Figure 8.1)&lt;br /&gt; &lt;br /&gt;In this particular configuration the ou=people,dc=example,dc=com suffix receives a large number of search requests. Therefore, to distribute the load, this tree, which is mastered on Server A, is replicated to two read-only replicas located on Server B and Server C.&lt;br /&gt;Configuring Single-Master Replication &lt;br /&gt; &lt;br /&gt;This section provides information on configuring single-master replication. The steps described in this section provide a high level overview of the procedure you need to follow. Cross-references to the detailed task descriptions are provided at each step. &lt;br /&gt;To set up single-master replication such as the configuration shown in Figure 8-1, between supplier Server A that holds a read-write replica, and the two consumers Server B and Server C that each hold a read-only replica, you need to perform the following procedures: &lt;br /&gt;•	Configuring the Read-Only Replica on the Consumer Server  &lt;br /&gt;•	Configuring the Read-Write Replica on the Supplier Server  &lt;br /&gt;•	Initializing the Replicas for Single-Master Replication  &lt;br /&gt;Configuring the Read-Only Replica on the Consumer Server &lt;br /&gt;1.	Create the database for the read-only replica, if it does not exist.  &lt;br /&gt;2.	Create the entry corresponding to the supplier bind DN on the consumer server, if it does not exist. This is the special entry that the supplier will use to bind.  &lt;br /&gt;a.	In the Directory Server Console, click the Directory tab, and create an entry. For example you could use cn=Replication Manager,cn=config.  &lt;br /&gt;b.	Specify a userPassword attribute-value pair.  &lt;br /&gt;c.	If you have enabled the password expiration policy, or intend to do so in future, you must remember to disable it to prevent replication from failing due to passwords expiring. To disable the password expiration policy on the userPassword attribute, add the passwordExpirationTime attribute with a value of 20380119031407Z which means that the password will never expire.&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt; &lt;br /&gt;Note   	This entry must not be part of the replicated database. &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;3.	Specify the replication settings required for a read-only replica.  &lt;br /&gt;a.	In the Directory Server Console, click the Configuration tab.  &lt;br /&gt;b.	In the navigation tree, expand the Replication folder, and highlight the replica database.  &lt;br /&gt;The Replica Settings tab is displayed in the right-hand side of the window. &lt;br /&gt;  &lt;br /&gt;c.	Check the Enable Replica checkbox.  &lt;br /&gt;d.	In the Replica Role section, select the Dedicated Consumer radio button.  &lt;br /&gt;e.	In the Common Settings section, specify a purge delay in the Purge delay field.  &lt;br /&gt;This option indicates how often the state information stored in the replicated entries is purged. &lt;br /&gt;  &lt;br /&gt;f.	In the Replica Update Settings section, specify the bind DN or entry DN that the supplier will use to bind to the replica.You can now specify multiple supplier bind DNs per replica but only one supplier DN per replication agreement. To specify your supplier bind DN:  &lt;br /&gt;g.	In the Replica Update Settings section enter your supplier bind DN in the Enter a new Supplier DN or entry DN field.  &lt;br /&gt;h.	Click Add. You supplier bind DN will appear in the Current Supplier DNs or entry DNs to which the supplier's certificate is mapped field directly above.  &lt;br /&gt;i.	Repeat the operation for every supplier bind DN you want to include in the list. Click Save when you have finished.  &lt;br /&gt;This supplier bind DN should correspond to the entry created in Step 2. Note that the supplier bind DN corresponds to a privileged user, because it is not subject to access control. &lt;br /&gt;  &lt;br /&gt;j.	Specify any supplier servers to which you want to refer updates.  &lt;br /&gt;By default, all updates are first referred to the supplier servers that you specify here. If you specify none, updates are referred to the supplier servers that have a replication agreement that includes the current replica. &lt;br /&gt;  &lt;br /&gt;Automatic referrals assume that clients will bind over a regular connection, and therefore, are of the form ldap://servername:port. If you want clients to bind to the supplier using SSL, you can use this field to specify a referral of the form ldaps://servername:port where the s in ldaps indicates secure connections. &lt;br /&gt;  &lt;br /&gt;4.	Click Save to save the replication settings for the replica.  &lt;br /&gt;5.	Repeat these steps for every read-only replica in your replication configuration.  &lt;br /&gt;Configuring the Read-Write Replica on the Supplier Server &lt;br /&gt;1.	Specify the supplier settings for the server.  &lt;br /&gt;a.	In the Directory Server Console, click the Configuration tab.  &lt;br /&gt;b.	In the navigation tree, highlight the Replication node.  &lt;br /&gt;c.	In the right-hand side of the window, click the Supplier Settings tab. &lt;br /&gt;d.	Check the Enable Change Log checkbox.  &lt;br /&gt;This activates all of the fields in the pane below that were previously greyed out. &lt;br /&gt;  &lt;br /&gt;e.	Specify a change log by clicking the Use Default button, or click the Browse button to display a file selector.  &lt;br /&gt;f.	Set the change log parameters (number and age).  &lt;br /&gt;You must clear the unlimited checkboxes if you want to specify different values.   &lt;br /&gt;g.	Click Save to save the supplier settings. &lt;br /&gt;2.	Specify the replication settings required for a read-write replica.  &lt;br /&gt;a.	In the navigation tree on the Configuration tab, expand the Replication node and highlight the database to replicate.  &lt;br /&gt;The Replica Settings tab is displayed in the right-hand side of the window. &lt;br /&gt;  &lt;br /&gt;b.	Check the Enable Replica checkbox.  &lt;br /&gt;c.	In the Replica Role section, select the Single Master radio button.  &lt;br /&gt;d.	In the Common Settings section, specify a Replica ID (an integer between 1 and 254 inclusive).  &lt;br /&gt;The replica ID must be unique for a given suffix, that is to say, different from the IDs used for read-write replicas on this server and on other servers. &lt;br /&gt;  &lt;br /&gt;e.	In the Common Settings section specify a purge delay in the Purge delay field.  &lt;br /&gt;This option indicates how often the state information stored in the replicated entries is purged. &lt;br /&gt;  &lt;br /&gt;f.	Click Save to save the replication settings for the database.  &lt;br /&gt;3.	Create a replication agreement.  &lt;br /&gt;You must create one replication agreement for each read-only replica. For example, in the case illustrated in Figure 8-1, Server A holds two replication agreements, one for Server B, and one for Server C. &lt;br /&gt;  &lt;br /&gt;a.	In the navigation tree on the Configuration tab, right-click the database to replicate, and select New Replication Agreement.  &lt;br /&gt;Alternatively, highlight the database and select New Replication Agreement from the Object menu. This will start the Replication Agreement Wizard. &lt;br /&gt;  &lt;br /&gt;b.	Go through the steps in the replication wizard by clicking Next to move to the following step.  &lt;br /&gt;c.	When you have finished, the replication agreement is set up.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lets say we have two RHEL machine(or any Linux Distros) we need to have the following requisite parameters set in both the machines:&lt;br /&gt;Host 1    --   dogmatix.groupinfra.com&lt;br /&gt;Host  2  --     test02.groupinfra.com&lt;br /&gt;1.	Two machines, each running Fedora Directory Server&lt;br /&gt;2.	Password for "cn=directory manager" must be the same on both machines&lt;br /&gt;3.	LDAP naming context must be the same on both machines&lt;br /&gt;4.	The perl module Net::LDAP ( the mmr.pl script if you are thinking to configure through the command line)&lt;br /&gt;[Note: Keep all the information same( Ldap and Admin port ,password etc) in the both server same during the setup time ]&lt;br /&gt;The Configuration through the Directory Server Console consists of the following steps:&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Thus , the last snapshot shows the Replication status as :&lt;br /&gt;1.	NSMMReplicationPlugin started at 16:32 on 27th September&lt;br /&gt;2.	Beginning of the Export of NetscapeRoot&lt;br /&gt;3.	And Finally Finished the Export Successfully.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;10. Users, Groups Creation and Restriction on Domains&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Creating Users, groups and domains through the Directory Console is very easy.The Fedora Directory Console provides a console for the User and group configurations.&lt;br /&gt;Few screenshots for the User and group creation has been caught below:&lt;br /&gt;1. Click on users and Groups tab:&lt;br /&gt;  &lt;br /&gt;2. Select the subtree or the domain you want your user to be placed at.&lt;br /&gt;. &lt;br /&gt;3.Fill in the different attributes for the Home directory.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;The Posix user and simple Users entry is for the Linux Machines but the NT user option is used when we try to authenticate the client  from the Windows Terminal.&lt;br /&gt;&lt;br /&gt;11. Password Ageing and Account Lockout Policy&lt;br /&gt;Managing the Password Policy &lt;br /&gt;A password policy minimizes the risks of using passwords by enforcing the following: &lt;br /&gt;•	Users must change their passwords according to a schedule. &lt;br /&gt;•	Users must provide non-trivial passwords. &lt;br /&gt;Once you have established a password policy, which can be for the entire directory or for specific subtrees or users, you can protect your user passwords from potential threats by configuring an account lockout policy. Account lockout protects against hackers who try to break into the directory by repeatedly guessing a user's password. &lt;br /&gt;This section provides information about configuring your password and account lockout policies: &lt;br /&gt;•	Configuring the Password Policy &lt;br /&gt;•	Setting User Passwords &lt;br /&gt;•	Password Change Extended Operation &lt;br /&gt;•	Configuring the Account Lockout Policy &lt;br /&gt;•	Managing the Password Policy in a Replicated Environment &lt;br /&gt;•	Sycnhronizing Passwords &lt;br /&gt; . &lt;br /&gt;Configuring the Password Policy &lt;br /&gt;Directory Server supports fine-grained password policy, enabling you to define a policy that can be applied to the entire directory (global password policy), a particular subtree (subtree level or local password policy), or a particular user (user level or local password policy). &lt;br /&gt;Essentially, your password policy is comprised of the following information: &lt;br /&gt;•	The type or level of password policy checks. This information indicates whether the server should check for and enforce a global password policy or local (subtree/user level) password policies. &lt;br /&gt;•	Password add and modify information. The password information includes password syntax and password history details. &lt;br /&gt;•	Bind information. The bind information includes the number of grace logins permitted, password aging attributes, and tracking bind failures&lt;br /&gt;Configuring a Global Password Policy Using the Console &lt;br /&gt;To set up or modify the password policy for an entire directory: &lt;br /&gt;1.	In the Directory Server Console, select the Configuration tab and then the Data node. &lt;br /&gt;2.	In the right pane, select the Passwords tab. &lt;br /&gt;This tab contains the password policy for the entire Directory Server.&lt;br /&gt;3.	If you want users to change their password the first time they log on, select the "User must change password after reset" checkbox. &lt;br /&gt;If you select this checkbox, only the Directory Manager is authorized to reset the users's password. A regular administrative user cannot force the users to update their password.&lt;br /&gt;4.	If you want to allow users to change their own passwords, select the "User may change password" checkbox. &lt;br /&gt;5.	If you want to prevent users from changing their password for a specific duration, enter the number of days in the "Allow changes in X day(s)" text box. &lt;br /&gt;6.	If you want the server to maintain a history list of passwords used by each user, select the "Keep password history" checkbox. Enter the number of passwords you want the server to keep for each user in the "Remember X passwords" text box. &lt;br /&gt;7.	If you do not want user passwords to expire, select the "Password never expires" radio button. &lt;br /&gt;8.	If you want users to change their passwords periodically, select the "Password expires after X days" radio button, and then enter the number of days that a user password is valid. &lt;br /&gt;The maximum value for the password age is derived by subtracting January 18, 2038, from today's date. The value you enter must not be set to the maximum value or too close to the maximum value. If you set the value to the maximum value, Directory Server may fail to start because the number of seconds will go past the epoch date. In such an event, the error log will indicate that the password maximum age is invalid. To resolve this problem, you must correct the passwordMaxAge attribute value in the dse.ldif file.&lt;br /&gt;A common policy is to have passwords expire every 30 to 90 days. By default, the password maximum age is set to 8640000 seconds (100 days).&lt;br /&gt;9.	If you have selected the "Password expire after X days" radio button, you need to specify how long before the password expires to send a warning to the user. In the "Send Warning X Days Before Password Expires" text enter the number of days before password expiration to send a warning. &lt;br /&gt;10.	If you want the server to check the syntax of a user password to make sure it meets the minimum requirements set by the password policy, select the "Check Password Syntax" checkbox. Then, specify the minimum acceptable password length in the "Password Minimum Length" text box. &lt;br /&gt;11.	From the "Password Encryption" pull-down menu, select the encryption method you want the server to use when storing passwords. &lt;br /&gt;For detailed information about the encryption methods, refer to the passwordStorageScheme attribute in Table 7-1, on page 287,.&lt;br /&gt;The Password Encryption menu might contain other encryption methods, as the directory dynamically creates the menu depending upon the existing encryption methods it finds in your directory.&lt;br /&gt;12.	When you have finished making changes to the password policy, click Save&lt;br /&gt;Configuring a Subtree/User Password Policy Using the Console &lt;br /&gt;To set up the password policy for a subtree or user, you need to add the required entries and attributes at the subtree or user level, set the appropriate values to the password policy attributes, and enable fine-grained password policy checking. &lt;br /&gt;1.	Enable fine-grained password policy. &lt;br /&gt;a.	In the Directory Server Console, select the Configuration tab. &lt;br /&gt;b.	In the navigation tree, select the Data node. &lt;br /&gt;c.	In the right pane, select the Passwords tab. &lt;br /&gt;d.	Check the "Enable fine-grained password policy" checkbox. &lt;br /&gt;e.	Click Save to save your changes. &lt;br /&gt;2.	Create the local password policy for the subtree or user. &lt;br /&gt;a.	In the Directory Server Console, select the Directory tab. &lt;br /&gt;b.	In the navigation pane, select the subtree or user entry for which you want to set up the password policy. &lt;br /&gt;c.	From the Object menu, select the Manage Password Policy option, and then select the "For user" or "For subtree." &lt;br /&gt;Depending on your selection, the User Password Policy or Subtree Password Policy window appears.&lt;br /&gt;a.	In the Passwords tab, select the "Create subtree/user level password policy" checkbox to add the required attributes, fill in the appropriate values, and click Save. &lt;br /&gt;b.	In the Account Lockout tab, specify the appropriate information, and click Save&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configuring the Account Lockout Policy Using the Console &lt;br /&gt;To set up or modify the account lockout policy for your Directory Server: &lt;br /&gt;1.	In the Directory Server Console, select the Configuration tab and then the Data node. &lt;br /&gt; &lt;br /&gt;2.	In the right pane, select the Account Lockout tab. &lt;br /&gt;3.	To enable account lockout, select the "Accounts may be locked out" checkbox. &lt;br /&gt;4.	Enter the maximum number of allowed bind failures in the "Lockout account after X login failures" text box. The server locks out users who exceed the limit you specify here. &lt;br /&gt;5.	Enter the number of minutes you want the server to wait before resetting the bind failure counter to 0 in the "Reset failure counter after X minutes" text box. &lt;br /&gt;6.	Set the interval you want users to be locked out of the directory. &lt;br /&gt;Select the Lockout Forever radio button to lock users out until their passwords have been reset by the administrator.&lt;br /&gt;Set a specific lockout period by selecting the Lockout Duration radio button and entering the time (in minutes) in the text box. &lt;br /&gt;7.	When you have finished making changes to the account lockout policy, click Save. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;13. All the Unix, Linux, Solaris machines should be able       &lt;br /&gt;to sync with the LDAP Server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In order to configure the Server-Client Architecture for the entire Fedora DS so as to make the client authenticate whenever the logging in activity is performed, we need to set up the following architecture:&lt;br /&gt;Let see how we are going to connect clients with Fedora-ds installed in another Ubuntu server. we will stick to the following example scenario. Change your setting appropriately. &lt;br /&gt;A test setup is like this:          &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Installing LDAP Client Packages&lt;br /&gt;We need to install necessary client packages and setup them initially. To install all packages: &lt;br /&gt;  # yum install pam_ldap&lt;br /&gt;  # yum install nss_ldap&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Or, You can check whether the rpm packages has been insatlled or not through&lt;br /&gt;                       #rpm –qa nss_ldap &lt;br /&gt;                       #rpm –qa pam_ldap&lt;br /&gt;&lt;br /&gt;During the installation it will ask few questions and don't worry about them but keep accepting the default settings since we are going to modify them manually later. &lt;br /&gt;Configuring nsswitch.conf file&lt;br /&gt;The nsswitch.conf file is responsible for switching the authentication order in Linux and we need to setup to accept LDAP authentication. To edit the file: &lt;br /&gt;sudo vi /etc/nsswitch.conf&lt;br /&gt;Then we need change compat with files ldap. Use the following command in vi command mode &lt;br /&gt;%s/compat/files ldap/g&lt;br /&gt;Now your changes will reflect as follows in /etc/nsswitch.conf &lt;br /&gt;...&lt;br /&gt;passwd:         files ldap&lt;br /&gt;group:          files ldap&lt;br /&gt;shadow:         files ldap&lt;br /&gt;...&lt;br /&gt;The order files ldap will look /etc/passwd file first and then look LDAP for authentication. &lt;br /&gt;&lt;br /&gt;File: /etc/nsswitch.conf&lt;br /&gt;/etc/nsswitch.conf&lt;br /&gt;#&lt;br /&gt;# An example Name Service Switch config file. This file should be&lt;br /&gt;# sorted with the most-used services at the beginning.&lt;br /&gt;#&lt;br /&gt;# The entry '[NOTFOUND=return]' means that the search for an&lt;br /&gt;# entry should stop if the search in the previous entry turned&lt;br /&gt;# up nothing. Note that if the search failed due to some other reason&lt;br /&gt;# (like no NIS server responding) then the search continues with the&lt;br /&gt;# next entry.&lt;br /&gt;#&lt;br /&gt;# Legal entries are:&lt;br /&gt;#&lt;br /&gt;#       nis or yp               Use NIS (NIS version 2), also called YP&lt;br /&gt;#       dns                     Use DNS (Domain Name Service)&lt;br /&gt;#       files                   Use the local files&lt;br /&gt;#       db                      Use the local database (.db) files&lt;br /&gt;#       compat                  Use NIS on compat mode&lt;br /&gt;#       hesiod                  Use Hesiod for user lookups&lt;br /&gt;#       ldap                    Use LDAP (only if nss_ldap is installed)&lt;br /&gt;#       nisplus or nis+         Use NIS+ (NIS version 3), unsupported&lt;br /&gt;#       [NOTFOUND=return]       Stop searching if not found so far&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;# To use db, put the "db" in front of "files" for entries you want to be&lt;br /&gt;# looked up first in the databases&lt;br /&gt;#&lt;br /&gt;# Example:&lt;br /&gt;#passwd:    db files ldap nis&lt;br /&gt;#shadow:    db files ldap nis&lt;br /&gt;#group:     db files ldap nis&lt;br /&gt;&lt;br /&gt;passwd:     files ldap&lt;br /&gt;shadow:     files ldap&lt;br /&gt;group:      files ldap&lt;br /&gt;&lt;br /&gt;#hosts:     db files ldap nis dns&lt;br /&gt;hosts:      files dns&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Example - obey only what ldap tells us...&lt;br /&gt;#services:  ldap [NOTFOUND=return] files&lt;br /&gt;#networks:  ldap [NOTFOUND=return] files&lt;br /&gt;"/etc/nsswitch.conf" 58L, 1658C&lt;br /&gt;#protocols: ldap [NOTFOUND=return] files&lt;br /&gt;#rpc:       ldap [NOTFOUND=return] files&lt;br /&gt;#ethers:    ldap [NOTFOUND=return] files&lt;br /&gt;&lt;br /&gt;bootparams: files&lt;br /&gt;ethers:     files&lt;br /&gt;netmasks:   files&lt;br /&gt;networks:   files&lt;br /&gt;protocols:  files ldap&lt;br /&gt;rpc:        files&lt;br /&gt;services:   files ldap&lt;br /&gt;netgroup:   files ldap&lt;br /&gt;publickey:  files&lt;br /&gt;automount:  files ldap&lt;br /&gt;aliases:    files&lt;br /&gt;&lt;br /&gt;/etc/pam.d/sshd&lt;br /&gt;&lt;br /&gt;#%PAM-1.0&lt;br /&gt;auth       required     pam_stack.so service=system-auth&lt;br /&gt;#auth       required     pam_unix.so&lt;br /&gt;#auth       sufficient   pam_ldap.so&lt;br /&gt;auth       required     pam_nologin.so&lt;br /&gt;#auth       required     pam_unix.so&lt;br /&gt;#auth       sufficient   pam_ldap.so&lt;br /&gt;account    required     pam_stack.so service=system-auth&lt;br /&gt;#account    required     pam_unix.so&lt;br /&gt;#account    sufficient   pam_ldap.so&lt;br /&gt;password   required     pam_stack.so service=system-auth&lt;br /&gt;#password   required     pam-unix.so nullok obscure min=4&lt;br /&gt;#password   sufficient   pam_ldap.so&lt;br /&gt;session    required     pam_stack.so service=system-auth&lt;br /&gt;session    required     pam_loginuid.so&lt;br /&gt;#session    sufficient   pam_ldap.so&lt;br /&gt;#session    required     pam_unix.so&lt;br /&gt;auth             sufficient      /lib/security/pam_ldap.so&lt;br /&gt;account          sufficient      /lib/security/pam_ldap.so&lt;br /&gt;password         sufficient      /lib/security/pam_ldap.so&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/etc/pam.d/system-auth&lt;br /&gt;&lt;br /&gt;#%PAM-1.0&lt;br /&gt;# This file is auto-generated.&lt;br /&gt;# User changes will be destroyed the next time authconfig is run.&lt;br /&gt;auth        required      /lib/security/$ISA/pam_env.so&lt;br /&gt;auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok&lt;br /&gt;auth        sufficient    /lib/security/$ISA/pam_ldap.so use_first_pass&lt;br /&gt;auth        required      /lib/security/$ISA/pam_deny.so&lt;br /&gt;&lt;br /&gt;account     required      /lib/security/$ISA/pam_unix.so broken_shadow&lt;br /&gt;account     sufficient    /lib/security/$ISA/pam_succeed_if.so uid &lt; 100 quietaccount     [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.soaccount     required      /lib/security/$ISA/pam_permit.sopassword    requisite     /lib/security/$ISA/pam_cracklib.so retry=3password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadowpassword    sufficient    /lib/security/$ISA/pam_ldap.so use_authtokpassword    required      /lib/security/$ISA/pam_deny.sosession     required      /lib/security/$ISA/pam_limits.sosession     required      /lib/security/$ISA/pam_unix.sosession     optional      /lib/security/$ISA/pam_ldap.so# @(#)$Id: ldap.conf,v 1.34 2004/09/16 23:32:02 lukeh Exp $## This is the configuration file for the LDAP nameservice# switch library and the LDAP PAM module.## PADL Software# http://www.padl.com## Your LDAP server. Must be resolvable without using LDAP.# Multiple hosts may be specified, each separated by a# space. How long nss_ldap takes to failover depends on# whether your LDAP client library supports configurable# network or connect timeouts (see bind_timelimit).host 10.14.236.169/etc/ldap.conf# The distinguished name of the search base.base dc=csse,dc=uwa,dc=edu,dc=au# Another way to specify your LDAP server is to provide an# uri with the server name. This allows to use# Unix Domain Sockets to connect to a local LDAP Server.#uri ldap://127.0.0.1/#uri ldaps://10.14.236.169/#uri ldapi://%2fvar%2frun%2fldapi_sock/# Note: %2f encodes the '/' used as directory separator# The LDAP version to use (defaults to 3# if supported by client library)ldap_version 3# The distinguished name to bind to the server with.# Optional: default is to bind anonymously.#binddn cn=proxyuser,dc=example,dc=com# The credentials to bind with.# Optional: default is no credential.#bindpw secret# The distinguished name to bind to the server with# if the effective user ID is root. Password is# stored in /etc/ldap.secret (mode 600)#rootbinddn cn=manager,dc=example,dc=com# The port.# Optional: default is 389.port 389# The search scope.#scope sub#scope one#scope base# Search timelimit#timelimit 30#timelimit 120# Bind/connect timelimit# bind_timelimit 30# bind_timelimit 120# Reconnect policy: hard (default) will retry connecting to# the software with exponential backoff, soft will fail# immediately.# bind_policy hard# Idle timelimit; client will close connections# (nss_ldap only) if the server has not been contacted# for the number of seconds specified below.#idle_timelimit 3600# idle_timelimit 3600# Filter to AND with uid=%s#pam_filter objectclass=account# The user ID attribute (defaults to uid)pam_login_attribute uid# Search the root DSE for the password policy (works# with Netscape Directory Server)pam_lookup_policy yes# Check the 'host' attribute for access control# Default is no; if set to yes, and user has no# value for the host attribute, and pam_ldap is# configured for account management (authorization)# then the user will not be allowed to login.#pam_check_host_attr yes# Check the 'authorizedService' attribute for access# control# Default is no; if set to yes, and the user has no# value for the authorizedService attribute, and# pam_ldap is configured for account management# (authorization) then the user will not be allowed# to login.#pam_check_service_attr yes# Group to enforce membership of#pam_groupdn cn=PAM,ou=Groups,dc=example,dc=com# Group member attribute#pam_member_attribute uniquemember# Specify a minium or maximum UID number allowed#pam_min_uid 0#pam_max_uid 0# Template login attribute, default template user# (can be overriden by value of former attribute# in user's entry)#pam_login_attribute userPrincipalName#pam_template_login_attribute uid#pam_template_login nobody# HEADS UP: the pam_crypt, pam_nds_passwd,# and pam_ad_passwd options are no# longer supported.## If you are using XAD, you can set pam_password# to racf, ad, or exop. Make sure that you have# SSL enabled.# Do not hash the password at all; presume# the directory server will do it, if# necessary. This is the default.pam_password md5# Hash password locally; required for University of# Michigan LDAP server, and works with Netscape# Directory Server if you're using the UNIX-Crypt# hash mechanism and not using the NT Synchronization# service.#pam_password crypt# Remove old password first, then update in# cleartext. Necessary for use with Novell# Directory Services (NDS)#pam_password nds# RACF is an alias for the above. For use with# IBM RACF#pam_password racf# Update Active Directory password, by# creating Unicode password and updating# unicodePwd attribute.#pam_password ad# Use the OpenLDAP password change# extended operation to update the password.#pam_password exop# Redirect users to a URL or somesuch on password# changes.#pam_password_prohibit_message Please visit http://internal to change your password.# RFC2307bis naming contexts# Syntax:# nss_base_XXX          base?scope?filter# where scope is {base,one,sub}# and filter is a filter to be &amp;'d with the# default filter.# You can omit the suffix eg:# nss_base_passwd       ou=People,# to append the default base DN but this# may incur a small performance impact.nss_base_passwd         ou=People,dc=csse,dc=uwa,dc=edu,dc=aunss_base_shadow         ou=People,dc=csse,dc=uwa,dc=edu,dc=aunss_base_group          ou=Group,dc=csse,dc=uwa,dc=edu,dc=au#nss_base_hosts         ou=Hosts,dc=example,dc=com?one#nss_base_services      ou=Services,dc=example,dc=com?one#nss_base_networks      ou=Networks,dc=example,dc=com?one#nss_base_protocols     ou=Protocols,dc=example,dc=com?one#nss_base_rpc           ou=Rpc,dc=example,dc=com?one#nss_base_ethers        ou=Ethers,dc=example,dc=com?one#nss_base_netmasks      ou=Networks,dc=example,dc=com?ne#nss_base_bootparams    ou=Ethers,dc=example,dc=com?one#nss_base_aliases       ou=Aliases,dc=example,dc=com?one#nss_base_netgroup      ou=Netgroup,dc=example,dc=com?one# attribute/objectclass mapping# Syntax:#nss_map_attribute      rfc2307attribute        mapped_attribute#nss_map_objectclass    rfc2307objectclass      mapped_objectclass# configure --enable-nds is no longer supported.# NDS mappings#nss_map_attribute uniqueMember member# Services for UNIX 3.5 mappings#nss_map_objectclass posixAccount User#nss_map_objectclass shadowAccount User#nss_map_attribute uid msSFU30Name#nss_map_attribute uniqueMember msSFU30PosixMember#nss_map_attribute userPassword msSFU30Password#nss_map_attribute homeDirectory msSFU30HomeDirectory#nss_map_attribute homeDirectory msSFUHomeDirectory#nss_map_objectclass posixGroup Group#pam_login_attribute msSFU30Name#pam_filter objectclass=User#pam_password ad# configure --enable-mssfu-schema is no longer supported.# Services for UNIX 2.0 mappings#nss_map_objectclass posixAccount User#nss_map_objectclass shadowAccount user#nss_map_attribute uid msSFUName#nss_map_attribute uniqueMember posixMember#nss_map_attribute userPassword msSFUPassword#nss_map_attribute homeDirectory msSFUHomeDirectory#nss_map_attribute shadowLastChange pwdLastSet#nss_map_objectclass posixGroup Group#nss_map_attribute cn msSFUName#pam_login_attribute msSFUName#pam_filter objectclass=User#pam_password ad# RFC 2307 (AD) mappings#nss_map_objectclass posixAccount user#nss_map_objectclass shadowAccount user#nss_map_attribute uid sAMAccountName#nss_map_attribute homeDirectory unixHomeDirectory#nss_map_attribute shadowLastChange pwdLastSet#nss_map_objectclass posixGroup group#nss_map_attribute uniqueMember member#pam_login_attribute sAMAccountName#pam_filter objectclass=User#pam_password ad# configure --enable-authpassword is no longer supported# AuthPassword mappings#nss_map_attribute userPassword authPassword# AIX SecureWay mappings#nss_map_objectclass posixAccount aixAccount#nss_base_passwd ou=aixaccount,?one#nss_map_attribute uid userName#nss_map_attribute gidNumber gid#nss_map_attribute uidNumber uid#nss_map_attribute userPassword passwordChar#nss_map_objectclass posixGroup aixAccessGroup#nss_base_group ou=aixgroup,?one#nss_map_attribute cn groupName#nss_map_attribute uniqueMember member#pam_login_attribute userName#pam_filter objectclass=aixAccount#pam_password clear# Netscape SDK LDAPS#ssl on# Netscape SDK SSL options# sslpath /etc/ssl/certs/cert7.db# OpenLDAP SSL mechanism# start_tls mechanism uses the normal LDAP port, LDAPS typically 636# ssl no# OpenLDAP SSL options# Require and verify server certificate (yes/no)# Default is "no"# tls_checkpeer yes# CA certificates for server certificate verification# At least one of these are required if tls_checkpeer is "yes"# tls_cacertfile /etc/ssl/ca.cert# tls_cacertdir /etc/ssl/certs# Seed the PRNG if /dev/urandom is not provided#tls_randfile /var/run/egd-pool# SSL cipher suite# See man ciphers for syntax# tls_ciphers TLSv1# Client certificate and key# Use these, if your server requires client authentication.#tls_cert#tls_key# Disable SASL security layers. This is needed for AD.#sasl_secprops maxssf=0# Override the default Kerberos ticket cache location.#krb5_ccname FILE:/etc/.ldapcache# SASL mechanism for PAM authentication - use is experimental# at present and does not support password policy control# pam_sasl_mech DIGEST-MD5# tls_cacertdir /etc/openldap/cacerts# pam_password md5# ssl no# tls_cacertdir /etc/openldap/cacerts# ssl start_tls# tls_cacertdir /etc/openldap/cacerts# ssl no# tls_cacertdir /etc/openldap/cacerts    Further Aspects:Automatically Mounting User's Home DirectoryWe need to mount user's home directory when they login to a system and we try to manage our users as roaming users. Install following packages in all of your client system to enable this. Setup your server for NFS ExportsIn the Ubuntu server to which your have install Fedora-ds we need to export users home directories via NFS To install NFS server sudo apt-get install nfs-kernel-serverTo export the file system, setup /etc/exports. sudo vi /etc/exportsAdd the following code segment into the file. /ahome          10.0.0.0/24(rw,sync,root_squash)Export the file system sudo exportfs -arvYour output should look like:  exporting 10.0.0.0/24:/ahomeTo veryfiy nfs exports sudo exportfs -vOutput: /home          10.0.0.0/24(rw,wdelay,root_squash)Setting up clients for NFS and autofsTo install nfs clients and autofs sudo apt-get install autofs nfs-commonSetting autofsCreate auto.ahome file. sudo vi /etc/auto.ahomeAdd the following code segment to this file. *       -fstype=nfs,rw,hard,intr,rsize=2048,wsize=2048,nosuid,nfsvers=3 10.0.0.1:/ahome/&amp;Create a mount point for auto homes sudo mkdir /ahomeAdd auto.home file to /etc/auto.master sudo vi /etc/auto.masterAdd the the following code segment to the above file /ahome       /etc/auto.ahome      --timeout=120Restart autofs sudo /etc/init.d/autofs restartTo test your setup login as fmaster Testing the Client  #getent passwd &lt; The output should show all the users added through the Directory Server Console in the Server side&gt; &lt;br /&gt;Type #id &lt;username&gt; to see if the particular user is being listed.If not,then the correct Client configuration needed to be checked.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;12. Fedora DS SSL Configuration&lt;br /&gt;&lt;br /&gt;Manual Method:&lt;br /&gt; &lt;br /&gt;As I mentioned before, with Fedora Directory Server there are two components the Directory Server (LDAP backend) and Administration Server (remote Administration GUI interface). So we have to generate two sets of certificates one for secure Directory Server LDAP backend and one for the secure Administration Server connections. (You could use one certificate and share it between the two, but if one is compromise so is the other component)&lt;br /&gt; &lt;br /&gt;If you don’t plan to use SSL connections you basically can skip this entire section.&lt;br /&gt; &lt;br /&gt;You need to have openssl packages installed on your system before you can generate a certificate.&lt;br /&gt; &lt;br /&gt;[root@jhett tmp]# rpm -qa |grep –i openssl &lt;br /&gt; &lt;br /&gt;openssl-0.9.7f-7.10&lt;br /&gt;openssl-devel-0.9.7f-7.10&lt;br /&gt;openssl-perl-0.9.7f-7.10&lt;br /&gt; &lt;br /&gt;These are the packages which are installed on my system. Now lets create the secure certificates I’ll create two directories one for Directory Server, and one for the Administration Server.&lt;br /&gt; &lt;br /&gt;mkdir /tmp/ldap (Temp area for creating Directory Server backend certificates)&lt;br /&gt;mkdir /tmp/admingui (Temp area for creating Admin Server certificates)&lt;br /&gt; &lt;br /&gt;cd /tmp/ldap&lt;br /&gt; &lt;br /&gt;Please note I’m only signing the certificates for 365 days, after that it will expire and you have to regenerate the certificates.&lt;br /&gt; &lt;br /&gt;Generate your own Certificate Authority (CA) for LDAP Backend&lt;br /&gt; &lt;br /&gt;[root@jhett ldap]# openssl genrsa -des3 -out ca.key 4096&lt;br /&gt;Generating RSA private key, 4096 bit long modulus&lt;br /&gt;................................................................................................................++&lt;br /&gt;......................................++&lt;br /&gt;e is 65537 (0x10001)&lt;br /&gt;Enter pass phrase for ca.key:dspassword1&lt;br /&gt;Verifying - Enter pass phrase for ca.key: dspassword1 &lt;br /&gt; &lt;br /&gt;[root@jhett ldap]# openssl req -new -x509 -days 365 -key ca.key -out ca.crt&lt;br /&gt;Enter pass phrase for ca.key: (Should be dspassword1)&lt;br /&gt;You are about to be asked to enter information that will be incorporated&lt;br /&gt;into your certificate request.&lt;br /&gt;What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;There are quite a few fields but you can leave some blank&lt;br /&gt;For some fields there will be a default value,&lt;br /&gt;If you enter '.', the field will be left blank.&lt;br /&gt;-----&lt;br /&gt;Country Name (2 letter code) [GB]:au&lt;br /&gt;State or Province Name (full name) [Berkshire]:Western Australia&lt;br /&gt;Locality Name (eg, city) [Newbury]:Perth&lt;br /&gt;Organization Name (eg, company) [My Company Ltd]:UWA-DS&lt;br /&gt;Organizational Unit Name (eg, section) []:CSSE-DS&lt;br /&gt;Common Name (eg, your name or your server's hostname) []:jhett.csse.uwa.edu.au&lt;br /&gt;Email Address []:support@csse.uwa.edu.au&lt;br /&gt; &lt;br /&gt;Now you should of generated Certificate Authority File (ca.crt) and Certificate Authority Key File for LDAP Backend.&lt;br /&gt; &lt;br /&gt;Generate a Server Key and request for Signing&lt;br /&gt;[root@jhett ldap]# openssl genrsa -des3 -out server.key 4096&lt;br /&gt;Generating RSA private key, 4096 bit long modulus&lt;br /&gt;............................................................................................................................................................................................................................++&lt;br /&gt;..................................................................................................++&lt;br /&gt;e is 65537 (0x10001)&lt;br /&gt;Enter pass phrase for server.key: dspassword2&lt;br /&gt;Verifying - Enter pass phrase for server.key: dspassword2&lt;br /&gt;  &lt;br /&gt;[root@jhett admingui]# openssl req -new -x509 -days 365 -key ca.key -out ca.crt&lt;br /&gt;Enter pass phrase for ca.key: (dspassword2)&lt;br /&gt;You are about to be asked to enter information that will be incorporated&lt;br /&gt;into your certificate request.&lt;br /&gt;What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;There are quite a few fields but you can leave some blank&lt;br /&gt;For some fields there will be a default value,&lt;br /&gt;If you enter '.', the field will be left blank.&lt;br /&gt;-----&lt;br /&gt;Country Name (2 letter code) [GB]:au&lt;br /&gt;State or Province Name (full name) [Berkshire]:Western Australia&lt;br /&gt;Locality Name (eg, city) [Newbury]:Perth&lt;br /&gt;Organization Name (eg, company) [My Company Ltd]:UWA-Admin&lt;br /&gt;Organizational Unit Name (eg, section) []:CSSE-Admin&lt;br /&gt;Common Name (eg, your name or your server's hostname) []:jhett.csse.uwa.edu.au&lt;br /&gt;Email Address []:support@csse.uwa.edu.au&lt;br /&gt; &lt;br /&gt;[root@jhett ldap]# openssl req -new -key server.key -out server.csr&lt;br /&gt;Enter pass phrase for server.key: (dspassword2)&lt;br /&gt;You are about to be asked to enter information that will be incorporated&lt;br /&gt;into your certificate request.&lt;br /&gt;What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;There are quite a few fields but you can leave some blank&lt;br /&gt;For some fields there will be a default value,&lt;br /&gt;If you enter '.', the field will be left blank.&lt;br /&gt;-----&lt;br /&gt;Country Name (2 letter code) [GB]:au&lt;br /&gt;State or Province Name (full name) [Berkshire]:Western Australia&lt;br /&gt;Locality Name (eg, city) [Newbury]:Perth&lt;br /&gt;Organization Name (eg, company) [My Company Ltd]:UWA-DS-Server&lt;br /&gt;Organizational Unit Name (eg, section) []:CSSE-DS-Server&lt;br /&gt;Common Name (eg, your name or your server's hostname) []:jhett.csse.uwa.edu.au&lt;br /&gt;Email Address []:support@csse.uwa.edu.au&lt;br /&gt; &lt;br /&gt;Please enter the following 'extra' attributes&lt;br /&gt;to be sent with your certificate request&lt;br /&gt;A challenge password []:&lt;br /&gt;An optional company name []:&lt;br /&gt; &lt;br /&gt;Sign the Certificate signing request that you’ve created with the self signed certificate authority for LDAP Backend.&lt;br /&gt; &lt;br /&gt;[root@jhett ldap]# openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt&lt;br /&gt;Signature ok&lt;br /&gt;subject=/C=au/ST=Western Australia/L=Perth/O=UWA-DS-Server/OU=CSSE-DS-Server/CN=jhett.csse.uwa.edu.au/emailAddress=support@csse.uwa.edu.au&lt;br /&gt;Getting CA Private Key&lt;br /&gt;Enter pass phrase for ca.key: (should be dspassword1)&lt;br /&gt; &lt;br /&gt;That’s all the certificate files you will need for the Directory Server LDAP Backend, now you will need to generate the certificate files for Administration Server which is essentially the same process.&lt;br /&gt; &lt;br /&gt;cd /tmp/admingui&lt;br /&gt;pwd&lt;br /&gt;/tmp/admin/gui&lt;br /&gt; &lt;br /&gt;Generate your own Certificate Authority (CA) for Server Administration&lt;br /&gt; &lt;br /&gt;[root@jhett admingui]# openssl genrsa -des3 -out ca.key 4096&lt;br /&gt;Generating RSA private key, 4096 bit long modulus&lt;br /&gt;......................................................................................++&lt;br /&gt;.....................................................++&lt;br /&gt;e is 65537 (0x10001)&lt;br /&gt;Enter pass phrase for ca.key: adminpassword1&lt;br /&gt;Verifying - Enter pass phrase for ca.key: adminpassword1&lt;br /&gt; &lt;br /&gt;[root@jhett admingui]# openssl genrsa -des3 -out ca.key 4096&lt;br /&gt;Generating RSA private key, 4096 bit long modulus&lt;br /&gt;.............................++&lt;br /&gt;..++&lt;br /&gt;e is 65537 (0x10001)&lt;br /&gt;Enter pass phrase for ca.key:&lt;br /&gt;Verifying - Enter pass phrase for ca.key:&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;[root@jhett admingui]# openssl req -new -x509 -days 365 -key ca.key -out ca.crt &lt;br /&gt;Enter pass phrase for ca.key: (adminpassword1)&lt;br /&gt;You are about to be asked to enter information that will be incorporated&lt;br /&gt;into your certificate request.&lt;br /&gt;What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;There are quite a few fields but you can leave some blank&lt;br /&gt;For some fields there will be a default value,&lt;br /&gt;If you enter '.', the field will be left blank.&lt;br /&gt;-----&lt;br /&gt;Country Name (2 letter code) [GB]:au&lt;br /&gt;State or Province Name (full name) [Berkshire]:Western Australia&lt;br /&gt;Locality Name (eg, city) [Newbury]:Perth&lt;br /&gt;Organization Name (eg, company) [My Company Ltd]:UWA-Admin&lt;br /&gt;Organizational Unit Name (eg, section) []:CSSE-Admin&lt;br /&gt;Common Name (eg, your name or your server's hostname) []:jhett.csse.uwa.edu.au&lt;br /&gt;Email Address []:support@csse.uwa.edu.au&lt;br /&gt;[root@jhett admingui]#&lt;br /&gt; &lt;br /&gt;Now you should of generated Certificate Authority File (ca.crt) and Certificate Authority Key File (ca.key) for Administration Server.&lt;br /&gt; &lt;br /&gt;Generate a Server Key and request for Signing&lt;br /&gt; &lt;br /&gt;[root@jhett admingui]# openssl genrsa -des3 -out server.key 4096&lt;br /&gt;Generating RSA private key, 4096 bit long modulus&lt;br /&gt;.......++&lt;br /&gt;....................................................++&lt;br /&gt;e is 65537 (0x10001)&lt;br /&gt;Enter pass phrase for server.key: (adminpassword2)&lt;br /&gt;Verifying - Enter pass phrase for server.key: (adminpassword2) &lt;br /&gt; &lt;br /&gt;[root@jhett admingui]# openssl req -new -key server.key -out server.csr&lt;br /&gt;Enter pass phrase for server.key: (adminpassword2)&lt;br /&gt;You are about to be asked to enter information that will be incorporated&lt;br /&gt;into your certificate request.&lt;br /&gt;What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;There are quite a few fields but you can leave some blank&lt;br /&gt;For some fields there will be a default value,&lt;br /&gt;If you enter '.', the field will be left blank.&lt;br /&gt;-----&lt;br /&gt;Country Name (2 letter code) [GB]:au&lt;br /&gt;State or Province Name (full name) [Berkshire]:Western Australia&lt;br /&gt;Locality Name (eg, city) [Newbury]:Perth&lt;br /&gt;Organization Name (eg, company) [My Company Ltd]:UWA-Admin-Server&lt;br /&gt;Organizational Unit Name (eg, section) []:CSSE-Admin-Server&lt;br /&gt;Common Name (eg, your name or your server's hostname) []:jhett.csse.uwa.edu.au&lt;br /&gt;Email Address []:support@csse.uwa.edu.au&lt;br /&gt; &lt;br /&gt;Please enter the following 'extra' attributes&lt;br /&gt;to be sent with your certificate request&lt;br /&gt;A challenge password []:&lt;br /&gt;An optional company name []:&lt;br /&gt; &lt;br /&gt;Sign the Certificate signing request that you’ve created with the self signed certificate authority for Administration Server.&lt;br /&gt; &lt;br /&gt;[root@jhett admingui]# openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt&lt;br /&gt;Signature ok&lt;br /&gt;subject=/C=au/ST=Western Australia/L=Perth/O=UWA-Admin-Server/OU=CSSE-Admin-Server/CN=jhett.csse.uwa.edu.au/emailAddress=support@csse.uwa.edu.au&lt;br /&gt;Getting CA Private Key&lt;br /&gt;Enter pass phrase for ca.key: (adminpassword1)&lt;br /&gt; &lt;br /&gt;Now we have basically generated two sets of self signed SSL certificates, one for Directory Server and the other for Administration Server. But these certificates needs to be converted to pkcs12 format for it to be used in the Fedora Directory Server. So we have to convert both sets to pkcs12 which then we can proceed to install the Fedora Directory Server.&lt;br /&gt;  &lt;br /&gt;[root@jhett ldap]# pwd&lt;br /&gt;/tmp/ldap&lt;br /&gt;[root@jhett ldap]# openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name "DS-Server-Cert"&lt;br /&gt;Enter pass phrase for server.key: (dspassword2)&lt;br /&gt;Enter Export Password: (dspassword3)&lt;br /&gt;Verifying - Enter Export Password: (dspassword3)&lt;br /&gt; &lt;br /&gt;[root@jhett ldap]# pwd&lt;br /&gt;[root@jhett ldap]# openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.p12 -name "DS-Cert"&lt;br /&gt;Enter pass phrase for ca.key: (dspassword1)&lt;br /&gt;Enter Export Password: (dspassword4)&lt;br /&gt;Verifying - Enter Export Password: (dspassword4)&lt;br /&gt; &lt;br /&gt;And similarly for Administration Server&lt;br /&gt; &lt;br /&gt;[root@jhett admingui]# pwd&lt;br /&gt;/tmp/admingui&lt;br /&gt;[root@jhett admingui]# openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name "Admin-Server-Cert"&lt;br /&gt;Enter pass phrase for server.key: (adminpassword2)&lt;br /&gt;Enter Export Password: (adminpassword3)&lt;br /&gt;Verifying - Enter Export Password: (adminpassword3)&lt;br /&gt; &lt;br /&gt;[root@jhett admingui]# openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.p12 -name "Admin-Cert"&lt;br /&gt;Enter pass phrase for ca.key: (adminpassword1)&lt;br /&gt;Enter Export Password: (adminpassword4)&lt;br /&gt;Verifying - Enter Export Password: (adminpassword4)&lt;br /&gt; &lt;br /&gt;Now basically you have your files in pkcs12 format which essentially contains the key and certificate in one file. Now don’t forget the export password or it will be next to useless. Now we can proceed to do Fedora Directory Server Installation &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 2 – Fedora Management Console &lt;br /&gt; &lt;br /&gt;2.4 Importing SSL Certificates into Fedora Directory Server &lt;br /&gt; &lt;br /&gt;Notice its states it not running Secure Connection, and its just allows the normal non-secure LDAP connection though default port of 389, normally secure LDAP connections are though port 636. &lt;br /&gt; &lt;br /&gt;Now we are going to enable the SSL connections but to this, we have to import the SSL certificates for both Directory Server and Administration Server. Close the Fedora Management Console for now.&lt;br /&gt; &lt;br /&gt;Basically there are two set of Database files which store the SSL certificate, one for Directory Server and one for the Administration Server. These database file are usually stored in /opt/fedora-ds/alias ie&lt;br /&gt; &lt;br /&gt;[root@jhett alias]# pwd&lt;br /&gt;/opt/fedora-ds/alias&lt;br /&gt;[root@jhett alias]# ls -al&lt;br /&gt;total 344&lt;br /&gt;drwxr-xr-x   2 nobody nobody   4096 Jul 12 10:56 .&lt;br /&gt;drwxr-xr-x  15 root   root     4096 Jul 12 10:56 ..&lt;br /&gt;-rwxr-xr-x   1 root   nobody 235936 Mar  2 03:58 libnssckbi.so&lt;br /&gt;-rw-------   1 nobody nobody  16384 Jul 12 10:56 secmod.db&lt;br /&gt;-rw-------   1 nobody nobody  65536 Jul 12 10:56 slapd-jhett-cert8.db&lt;br /&gt;-rw-------   1 nobody nobody  16384 Jul 12 10:56 slapd-jhett-key3.db&lt;br /&gt;[root@jhett alias]#&lt;br /&gt; &lt;br /&gt;As you can see only the LDAP backend slapd database file are initialise by default, for my piece of mind I usually re-initialise the db files for Directory and Administration Server.&lt;br /&gt; &lt;br /&gt;Delete the LDAP backend database files and re-initialise them ie&lt;br /&gt; &lt;br /&gt;[root@jhett alias]# cd /opt/fedora-ds/alias/&lt;br /&gt;[root@jhett alias]# rm -rf *.db&lt;br /&gt;[root@jhett alias]# ls -al&lt;br /&gt;total 244&lt;br /&gt;drwxr-xr-x   2 nobody nobody   4096 Jul 12 11:49 .&lt;br /&gt;drwxr-xr-x  15 root   root     4096 Jul 12 10:56 ..&lt;br /&gt;-rwxr-xr-x   1 root   nobody 235936 Mar  2 03:58 libnssckbi.so&lt;br /&gt; &lt;br /&gt;Now I’ve delete it, run the startconsole command again from earlier, which you should see this again as show in Figure 3.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 3 – Fedora Management Console&lt;br /&gt; &lt;br /&gt;Under the domain, then your Directory Server machine, then server group there is a link for Administration Server. Double Click on Administration Server, it will bring you a new window such as that in Figure 4.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 4 – Administration Server&lt;br /&gt; &lt;br /&gt;Now to initialise the Admin Server Certificates database, click on console -&gt; security -&gt; Manager Certificates, it will then prompt you for a password to set for access the certificate (adminserverpw1),  it should create a new database certificate set for Administration Server and it should be empty for Server Certs, Revoked Certs but there are some default Certificate Authorities for CA Certs. Close that Windows, and close the Administration Window. &lt;br /&gt; &lt;br /&gt;Now similarly for the Directory Server on the Fedora Directory Management Console, double click on the Directory Server (Under the domain, then your Directory Server machine, then server group there is a link for Directory Server) which should look like in Figure 5. &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 5 – Directory Server&lt;br /&gt; &lt;br /&gt;To initialise the Directory Server Certificates database, click on console -&gt; security -&gt; Manager Certificates, it will then prompt you for a password to set for access the certificate (directoryserverpw1),  it should create a new database certificate set for Directory Server and it should be empty for Server Certs, Revoked Certs but there are some default Certificate Authorities for CA Certs just like the Administration. Close that Windows, and close the Directory Server Window.&lt;br /&gt; &lt;br /&gt;You can verify that the Certificate Database has been created by going to the /opt/fedora-ds/alias. As you can see, before there was only one file now its populated with several .db files for the Directory Server Components ie.&lt;br /&gt; &lt;br /&gt;[root@jhett alias]# cd /opt/fedora-ds/alias&lt;br /&gt;[root@jhett alias]# pwd&lt;br /&gt;/opt/fedora-ds/alias&lt;br /&gt;[root@jhett alias]# ls -al&lt;br /&gt;total 428&lt;br /&gt;drwxr-xr-x   2 nobody nobody   4096 Jul 12 13:26 .&lt;br /&gt;drwxr-xr-x  15 root   root     4096 Jul 12 10:56 ..&lt;br /&gt;-rw-------   1 nobody nobody  65536 Jul 12 12:06 admin-serv-jhett-cert8.db&lt;br /&gt;-rw-------   1 nobody nobody  16384 Jul 12 12:11 admin-serv-jhett-key3.db&lt;br /&gt;-rwxr-xr-x   1 root   nobody 235936 Mar  2 03:58 libnssckbi.so&lt;br /&gt;-rw-------   1 nobody nobody  16384 Jul 12 12:06 secmod.db&lt;br /&gt;-rw-------   1 nobody nobody  65536 Jul 12 13:26 slapd-jhett-cert8.db&lt;br /&gt;-rw-------   1 nobody nobody  16384 Jul 12 13:30 slapd-jhett-key3.db&lt;br /&gt;[root@jhett alias]#&lt;br /&gt; &lt;br /&gt;Directory Server comprises of slapd-jhett-cert8.db and slapd-jhett-key3.db, where Admin Server comprises of admin-serv-jhett-cert8.db and admin-serv-jhett-key3.db.&lt;br /&gt; &lt;br /&gt;Now we have to import Secure Certificates we created earlier, we will import pkcs12 format of keys into database base file fro Directory Server and Admin Server by using the pk12util provided by the Fedora Directory Server.&lt;br /&gt; &lt;br /&gt;The general command layout is shown below.&lt;br /&gt; &lt;br /&gt;root@jhett bin]# pwd&lt;br /&gt;/opt/fedora-ds/shared/bin&lt;br /&gt;[root@jhett bin]# ./pk12util&lt;br /&gt;Usage:   pk12util-bin -i importfile [-d certdir] [-P dbprefix] [-h tokenname]&lt;br /&gt;                 [-k slotpwfile | -K slotpw] [-w p12filepwfile | -W p12filepw]&lt;br /&gt;                 [-v]&lt;br /&gt;Usage:   pk12util-bin -l listfile [-d certdir] [-P dbprefix] [-h tokenname]&lt;br /&gt;                 [-k slotpwfile | -K slotpw] [-w p12filepwfile | -W p12filepw]&lt;br /&gt;Usage:   pk12util-bin -o exportfile -n certname [-d certdir] [-P dbprefix]&lt;br /&gt;                 [-k slotpwfile | -K slotpw] [-w p12filepwfile | -W p12filepw]&lt;br /&gt;                 [-v]  &lt;br /&gt;&lt;br /&gt;(Note the relatively where you execute the command when using the –d switch and check the prefix name of the db files when using the –p switch) &lt;br /&gt; &lt;br /&gt;Now I’m going to insert the pkcs12 converted keys we generated earlier for Directory Server and Administration Server both into Certificate Database for Admin Server and Directory Server ie (Noticed that the files created are associated with your hostname of your machine so change it appropriately)&lt;br /&gt; &lt;br /&gt;[root@jhett fedora-ds]# cd /opt/fedora-ds&lt;br /&gt;[root@jhett fedora-ds]# pwd&lt;br /&gt;/opt/fedora-ds&lt;br /&gt; [root@jhett fedora-ds]# /opt/fedora-ds/shared/bin/pk12util -i /tmp/ldap/server.p12 -d alias -P admin-serv-jhett-&lt;br /&gt;Enter Password or Pin for "NSS Certificate DB": (adminserverpw1)&lt;br /&gt;Enter password for PKCS12 file: (dspassword4)&lt;br /&gt;pk12util-bin: PKCS12 IMPORT SUCCESSFUL&lt;br /&gt; &lt;br /&gt;[root@jhett fedora-ds]# /opt/fedora-ds/shared/bin/pk12util -i /tmp/admingui/server.p12 -d alias -P admin-serv-jhett-&lt;br /&gt;Enter Password or Pin for "NSS Certificate DB": (adminserverpw1)&lt;br /&gt;Enter password for PKCS12 file: (adminpassword4)&lt;br /&gt;pk12util-bin: PKCS12 IMPORT SUCCESSFUL&lt;br /&gt; &lt;br /&gt;[root@jhett fedora-ds]# /opt/fedora-ds/shared/bin/pk12util -i /tmp/admingui/server.p12 -d alias -P slapd-jhett-&lt;br /&gt;Enter Password or Pin for "NSS Certificate DB": (directoryserverpw1)  &lt;br /&gt;Enter password for PKCS12 file: (adminpassword4)&lt;br /&gt;pk12util-bin: PKCS12 IMPORT SUCCESSFUL&lt;br /&gt; &lt;br /&gt;[root@jhett fedora-ds]# /opt/fedora-ds/shared/bin/pk12util -i /tmp/ldap/server.p12 -d alias -P slapd-jhett-&lt;br /&gt;Enter Password or Pin for "NSS Certificate DB": (directoryserverpw1)&lt;br /&gt;Enter password for PKCS12 file: (dspassword4)&lt;br /&gt;pk12util-bin: PKCS12 IMPORT SUCCESSFUL&lt;br /&gt; &lt;br /&gt;Now lets verify if the Certificate is imported, relaunch the console by running the startconsole command again.&lt;br /&gt; &lt;br /&gt;Check the Administration Server, double click on it and then again click&lt;br /&gt;console -&gt; security -&gt; Manager Certificates which again should be similar to Figure 6.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 6 – Admin Server Certificate Manager&lt;br /&gt; &lt;br /&gt;As you can see the Certificates we created earlier is imported into the Certificate Manager for Administration Server.&lt;br /&gt; &lt;br /&gt;Now let us check the Directory Server, double click on it and then again click&lt;br /&gt;console -&gt; security -&gt; Manager Certificates which you can see in Figure 7.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 7 - Directory Server Certificate Manager&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;As you can see the Certificates we created earlier, is imported into the Certificate Manager for Directory Server.&lt;br /&gt;Now although the certificate is imported they are not valid, so the Directory Server will not use it. You can verify the certificate is not valid on either the Directory Server or Admin Server by doing this.&lt;br /&gt; &lt;br /&gt;Lets check the Directory Server, double click on it and then again click&lt;br /&gt;console -&gt; security -&gt; Manager Certificates&lt;br /&gt; &lt;br /&gt;or similarly &lt;br /&gt; &lt;br /&gt;Lets check the Administration Server, double click on it and then again click&lt;br /&gt;console-&gt;security-&gt;Manager Certificates&lt;br /&gt; &lt;br /&gt;But if you look at the Server Certs, and click on any of the imported certificates you created, click detail. Now if you click under general, you will see that the certificate is has not been verified for any type of use and if you click on Certification Path, you will see it says “BROKEN_CERTIFICATE_CHAIN” as in Figure 8.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 8 – NonValid Certificates&lt;br /&gt; &lt;br /&gt;Now we have to make the Certificates we imported for the Directory Server and Administration Server valid. To do this all we have to import the Certificate Authority we created earlier for the two sets of certificates for Directory Server and Administration Server.&lt;br /&gt; &lt;br /&gt;Lets make the Certificates imported into the Administration Server valid. To do this we run the startconsole and double click on the Administration Server, bringing up a new window. Click console -&gt; Security -&gt; Manage certificates.&lt;br /&gt; &lt;br /&gt;Then click on CA Certs, and click install, you should see something similar to this in Figure 9.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 9 – Step 1 of 4 Certificate Location&lt;br /&gt; &lt;br /&gt;To make the Secure Certificates set generated for the Directory Server valid(Was generated/stored in /tmp/ldap), we need to install the Certificate Authority (/tmp/ldap/ca.crt) file that we generated for that set. Similary for the Secure Certificate set generated for the Administration Server (generated/stored in /tmp/admingui/ca.crt) we need to install the Certificate Authority (/tmp/admingui/ca.crt) to make that set valid.&lt;br /&gt; &lt;br /&gt;In saying that, later we need to install the certificates for the Directory Server Set sy repeating the process of installing, by pointing the Certificate location for /tmp/ldap/ca.crt.&lt;br /&gt; &lt;br /&gt;Now as we click next, you should see Figure 10.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 10 - Step 2 of 4 Certificate Information  &lt;br /&gt; &lt;br /&gt;We click next again, you should see this in Figure 11&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 11 - Step 3 of 4 Certificate Install Wizard&lt;br /&gt; &lt;br /&gt;Finally the last step, we click next and you should see this as in Figure 12.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 12 - Step 4 of 4 Intended Purpose&lt;br /&gt; &lt;br /&gt;Make sure you have both options ticked for Client Authentication and Server Authentication. (We can always un-tick it later), then click done. You should now see your CA certificate that you have imported appear under “CA Certs” tab.&lt;br /&gt; &lt;br /&gt;Now if I click details on any Certificate Authority files we imported, you will see that it has all the details we put earlier when we generated the Certificates. &lt;br /&gt; &lt;br /&gt;Now as you can see in Figure 13, in this particular case we are examining the Certificate Authority for Secure Certificate set of the Directory Server.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 13 – Directory Server Certificate Authority File “Detail” tab&lt;br /&gt; &lt;br /&gt;Now if we clicked on the “Server Certs” tab and re-examine the Server Cert generated for the Directory Server Set which is called DS-Server-Cert and click on detail and select the general tab. We can see now that the certificate is valid for SSL Server and Client use where as before it was not valid for any use as in Figure 14.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 14 – Directory Server Certificate “General” tab&lt;br /&gt; &lt;br /&gt;Similarly if we click on the Certification path it is no longer has a broken certificate chain as in Figure 15.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 15 – Directory Server Certificate “Certification Path” tab&lt;br /&gt;&lt;br /&gt;Now you have to repeat this process to import the Certificate Authority to make the existing SSL certificates imported into the Directory Server / Admin Server valid this is dependent on which Certificate Authority file was signed off with.&lt;br /&gt; &lt;br /&gt;Ie import&lt;br /&gt; &lt;br /&gt;/tmp/ldap/ca.crt. -&gt; Import in to Directory Server&lt;br /&gt;/tmp/ldap/ca.crt. -&gt; Import in to Administration Server&lt;br /&gt;/tmp/admingui/ca.crt. -&gt; Import in to Directory Server&lt;br /&gt;/tmp/admingui/ca.crt. -&gt; Import in to Administration Server&lt;br /&gt; &lt;br /&gt;Now once you’ve imported , verify that the Certificates in your Server Certificate for Directory Server and Administration Server are valid. Once you have done that, I would recommend again you to do a backup of it.&lt;br /&gt; &lt;br /&gt;tar cpfz /opt/fedora-ds.backup.sslimported.tgz /opt/fedora-ds&lt;br /&gt; &lt;br /&gt;This is important, as if you screw up configuring the SSL, it may fail to come up. You can always restore it instead of redoing the steps from the instructions prior.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;2.5 Configuring SSL on the Fedora Directory Server &lt;br /&gt; &lt;br /&gt;Now we are going to configure SSL for the Directory Server and Administration Server, lets enable the SSL encryption connection for the Administration Server.&lt;br /&gt; &lt;br /&gt;At the Fedora Management Console, double click on the Administration Server, click on configuration tab, then select encryption. Check the box for “Enable SSL for this server”, check the box “use the cipher family: RSA,” then pick the appropriate Certificate to use for encryption. In this case since it is the Administration Server, we should pick Admin-Server-Cert such as in Figure 16.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 16 – Administration Server “Encryption” Tab&lt;br /&gt; &lt;br /&gt;Similarly for the Directory Server, double click on the Directory Server at the Fedora Management Console, click on configuration tab, then select encryption. Check the box for “Enable SSL for this server”, check the box “use the cipher family: RSA”, then pick the appropriate Certificate to use for encryption which is DS-Server-Cert as show below&lt;br /&gt;in Figure 17.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 17 – Directory Server Encryption Settings&lt;br /&gt; &lt;br /&gt;Once you’ve done that, the Directory Server indicates now LDAP connections on port 389 and LDAPs (Secure LDAP) connections on port 636.&lt;br /&gt; &lt;br /&gt;Now we have enabled the encryption for the Directory Server and the Administration Server. We have to restart the service for both of them to enable the secure SSL connections.&lt;br /&gt; &lt;br /&gt;/opt/fedora-ds/slapd-jhett/restart-slapd (To restart Directory Server)&lt;br /&gt;/opt/fedora-ds/restart-admin (To restart Administration Server Server)&lt;br /&gt; &lt;br /&gt;Now you would of noticed if you ever restarted the Directory and Administration Server any point in time prior to the SSL being enabled, you would not of been asked a password. After SSL is enabled to start and restart the service you need to enter the password to access the keys which you’ve imported previously ie adminserverpw1 for Administration Server and directoryserverpw1 for the Directory Server.&lt;br /&gt; &lt;br /&gt;After restarting the services, the Administration Server, now can be bound via SSL connections and the LDAP can be connected via normal LDAP and Secure LDAP connections. &lt;br /&gt; &lt;br /&gt;But currently the Administration Server is binding to the Directory Server via LDAP and not LDAPs. Now we have to rebind the Administration Server via LDAPs to the Directory Server. &lt;br /&gt; &lt;br /&gt;Note when you run startconsole, because now you have made the Administration Server use SSL, you have to change the administration URL from http to https such as shown in Figure 18 to successfully login.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 18 – Fedora Management Console Login via HTTPs&lt;br /&gt;  &lt;br /&gt;In the Fedora Management Console, double click on the Administration Server, now click on the configuration tab of the Administration Server, then select User DS tab, then configure the user DS.&lt;br /&gt; &lt;br /&gt;LDAP Host and port: jhett.csse.uwa.edu.au:636&lt;br /&gt;Enable Secure Connection&lt;br /&gt;User Directory Subtree: dc=csse,dc=uwa,dc=edu,dc=au&lt;br /&gt;Bind DN: cn=Directory Manager (Administrator Account used to change details)&lt;br /&gt;Bind Password: XXXXXXXX&lt;br /&gt; &lt;br /&gt;As shown in Figure 19&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 19 – Administration Server “User DS” configeration&lt;br /&gt; &lt;br /&gt;Now basically save it quit the Administration Server, and quit Directory Server (If opened) and the Fedora Management console. Now again we have to restart the Admin Server.&lt;br /&gt; &lt;br /&gt;/opt/fedora-ds/restart-admin (Enter your password to access its secure certificates), verify its still working ie by running the startconsole command and try logging in which should work.&lt;br /&gt; &lt;br /&gt;Note that you only have a partial SSL connection between the Administration Server and the Directory Server. Now at the Fedora Console Management, run the Administration Server, click on the configuration tab then the configuration DS. Enable the Secure Connection which should swap it from port 389 to 636 and click save. Again quit the Administration Server, Directory Server (If opened) and the Fedora Management console and restart the Admin Server.&lt;br /&gt; &lt;br /&gt;/opt/fedora-ds/restart-admin&lt;br /&gt; &lt;br /&gt;Again run the startconsole command, if you check the configuration tabs for the administration server all options are checked for SSL its binding via LDAPs.&lt;br /&gt; &lt;br /&gt;That’s Basically it, to installing and configuring a Fedora Directory LDAP server for LDAP and LDAPs connections.&lt;br /&gt; &lt;br /&gt;2.6) Fedora Directory Server - Points of Interest &amp; Bugs&lt;br /&gt; &lt;br /&gt;Now if you have an Fedora Directory Server working normally via LDAP but as soon as you switch to bind via LDAPs and fails it was a bug with Fedora Directory Server, but it should have been rectified see this.&lt;br /&gt; &lt;br /&gt;https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=175170&lt;br /&gt; &lt;br /&gt;Before you starting creating users, groups etc in your LDAP directory it’s a good idea to take a backup of it. As I’ve mentioned several times over, the Fedora Directory Server is self contained all you have to do is take a copy of the Directory /opt/fedora-ds ie such as creating a tar ball. All you have to do is basically stop the Directoy Server/ Administarion Server delete /opt/fedora-ds and untar the backup.&lt;br /&gt; &lt;br /&gt;If you have problems don’t be afraid to check the logs. The Directory Server stores its logs /opt/fedora-ds/slapd-jhett/logs (Relative to your machine hostname). Ie if I wanted to see if the Directory Server is accepting both LDAP and LDAPs connection.&lt;br /&gt; &lt;br /&gt;[root@jhett logs]# pwd&lt;br /&gt;/opt/fedora-ds/slapd-jhett/logs&lt;br /&gt;[root@jhett logs]# cat errors&lt;br /&gt;        Fedora-Directory/1.0.2 B2006.060.1951&lt;br /&gt;        jhett.csse.uwa.edu.au:636 (/opt/fedora-ds/slapd-jhett)&lt;br /&gt; &lt;br /&gt;[14/Jul/2006:11:23:13 +0800] - Fedora-Directory/1.0.2 B2006.060.1951 starting up&lt;br /&gt;[14/Jul/2006:11:23:15 +0800] - slapd started.  Listening on All Interfaces port 389 for LDAP requests&lt;br /&gt;[14/Jul/2006:11:23:15 +0800] - Listening on All Interfaces port 636 for LDAPS requests&lt;br /&gt; &lt;br /&gt;As you can see its binded to port 636 for LDAPs and 389 for LDAP connection etc. Similarly for Administration Server logs are keep in /opt/fedora-ds/admin-server/logs.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;3.1 Configuring Password Policy &lt;br /&gt;The common password format that works on all platforms is common crypt hash method, so before creating users on the system. I would force all users password to be stored in the crypt format thus if the machine be it linux / unix, windows or a Mac OSX binded to the LDAP directory the authentication will work.&lt;br /&gt; &lt;br /&gt;And doing this even older machines ie such as Unix variants like Tru64 which does not support LDAP you can generate a NIS mappings from your LDAP server and bind it via NIS (Known as YP or formerly Yellow Pages).&lt;br /&gt; &lt;br /&gt;To do this run, the Fedora Management Console, Launch the Directory Server. What we are going to do is set a Managed Password Policy for all Users in the LDAP Directory.&lt;br /&gt; &lt;br /&gt;Now Click on the Directory tab, expand config, right click on plugins and select managed Password Policy and select For User which you should see something like this as show in Figure 20.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 20 – Directory Server “User Password Policy”&lt;br /&gt; &lt;br /&gt;Under the Passwords Tab, enable Create user level password policy. The one I’m most interested in is the Password Syntax. Enable the Check password syntax and for the encryption method select Unix crypt algorithm (CRYPT) and click save. You might want to change the Password syntax like character length, its also worth taking a look at account lockout if you want to lock accounts out if there is to many bad attempts.&lt;br /&gt;From now on all accounts password will be stored in the Directory Server as a CRYPT format.&lt;br /&gt; &lt;br /&gt;3.2 Binding Linux/Unix Machines to LDAP&lt;br /&gt; &lt;br /&gt;The client system I’m using to bind to the LDAP directory is Fedora Core 4 system. Which is pretty straight forward, if you want to bind just via LDAP. Run the command setup and select Authentication configuration such as shown below in Figure 21&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 21 – Fedora Setup tools&lt;br /&gt; &lt;br /&gt;Now you will be prompted now for how it will Authenticate, which you choose LDAP, Authentication all you really need is “Use LDAP authentication”, but I also have local users on the machine which use MD5 Passwords and Shadow passwords so I check those as well as shown in Figure 22.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;Figure 22 – Authentication Configuration&lt;br /&gt; &lt;br /&gt;Now it will ask you details about your LDAP Server settings. In my example the server is jhett.csse.uwa.edu.au and the Base DN is dc=csse,dc=uwa,dc=edu,dc=au&lt;br /&gt;You only tick TLS if you have SSL enabled on your server as shown in figure 23(We are not  enabling the LDAP connection for the moment, LDAPs involves more work which requires manual intervention)&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Figure 23 – LDAP Settings&lt;br /&gt; &lt;br /&gt;If you unchecked TLS that’s fine. Your machine will only connect via normal LDAP connections and not LDAPs. &lt;br /&gt; &lt;br /&gt;Else if you’ve checked TLS you will need to do further configuration to enable it to connect via LDAPs which are not enabled in the RedHat menu configuration which you have to do manually.&lt;br /&gt; &lt;br /&gt;You probably asked what happens if I’m not using a RedHat Enterprise or RedHat Fedora Core distribution so I don’t have the authentification menu to do my configurations. &lt;br /&gt; &lt;br /&gt;That’s okay read the next section which will detail what configurations files are modified to get LDAPs working which incidently tell you also what files to modify to get LDAP working as well. &lt;br /&gt; &lt;br /&gt;This should work just about on any Linux/Unix configurations as the authentication menu will only really do the basic things, the more complex LDAPs requires all user to manually configure it.&lt;br /&gt; &lt;br /&gt;3.3 Binding Linux/Unix Machines to LDAPs&lt;br /&gt; &lt;br /&gt;First of all for your client LDAP machine to connect via LDAPs you need to have the Certificate Authority file installed on your client which was generated for the Directory Server to allow it to recognize that the SSL connection is valid.&lt;br /&gt; &lt;br /&gt;So on your client lets you have to copy the file /tmp/ldap/ca.crt on the Fedora Direcotry server in my case the machine as called jhett.csse.uwa.edu.au . I’ll copy ca.crt onto my local machine into /etc/cert/ca.crt.&lt;br /&gt; &lt;br /&gt;Now we have the Certificate Authority file stored locally on the client machine, now we have to tell the machine to use LDAP.&lt;br /&gt; &lt;br /&gt;Previously you saw me using the setup then running the authentification menu to configure for LDAP. One of the files that authentification GUI menu edits for you is /etc/nsswitch.conf which governs several things one is the authentification lookup method, the field headings in this file is password, shadow and group. &lt;br /&gt;For those who don’t have that GUI edit this file and change the field for password, shadow and group. You can also incorporate over services lookup from LDAP but that’s another story for another day.&lt;br /&gt; &lt;br /&gt; [root@jhett etc]# pwd&lt;br /&gt;/etc&lt;br /&gt;[root@jhett etc]# cat nsswitch.conf&lt;br /&gt;#&lt;br /&gt;# /etc/nsswitch.conf&lt;br /&gt;#&lt;br /&gt;# An example Name Service Switch config file. This file should be&lt;br /&gt;# sorted with the most-used services at the beginning.&lt;br /&gt;#&lt;br /&gt;# The entry '[NOTFOUND=return]' means that the search for an&lt;br /&gt;# entry should stop if the search in the previous entry turned&lt;br /&gt;# up nothing. Note that if the search failed due to some other reason&lt;br /&gt;# (like no NIS server responding) then the search continues with the&lt;br /&gt;# next entry.&lt;br /&gt;#&lt;br /&gt;# Legal entries are:&lt;br /&gt;#&lt;br /&gt;#       nisplus or nis+         Use NIS+ (NIS version 3)&lt;br /&gt;#       nis or yp               Use NIS (NIS version 2), also called YP&lt;br /&gt;#       dns                     Use DNS (Domain Name Service)&lt;br /&gt;#       files                   Use the local files&lt;br /&gt;#       db                      Use the local database (.db) files&lt;br /&gt;#       compat                  Use NIS on compat mode&lt;br /&gt;#       hesiod                  Use Hesiod for user lookups&lt;br /&gt;#       [NOTFOUND=return]       Stop searching if not found so far&lt;br /&gt;#&lt;br /&gt; &lt;br /&gt;# To use db, put the "db" in front of "files" for entries you want to be&lt;br /&gt;# looked up first in the databases&lt;br /&gt;#&lt;br /&gt;# Example:&lt;br /&gt;#passwd:    db files nisplus nis&lt;br /&gt;#shadow:    db files nisplus nis&lt;br /&gt;#group:     db files nisplus nis&lt;br /&gt; &lt;br /&gt;passwd:     files ldap&lt;br /&gt;shadow:     files ldap&lt;br /&gt;group:      files ldap&lt;br /&gt; &lt;br /&gt;#hosts:     db files nisplus nis dns&lt;br /&gt;hosts:      files dns&lt;br /&gt; &lt;br /&gt;# Example - obey only what nisplus tells us...&lt;br /&gt;#services:   nisplus [NOTFOUND=return] files&lt;br /&gt;#networks:   nisplus [NOTFOUND=return] files&lt;br /&gt;#protocols:  nisplus [NOTFOUND=return] files&lt;br /&gt;#rpc:        nisplus [NOTFOUND=return] files&lt;br /&gt;#ethers:     nisplus [NOTFOUND=return] files&lt;br /&gt;#netmasks:   nisplus [NOTFOUND=return] files&lt;br /&gt; &lt;br /&gt;#bootparams: nisplus [NOTFOUND=return] files&lt;br /&gt; &lt;br /&gt;ethers:     files&lt;br /&gt;netmasks:   files&lt;br /&gt;networks:   files&lt;br /&gt;protocols:  files ldap&lt;br /&gt;rpc:        files&lt;br /&gt;services:   files ldap&lt;br /&gt; &lt;br /&gt;netgroup:   files ldap&lt;br /&gt; &lt;br /&gt;#publickey:  nisplus&lt;br /&gt; &lt;br /&gt;automount:  files ldap&lt;br /&gt;aliases:    files nis&lt;br /&gt; &lt;br /&gt;Editing nsswitch.conf now tell your machine to use LDAP after it fails the local user accounts on the local machine. But you still have to tell the LDAP machine where to use SSL certificates and which LDAP server etc. The other file which the authentification GUI edit is /etc/ldap.conf (Some distribution store it in /etc/openldap/ldap.comf but neverless you just need to locate it and edit it)&lt;br /&gt; &lt;br /&gt;The fields that we are interested in are host, base, nss_base_passwd, nss_base_shadow, nss_base_group, tls_cacertfile, tls_cacertdir and ssl which are in bold as indicated below.&lt;br /&gt;The mapping between for nss_base_passwd, nss_base_shadow and nss_base_group shown in my configuration file are the default Fedora Directory Schema, you can remap them accordingly if you choose to change the schema along with other values you place in your LDAP.&lt;br /&gt; &lt;br /&gt;[root@jhett etc]# cd /etc&lt;br /&gt;[root@jhett etc]# pwd&lt;br /&gt;/etc&lt;br /&gt;[root@jhett etc]# cat ldap.conf&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;# @(#)$Id: ldap.conf,v 1.34 2004/09/16 23:32:02 lukeh Exp $&lt;br /&gt;#&lt;br /&gt;# This is the configuration file for the LDAP nameservice&lt;br /&gt;# switch library and the LDAP PAM module.&lt;br /&gt;#&lt;br /&gt;# PADL Software&lt;br /&gt;# http://www.padl.com&lt;br /&gt;#&lt;br /&gt; &lt;br /&gt;# Your LDAP server. Must be resolvable without using LDAP.&lt;br /&gt;# Multiple hosts may be specified, each separated by a &lt;br /&gt;# space. How long nss_ldap takes to failover depends on&lt;br /&gt;# whether your LDAP client library supports configurable&lt;br /&gt;# network or connect timeouts (see bind_timelimit).&lt;br /&gt;host pe.im.logica.com&lt;br /&gt; &lt;br /&gt;# The distinguished name of the search base.&lt;br /&gt;base dc=pe,dc=im,dc=logica,dc=com&lt;br /&gt;# Another way to specify your LDAP server is to provide an&lt;br /&gt;# uri with the server name. This allows to use&lt;br /&gt;# Unix Domain Sockets to connect to a local LDAP Server.&lt;br /&gt;#uri ldap://127.0.0.1/&lt;br /&gt;#uri ldaps://127.0.0.1/   &lt;br /&gt;#uri ldapi://%2fvar%2frun%2fldapi_sock/&lt;br /&gt;# Note: %2f encodes the '/' used as directory separator&lt;br /&gt; &lt;br /&gt;# The LDAP version to use (defaults to 3&lt;br /&gt;# if supported by client library)&lt;br /&gt;#ldap_version 3&lt;br /&gt; &lt;br /&gt;# The distinguished name to bind to the server with.&lt;br /&gt;# Optional: default is to bind anonymously.&lt;br /&gt;#binddn cn=proxyuser,dc=example,dc=com&lt;br /&gt; &lt;br /&gt;# The credentials to bind with. &lt;br /&gt;# Optional: default is no credential.&lt;br /&gt;#bindpw secret&lt;br /&gt; &lt;br /&gt;# The distinguished name to bind to the server with&lt;br /&gt;# if the effective user ID is root. Password is&lt;br /&gt;# stored in /etc/ldap.secret (mode 600)&lt;br /&gt;#rootbinddn cn=manager,dc=example,dc=com&lt;br /&gt; &lt;br /&gt;# The port.&lt;br /&gt;# Optional: default is 389.&lt;br /&gt;# port 389&lt;br /&gt; &lt;br /&gt;# The search scope.&lt;br /&gt;#scope sub&lt;br /&gt;#scope one&lt;br /&gt;#scope base&lt;br /&gt; &lt;br /&gt;# Search timelimit&lt;br /&gt;#timelimit 30&lt;br /&gt; &lt;br /&gt;# Bind/connect timelimit&lt;br /&gt;#bind_timelimit 30&lt;br /&gt; &lt;br /&gt;# Reconnect policy: hard (default) will retry connecting to&lt;br /&gt;# the software with exponential backoff, soft will fail&lt;br /&gt;# immediately.&lt;br /&gt;#bind_policy hard&lt;br /&gt; &lt;br /&gt;# Idle timelimit; client will close connections&lt;br /&gt;# (nss_ldap only) if the server has not been contacted&lt;br /&gt;# for the number of seconds specified below.&lt;br /&gt;#idle_timelimit 3600&lt;br /&gt; &lt;br /&gt;# Filter to AND with uid=%s&lt;br /&gt;#pam_filter objectclass=account&lt;br /&gt; &lt;br /&gt;# The user ID attribute (defaults to uid)&lt;br /&gt;#pam_login_attribute uid&lt;br /&gt; &lt;br /&gt;# Search the root DSE for the password policy (works&lt;br /&gt;# with Netscape Directory Server)&lt;br /&gt;#pam_lookup_policy yes&lt;br /&gt; &lt;br /&gt;# Check the 'host' attribute for access control&lt;br /&gt;# Default is no; if set to yes, and user has no&lt;br /&gt;# value for the host attribute, and pam_ldap is&lt;br /&gt;# configured for account management (authorization)&lt;br /&gt;# then the user will not be allowed to login.&lt;br /&gt;#pam_check_host_attr yes&lt;br /&gt; &lt;br /&gt;# Check the 'authorizedService' attribute for access&lt;br /&gt;# control&lt;br /&gt;# Default is no; if set to yes, and the user has no&lt;br /&gt;# value for the authorizedService attribute, and&lt;br /&gt;# pam_ldap is configured for account management&lt;br /&gt;# (authorization) then the user will not be allowed&lt;br /&gt;# to login.&lt;br /&gt;#pam_check_service_attr yes&lt;br /&gt; &lt;br /&gt;# Group to enforce membership of&lt;br /&gt;#pam_groupdn cn=PAM,ou=Groups,dc=example,dc=com&lt;br /&gt; &lt;br /&gt;# Group member attribute&lt;br /&gt;#pam_member_attribute uniquemember&lt;br /&gt; &lt;br /&gt;# Specify a minium or maximum UID number allowed&lt;br /&gt;#pam_min_uid 0&lt;br /&gt;#pam_max_uid 0&lt;br /&gt; &lt;br /&gt;# Template login attribute, default template user&lt;br /&gt;# (can be overriden by value of former attribute&lt;br /&gt;# in user's entry)&lt;br /&gt;#pam_login_attribute userPrincipalName&lt;br /&gt;#pam_template_login_attribute uid&lt;br /&gt;#pam_template_login nobody&lt;br /&gt; &lt;br /&gt;# HEADS UP: the pam_crypt, pam_nds_passwd,&lt;br /&gt;# and pam_ad_passwd options are no&lt;br /&gt;# longer supported.&lt;br /&gt;#&lt;br /&gt;# If you are using XAD, you can set pam_password&lt;br /&gt;# to racf, ad, or exop. Make sure that you have&lt;br /&gt;# SSL enabled.&lt;br /&gt; &lt;br /&gt;# Do not hash the password at all; presume&lt;br /&gt;# the directory server will do it, if&lt;br /&gt;# necessary. This is the default.&lt;br /&gt;# pam_password clear&lt;br /&gt; &lt;br /&gt;# Hash password locally; required for University of&lt;br /&gt;# Michigan LDAP server, and works with Netscape&lt;br /&gt;# Directory Server if you're using the UNIX-Crypt&lt;br /&gt;# hash mechanism and not using the NT Synchronization&lt;br /&gt;# service. &lt;br /&gt;# pam_password md5&lt;br /&gt; &lt;br /&gt;# Remove old password first, then update in&lt;br /&gt;# cleartext. Necessary for use with Novell&lt;br /&gt;# Directory Services (NDS)&lt;br /&gt;# pam_password nds&lt;br /&gt; &lt;br /&gt;# RACF is an alias for the above. For use with&lt;br /&gt;# IBM RACF&lt;br /&gt;# pam_password racf&lt;br /&gt; &lt;br /&gt;# Update Active Directory password, by&lt;br /&gt;# creating Unicode password and updating&lt;br /&gt;# unicodePwd attribute.&lt;br /&gt;# pam_password ad&lt;br /&gt; &lt;br /&gt;# Use the OpenLDAP password change&lt;br /&gt;# extended operation to update the password.&lt;br /&gt;# pam_password exop&lt;br /&gt; &lt;br /&gt;# Redirect users to a URL or somesuch on password&lt;br /&gt;# changes.&lt;br /&gt;#pam_password_prohibit_message Please visit http://internal to change your password.&lt;br /&gt; &lt;br /&gt;# RFC2307bis naming contexts&lt;br /&gt;# Syntax:&lt;br /&gt;# nss_base_XXX          base?scope?filter&lt;br /&gt;# where scope is {base,one,sub}&lt;br /&gt;# and filter is a filter to be &amp;'d with the&lt;br /&gt;# default filter.&lt;br /&gt;# You can omit the suffix eg:&lt;br /&gt;# nss_base_passwd ou=People,&lt;br /&gt;# to append the default base DN but this&lt;br /&gt;# may incur a small performance impact.&lt;br /&gt;#nss_base_passwd  ou=People,dc=example,dc=com?one&lt;br /&gt;nss_base_passwd ou=People,dc=im,dc=logica,dc=com&lt;br /&gt;#nss_base_shadow  ou=People,dc=example,dc=com?one&lt;br /&gt;nss_base_shadow ou=People,dc=im,dc=logica,dc=com&lt;br /&gt;#nss_base_group         ou=Group,dc=example,dc=com?on&lt;br /&gt;nss_base_group  ou=Groups,dc=im,dc=logica,dc=com&lt;br /&gt;#nss_base_hosts         ou=Hosts,dc=example,dc=com?one&lt;br /&gt;#nss_base_services      ou=Services,dc=example,dc=com?one&lt;br /&gt;#nss_base_networks      ou=Networks,dc=example,dc=com?one&lt;br /&gt;#nss_base_protocols     ou=Protocols,dc=example,dc=com?one&lt;br /&gt;#nss_base_rpc           ou=Rpc,dc=example,dc=com?one&lt;br /&gt;#nss_base_ethers  ou=Ethers,dc=example,dc=com?one&lt;br /&gt;#nss_base_netmasks      ou=Networks,dc=example,dc=com?ne&lt;br /&gt;#nss_base_bootparams    ou=Ethers,dc=example,dc=com?one&lt;br /&gt;#nss_base_aliases ou=Aliases,dc=example,dc=com?one&lt;br /&gt;#nss_base_netgroup      ou=Netgroup,dc=example,dc=com?one&lt;br /&gt; &lt;br /&gt;# attribute/objectclass mapping&lt;br /&gt;# Syntax:&lt;br /&gt;#nss_map_attribute      rfc2307attribute  mapped_attribute&lt;br /&gt;#nss_map_objectclass    rfc2307objectclass      mapped_objectclass&lt;br /&gt; &lt;br /&gt;# configure --enable-nds is no longer supported.&lt;br /&gt;# NDS mappings&lt;br /&gt;#nss_map_attribute uniqueMember member&lt;br /&gt; &lt;br /&gt;# Services for UNIX 3.5 mappings&lt;br /&gt;#nss_map_objectclass posixAccount User&lt;br /&gt;#nss_map_objectclass shadowAccount User&lt;br /&gt;#nss_map_attribute uid msSFU30Name&lt;br /&gt;#nss_map_attribute uniqueMember msSFU30PosixMember&lt;br /&gt;#nss_map_attribute userPassword msSFU30Password&lt;br /&gt;#nss_map_attribute homeDirectory msSFU30HomeDirectory&lt;br /&gt;#nss_map_attribute homeDirectory msSFUHomeDirectory&lt;br /&gt;#nss_map_objectclass posixGroup Group&lt;br /&gt;#pam_login_attribute msSFU30Name&lt;br /&gt;#pam_filter objectclass=User&lt;br /&gt;#pam_password ad&lt;br /&gt; &lt;br /&gt;# configure --enable-mssfu-schema is no longer supported.&lt;br /&gt;# Services for UNIX 2.0 mappings&lt;br /&gt;#nss_map_objectclass posixAccount User&lt;br /&gt;#nss_map_objectclass shadowAccount user&lt;br /&gt;#nss_map_attribute uid msSFUName&lt;br /&gt;#nss_map_attribute uniqueMember posixMember&lt;br /&gt;#nss_map_attribute userPassword msSFUPassword&lt;br /&gt;#nss_map_attribute homeDirectory msSFUHomeDirectory&lt;br /&gt;#nss_map_attribute shadowLastChange pwdLastSet&lt;br /&gt;#nss_map_objectclass posixGroup Group&lt;br /&gt;#nss_map_attribute cn msSFUName&lt;br /&gt;#pam_login_attribute msSFUName&lt;br /&gt;#pam_filter objectclass=User&lt;br /&gt;#pam_password ad&lt;br /&gt; &lt;br /&gt;# RFC 2307 (AD) mappings&lt;br /&gt;#nss_map_objectclass posixAccount user&lt;br /&gt;#nss_map_objectclass shadowAccount user&lt;br /&gt;#nss_map_attribute uid sAMAccountName&lt;br /&gt;#nss_map_attribute homeDirectory unixHomeDirectory&lt;br /&gt;#nss_map_attribute shadowLastChange pwdLastSet&lt;br /&gt;#nss_map_objectclass posixGroup group&lt;br /&gt;#nss_map_attribute uniqueMember member&lt;br /&gt;#pam_login_attribute sAMAccountName&lt;br /&gt;#pam_filter objectclass=User&lt;br /&gt;#pam_password ad&lt;br /&gt; &lt;br /&gt;# configure --enable-authpassword is no longer supported&lt;br /&gt;# AuthPassword mappings&lt;br /&gt;#nss_map_attribute userPassword authPassword&lt;br /&gt; &lt;br /&gt;# AIX SecureWay mappings&lt;br /&gt;#nss_map_objectclass posixAccount aixAccount&lt;br /&gt;#nss_base_passwd ou=aixaccount,?one&lt;br /&gt;#nss_map_attribute uid userName&lt;br /&gt;#nss_map_attribute gidNumber gid&lt;br /&gt;#nss_map_attribute uidNumber uid&lt;br /&gt;#nss_map_attribute userPassword passwordChar&lt;br /&gt;#nss_map_objectclass posixGroup aixAccessGroup&lt;br /&gt;#nss_base_group ou=aixgroup,?one&lt;br /&gt;#nss_map_attribute cn groupName&lt;br /&gt;#nss_map_attribute uniqueMember member&lt;br /&gt;#pam_login_attribute userName&lt;br /&gt;#pam_filter objectclass=aixAccount&lt;br /&gt;#pam_password clear&lt;br /&gt; &lt;br /&gt;# Netscape SDK LDAPS&lt;br /&gt;#ssl on&lt;br /&gt; &lt;br /&gt;# Netscape SDK SSL options&lt;br /&gt;#sslpath /etc/ssl/certs/cert7.db&lt;br /&gt; &lt;br /&gt;# OpenLDAP SSL mechanism&lt;br /&gt;# start_tls mechanism uses the normal LDAP port, LDAPS typically 636&lt;br /&gt;#ssl start_tls&lt;br /&gt;#ssl on&lt;br /&gt; &lt;br /&gt;# OpenLDAP SSL options&lt;br /&gt;# Require and verify server certificate (yes/no)&lt;br /&gt;# Default is "no"&lt;br /&gt;#tls_checkpeer yes&lt;br /&gt; &lt;br /&gt;# CA certificates for server certificate verification&lt;br /&gt;# At least one of these are required if tls_checkpeer is "yes"&lt;br /&gt;#tls_cacertfile /etc/ssl/ca.cert&lt;br /&gt;#tls_cacertdir /etc/ssl/certs&lt;br /&gt;tls_cacertfile /etc/cacerts/ca.crt&lt;br /&gt;tls_cacertdir /etc/cacerts&lt;br /&gt; &lt;br /&gt;# Seed the PRNG if /dev/urandom is not provided&lt;br /&gt;#tls_randfile /var/run/egd-pool&lt;br /&gt; &lt;br /&gt;# SSL cipher suite&lt;br /&gt;# See man ciphers for syntax&lt;br /&gt;#tls_ciphers TLSv1&lt;br /&gt; &lt;br /&gt;# Client certificate and key&lt;br /&gt;# Use these, if your server requires client authentication.&lt;br /&gt;#tls_cert&lt;br /&gt;#tls_key&lt;br /&gt; &lt;br /&gt;# Disable SASL security layers. This is needed for AD.&lt;br /&gt;#sasl_secprops maxssf=0&lt;br /&gt; &lt;br /&gt;# Override the default Kerberos ticket cache location.&lt;br /&gt;#krb5_ccname FILE:/etc/.ldapcache&lt;br /&gt; &lt;br /&gt;# SASL mechanism for PAM authentication - use is experimental&lt;br /&gt;# at present and does not support password policy control&lt;br /&gt;#pam_sasl_mech DIGEST-MD5&lt;br /&gt;ssl start_tls&lt;br /&gt;ssl on&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;That’s basically it, there was only one other problem that I cam across. Normal users don’t have the necessary previledges to do the look up in the LDAP information although they authenticated.&lt;br /&gt; &lt;br /&gt;Ie when a user logs in, there is an error message saying something like this&lt;br /&gt; &lt;br /&gt;id:cannot find name for user ID 10001&lt;br /&gt;id:cannot find name for group ID 1002&lt;br /&gt;id:cannot find name for group ID 1003&lt;br /&gt;id:cannot find name for group ID 1003&lt;br /&gt; &lt;br /&gt;This is solved by switching on nscd (You can turn nscd by running setup, select system services and turn on nscd). The service nscd binds as root but caches the information for the user.&lt;br /&gt; &lt;br /&gt;Method II  :&lt;br /&gt;A script called setupssl can automatically configure SSL on the Linux machine.&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;if [ "$1" -a -d "$1" ] ; then&lt;br /&gt;    echo "Using $1 as alias directory"&lt;br /&gt;else&lt;br /&gt;    sroot=/opt/fedora-ds&lt;br /&gt;    cd $sroot/alias&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ "$2" ] ; then&lt;br /&gt;    ldapport=$2&lt;br /&gt;else&lt;br /&gt;    ldapport=389&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;me=`whoami`&lt;br /&gt;if [ "$me" = "root" ] ; then&lt;br /&gt;    isroot=1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# see if there are already certs and keys&lt;br /&gt;prefix=`ls -1 slapd-*-cert8.db | head -1 | sed -e s/cert8.db\$//`&lt;br /&gt;if [ -f ${prefix}cert8.db ] ; then&lt;br /&gt;    # look for CA cert&lt;br /&gt;    if test -n "$prefix" ; then&lt;br /&gt;        prefixarg="-P $prefix"&lt;br /&gt;    fi&lt;br /&gt;    if ../shared/bin/certutil -L $prefixarg -d . -n "CA certificate" 2&gt; /dev/null ; then&lt;br /&gt;        echo "Using existing CA certificate"&lt;br /&gt;    else&lt;br /&gt;        echo "No CA certificate found - will create new one"&lt;br /&gt;        needCA=1&lt;br /&gt;    fi&lt;br /&gt;&lt;br /&gt;    # look for server cert&lt;br /&gt;    if ../shared/bin/certutil -L $prefixarg -d . -n "Server-Cert" 2&gt; /dev/null ; then&lt;br /&gt;        echo "Using existing directory Server-Cert"&lt;br /&gt;    else&lt;br /&gt;        echo "No Server Cert found - will create new one"&lt;br /&gt;        needServerCert=1&lt;br /&gt;    fi&lt;br /&gt;&lt;br /&gt;    # look for admin server cert&lt;br /&gt;    if ../shared/bin/certutil -L $prefixarg -d . -n "server-cert" 2&gt; /dev/null ; then&lt;br /&gt;        echo "Using existing admin server-cert"&lt;br /&gt;    else&lt;br /&gt;        echo "No Admin Server Cert found - will create new one"&lt;br /&gt;        needASCert=1&lt;br /&gt;    fi&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if test -z "$needCA" -a -z "$needServerCert" -a -z "$needASCert" ; then&lt;br /&gt;    echo "No certs needed - exiting"&lt;br /&gt;    exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# get our user and group&lt;br /&gt;if test -n "$isroot" ; then&lt;br /&gt;    uid=`/bin/ls -ald . | awk '{print $3}'`&lt;br /&gt;    gid=`/bin/ls -ald . | awk '{print $4}'`&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# 2. Create a password file for your security token password:&lt;br /&gt;if [ -f pwdfile.txt ] ; then&lt;br /&gt;    echo "Using existing pwdfile.txt"&lt;br /&gt;else&lt;br /&gt;    echo "Creating password file for security token"&lt;br /&gt;    (ps -ef ; w ) | sha1sum | awk '{print $1}' &gt; pwdfile.txt&lt;br /&gt;    if test -n "$isroot" ; then&lt;br /&gt;        chown $uid:$gid pwdfile.txt&lt;br /&gt;    fi&lt;br /&gt;    chmod 400 pwdfile.txt&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# 3. Create a "noise" file for your encryption mechanism: &lt;br /&gt;if [ -f noise.txt ] ; then&lt;br /&gt;    echo "Using existing noise.txt file"&lt;br /&gt;else&lt;br /&gt;    echo "Creating noise file"&lt;br /&gt;    (w ; ps -ef ; date ) | sha1sum | awk '{print $1}' &gt; noise.txt&lt;br /&gt;    if test -n "$isroot" ; then&lt;br /&gt;        chown $uid:$gid noise.txt&lt;br /&gt;    fi&lt;br /&gt;    chmod 400 noise.txt&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# 4. Create the key3.db and cert8.db databases:&lt;br /&gt;if [ ! -f cert8.db ] ; then&lt;br /&gt;    echo "Creating initial key and cert db"&lt;br /&gt;    ../shared/bin/certutil -N -d . -f pwdfile.txt&lt;br /&gt;    if test -n "$isroot" ; then&lt;br /&gt;        chown $uid:$gid key3.db cert8.db&lt;br /&gt;    fi&lt;br /&gt;    chmod 600 key3.db cert8.db&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if test -n "$needCA" ; then&lt;br /&gt;# 5. Generate the encryption key:&lt;br /&gt;    echo "Creating encryption key for CA"&lt;br /&gt;    ../shared/bin/certutil -G -d . -z noise.txt -f pwdfile.txt&lt;br /&gt;# 6. Generate the self-signed certificate: &lt;br /&gt;    echo "Creating self-signed CA certificate"&lt;br /&gt;    ../shared/bin/certutil -S -n "CA certificate" -s "cn=CAcert" -x -t "CT,," -m 1000 -v 120 -d . -z noise.txt -f pwdfile.txt&lt;br /&gt;# export the CA cert for use with other apps&lt;br /&gt;    echo Exporting the CA certificate to cacert.asc&lt;br /&gt;    ../shared/bin/certutil -L -d . -n "CA certificate" -a &gt; cacert.asc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if test -n "$needServerCert" ; then&lt;br /&gt;# 7. Generate the server certificate:&lt;br /&gt;    myhost=`hostname --fqdn`&lt;br /&gt;    echo "Generating server certificate for Fedora Directory Server on host $myhost"&lt;br /&gt;    echo Using fully qualified hostname $myhost for the server name in the server cert subject DN&lt;br /&gt;    echo Note: If you do not want to use this hostname, edit this script to change myhost to the&lt;br /&gt;    echo real hostname you want to use&lt;br /&gt;    ../shared/bin/certutil -S -n "Server-Cert" -s "cn=$myhost,ou=Fedora Directory Server" -c "CA certificate" -t "u,u,u" -m 1001 -v 120 -d . -z noise.txt -f pwdfile.txt&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if test -n "$needASCert" ; then&lt;br /&gt;# Generate the admin server certificate&lt;br /&gt;    echo Creating the admin server certificate&lt;br /&gt;    ../shared/bin/certutil -S -n "server-cert" -s "cn=$myhost,ou=Fedora Administration Server" -c "CA certificate" -t "u,u,u" -m 1002 -v 120 -d . -z noise.txt -f pwdfile.txt&lt;br /&gt;&lt;br /&gt;# export the admin server certificate/private key for import into its key/cert db&lt;br /&gt;    echo Exporting the admin server certificate pk12 file&lt;br /&gt;    ../shared/bin/pk12util -d . -o adminserver.p12 -n server-cert -w pwdfile.txt -k pwdfile.txt&lt;br /&gt;    if test -n "$isroot" ; then&lt;br /&gt;        chown $uid:$gid adminserver.p12&lt;br /&gt;    fi&lt;br /&gt;    chmod 400 adminserver.p12&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if test -n "$prefix" ; then&lt;br /&gt;# Copy the key3.db and cert8.db you created to the default databases created at Directory Server installation: &lt;br /&gt;# assume there is already the default empty key and cert db for the directory instance&lt;br /&gt;    echo Creating real key and cert db for directory server&lt;br /&gt;    keydb=`ls -1 slapd-*-key3.db | head -1`&lt;br /&gt;    certdb=`ls -1 slapd-*-cert8.db | head -1`&lt;br /&gt;# backup the old one, just in case&lt;br /&gt;    mv $keydb $keydb.bak&lt;br /&gt;    mv $certdb $certdb.bak&lt;br /&gt;# move over the new ones&lt;br /&gt;    mv key3.db $keydb&lt;br /&gt;    mv cert8.db $certdb&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# create the pin file&lt;br /&gt;if [ ! -f ${prefix}pin.txt ] ; then&lt;br /&gt;    echo Creating pin file for directory server&lt;br /&gt;    pinfile=`echo $keydb | sed -e s/key3.db/pin.txt/`&lt;br /&gt;    echo 'Internal (Software) Token:'`cat pwdfile.txt` &gt; $pinfile&lt;br /&gt;    if test -n "$isroot" ; then&lt;br /&gt;        chown $uid:$gid $pinfile&lt;br /&gt;    fi&lt;br /&gt;    chmod 400 $pinfile&lt;br /&gt;else&lt;br /&gt;    echo Using existing ${prefix}pin.txt&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# create the admin server key/cert db&lt;br /&gt;asprefix=`echo $prefix | sed -e s/slapd/admin-serv/`&lt;br /&gt;if [ ! -f ${asprefix}cert8.db ] ; then&lt;br /&gt;    echo Creating key and cert db for admin server $asprefix&lt;br /&gt;    ../shared/bin/certutil -N -d . -P $asprefix -f pwdfile.txt&lt;br /&gt;    if test -n "$isroot" ; then&lt;br /&gt;        chown $uid:$gid admin-serv-*.db&lt;br /&gt;    fi&lt;br /&gt;    chmod 600 admin-serv-*.db&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if test -n "$needASCert" ; then&lt;br /&gt;# import the admin server key/cert&lt;br /&gt;    echo "Importing the admin server key and cert (created above)"&lt;br /&gt;    ../shared/bin/pk12util -d . -P $asprefix -n server-cert -i adminserver.p12 -w pwdfile.txt -k pwdfile.txt&lt;br /&gt;&lt;br /&gt;# import the CA cert to the admin server cert db&lt;br /&gt;    echo Importing the CA certificate from cacert.asc&lt;br /&gt;    ../shared/bin/certutil -A -d . -P $asprefix -n "CA certificate" -t "CT,," -a -i cacert.asc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ ! -f password.conf ] ; then&lt;br /&gt;# create the admin server password file&lt;br /&gt;    echo Creating the admin server password file&lt;br /&gt;    echo 'internal:'`cat pwdfile.txt` &gt; password.conf&lt;br /&gt;    if test -n "$isroot" ; then&lt;br /&gt;        chown $uid:$gid password.conf&lt;br /&gt;    fi&lt;br /&gt;    chmod 400 password.conf&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# tell admin server to use the password file&lt;br /&gt;echo Enabling the use of a password file in admin server&lt;br /&gt;sed -e "s@^NSSPassPhraseDialog .*@NSSPassPhraseDialog file:`pwd`/password.conf@" ../admin-serv/config/nss.conf &gt; /tmp/nss.conf &amp;&amp; mv /tmp/nss.conf ../admin-serv/config/nss.conf&lt;br /&gt;if test -n "$isroot" ; then&lt;br /&gt;    chown $uid:$gid ../admin-serv/config/nss.conf&lt;br /&gt;fi&lt;br /&gt;chmod 400 ../admin-serv/config/nss.conf&lt;br /&gt;&lt;br /&gt;# enable SSL in the directory server&lt;br /&gt;echo "Enabling SSL in the directory server - when prompted, provide the directory manager password"&lt;br /&gt;ldapmodify -x -h localhost -p $ldapport -D "cn=directory manager" -W &lt;&lt;EOFdn: cn=encryption,cn=configchangetype: modifyreplace: nsSSL3nsSSL3: on-replace: nsSSLClientAuthnsSSLClientAuth: allowed-add: nsSSL3CiphersnsSSL3Ciphers: -rsa_null_md5,+rsa_rc4_128_md5,+rsa_rc4_40_md5,+rsa_rc2_40_md5, +rsa_des_sha,+rsa_fips_des_sha,+rsa_3des_sha,+rsa_fips_3des_sha,+fortezza, +fortezza_rc4_128_sha,+fortezza_null,+tls_rsa_export1024_with_rc4_56_sha, +tls_rsa_export1024_with_des_cbc_sha-add: nsKeyfilensKeyfile: alias/$keydb-add: nsCertfilensCertfile: alias/$certdbdn: cn=configchangetype: modifyadd: nsslapd-securitynsslapd-security: on-replace: nsslapd-ssl-check-hostnamensslapd-ssl-check-hostname: offdn: cn=RSA,cn=encryption,cn=configchangetype: addobjectclass: topobjectclass: nsEncryptionModulecn: RSAnsSSLPersonalitySSL: Server-CertnsSSLToken: internal (software)nsSSLActivation: onEOFecho "Done.  You must restart the directory server and the admin server for the changes to take effect."You may need to run the half part of this script manually esp after the ldapmodify.You need to manually run the ldapmodify and that will make the complete SSL setup in the Server side.13.	 Configuring Fedora DS Client on Solaris 8/9/10To configure the Fedora Client on Solaris machine,we need to have a pre-requisite packages.P1) For Solaris8 client, latest kernel patch and LDAP patch 108993 must be applied. P2) For Solaris9 client, latest kernel patch and LDAP patch 112960 must be applied.Please refer to Appendix for a useful script to check multiple patches, modify to suit your need.For Solaris 10 the patch is therein installed so we neednot go for any patch.Fortunately,we have one button script for configuring the server so as to listen to Solaris Client.One button script: if you would like an automated script to perform everything up can also be downloaded from:https://www.redhat.com/archives/fedora-directory-users/2006-April/msg00105.htmlIMPORTANT NOTE ABOUT LDIF IMPORT FILES: When you copy and paste the content of People.ldif and group.ldif, or any other .ldif files from this document for preparation of  LDAP data import using ldapadd command, please make sure that ALL LEADING AND TRAILING SPACES at every line in the .ldif files be removed or else “ldapadd” command will throw errors.I have modified the script so as it will configure the server so as to make with Solaris. This script should be run on the Server Side:#! /bin/sh # # rebuild_fds.sh - ReBuild Fedora Directory Server # # Gary Tay # # NOTE: This script will rebuild a FDS Server compatible with BOTH #       RedHat and Solaris LDAP Clients # # 1) Make sure 'root' is used to run this script # 2) Make sure /home/ldap/dirmgr.pwd contains password of cn=Direcyory Manager # #set -vx IS_ROOT_UID=`id | grep "uid=0(root)"`if [ ! -n "$IS_ROOT_UID" ]; then   echo "Please run this script as root"   exit 1fiif [ ! -f /home/ldap/dirmgr.pwd ]; then   echo "Please setup /home/ldap/dirmgr.pwd."   exit 1else   chmod 600 /home/ldap/dirmgr.pwdfi# Pls customize the followings FDS1_PATH=/opt/fedora-dsHOST=pe.im.logica.comDOMAIN="im.logica.com"BASEDN="dc=im,dc=logica,dc=com"SLAPD_OWNER=nobodySLAPD_GROUP=nobodyLD_LIBRARY_PATH=$FDS1_PATH/shared/lib:$FDS1_PATH/libexport LD_LIBRARY_PATHPATH=$FDS1_PATH/shared/bin:$PATH; export PATHecho "ASSUMPTION: This script assumes that you have performed"echo "'rpm -e' and then 'rpm -ivh' to reinstall Fedora Directory Server"echo "and you have re-run the setup program"echo "ns-slapd should be running"echo "Press [Ctrl-C] to abort, enter [Yes] to continue..."read a_key[ "$a_key" != "Yes" ] &amp;&amp; exit 1# Load schemas cat &lt;&lt;EOF &gt;/tmp/61DUAConfigProfile.ldif &lt;br /&gt;dn: cn=schema&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.0 NAME 'defaultServerList' DESC 'Default LDAP server host address used by a DUA' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.1 NAME 'defaultSearchBase' DESC 'Default LDAP base DN used by a DUA' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.2 NAME 'preferredServerList' DESC 'Preferred LDAP server host addresses to be used by a DUA' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.3 NAME 'searchTimeLimit' DESC 'Maximum time in seconds a DUA should allow for a search to complete' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.4 NAME 'bindTimeLimit' DESC 'Maximum time in seconds a DUA should allow for the bind operation to complete' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.5 NAME 'followReferrals' DESC 'Tells DUA if it should follow referrals returned by a DSA search result' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.6 NAME 'authenticationMethod' DESC 'A keystring which identifies the type of authentication method used to contact the DSA' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.7 NAME 'profileTTL' DESC 'Time to live, in seconds, before a client DUA should re-read this configuration profile' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.14 NAME 'serviceSearchDescriptor' DESC 'LDAP search descriptor list used by a DUA' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.9 NAME 'attributeMap' DESC 'Attribute mappings used by a DUA' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.10 NAME 'credentialLevel' DESC 'Identifies type of credentials a DUA should use when binding to the LDAP server' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.11 NAME 'objectclassMap' DESC 'Objectclass mappings used by a DUA' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.12 NAME 'defaultSearchScope' DESC 'Default search scope used by a DUA' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.13 NAME 'serviceCredentialLevel' DESC 'Identifies type of credentials a DUA should use when binding to the LDAP server for a specific service' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )&lt;br /&gt;attributeTypes:( 1.3.6.1.4.1.11.1.3.1.1.15 NAME 'serviceAuthenticationMethod' DESC 'Authentication method used by a service of the DUA' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )&lt;br /&gt;objectClasses:( 1.3.6.1.4.1.11.1.3.1.2.4 NAME 'DUAConfigProfile' SUP top STRUCTURAL DESC 'Abstraction of a base configuration for a DUA' MUST ( cn ) MAY ( defaultServerList $ preferredServerList $ defaultSearchBase $ defaultSearchScope $ searchTimeLimit $ bindTimeLimit $ credentialLevel $ authenticationMethod $ followReferrals $ serviceSearchDescriptor $ serviceCredentialLevel $ serviceAuthenticationMethod $ objectclassMap $ attributeMap $ profileTTL ) )&lt;br /&gt;EOF&lt;br /&gt;cat &lt;&lt;EOF &gt;/tmp/62nisDomain.ldif &lt;br /&gt;dn: cn=schema&lt;br /&gt;attributeTypes:( 1.3.6.1.1.1.1.30 NAME 'nisDomain' DESC 'NIS domain' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'user defined' )&lt;br /&gt;objectClasses:( 1.3.6.1.1.1.2.15 NAME 'nisDomainObject' SUP top STRUCTURAL MUST nisDomain X-ORIGIN 'user defined' ) &lt;br /&gt;EOF&lt;br /&gt;/bin/cp -f /tmp/61DUAConfigProfile.ldif $FDS1_PATH/slapd-pe/config/schema &lt;br /&gt;/bin/cp -f /tmp/62nisDomain.ldif $FDS1_PATH/slapd-pe/config/schema &lt;br /&gt;chown $SLAPD_OWNER:$SLAPD_GROUP $FDS1_PATH/slapd-pe/config/schema/61DUAConfigProfile.ldif &lt;br /&gt;chown $SLAPD_OWNER:$SLAPD_GROUP $FDS1_PATH/slapd-pe/config/schema/62nisDomain.ldif &lt;br /&gt;$FDS1_PATH/slapd-pe/stop-slapd &lt;br /&gt;$FDS1_PATH/slapd-pe/start-slapd &lt;br /&gt;# Add nisDomainObject &lt;br /&gt;echo Hello2&lt;br /&gt;cat &lt;&lt;EOF &gt;/tmp/add_nisDomainObject.ldif &lt;br /&gt;dn: $BASEDN&lt;br /&gt;changetype: modify&lt;br /&gt;add: objectclass&lt;br /&gt;objectclass: nisdomainobject&lt;br /&gt;-&lt;br /&gt;replace: nisdomain&lt;br /&gt;nisdomain: $DOMAIN&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;echo Hello3&lt;br /&gt;cd /opt/fedora-ds/shared/bin &lt;br /&gt;./ldapmodify -D "cn=Directory Manager" -w `cat /home/ldap/dirmgr.pwd` -f /tmp/add_nisDomainObject.ldif &lt;br /&gt;# Add two ACIs &lt;br /&gt;cat &lt;&lt;EOF &gt;/tmp/add_two_ACIs.ldif &lt;br /&gt;&lt;br /&gt;dn: $BASEDN&lt;br /&gt;changetype: modify&lt;br /&gt;add: aci&lt;br /&gt;aci: (targetattr = "cn||uid||uidNumber||gidNumber||homeDirectory||shadowLastChange||shadowMin||shadowMax||shadowWarning||shadowInactive||shadowExpire||shadowFlag||memberUid")(version 3.0; acl LDAP_Naming_Services_deny_write_access;deny (write) userdn = "ldap:///self";)&lt;br /&gt;-&lt;br /&gt;add: aci&lt;br /&gt;aci: (target="ldap:///$BASEDN")(targetattr="userPassword")(version 3.0; acl LDAP_Naming_Services_proxy_password_read; allow (compare,search) userdn = "ldap:///cn=proxyagent,ou=profile,$BASEDN";)&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;echo Hello3.3&lt;br /&gt;cd /opt/fedora-ds/shared/bin &lt;br /&gt;./ldapmodify -D "cn=Directory Manager" -w `cat /home/ldap/dirmgr.pwd` -f /tmp/add_two_ACIs.ldif &lt;br /&gt;# Modify default password storage scheme &lt;br /&gt;cat &lt;&lt;EOF &gt;/tmp/mod_passwordStorageScheme.ldif &lt;br /&gt;dn: cn=config&lt;br /&gt;changetype: modify&lt;br /&gt;replace: passwordStorageScheme&lt;br /&gt;passwordStorageScheme: CRYPT&lt;br /&gt;EOF&lt;br /&gt;echo Hello3.8&lt;br /&gt;cd /opt/fedora-ds/shared/bin &lt;br /&gt;./ldapmodify -D "cn=Directory Manager" -w `cat /home/ldap/dirmgr.pwd` -f /tmp/mod_passwordStorageScheme.ldif &lt;br /&gt;# Create ou=group, proxyAgent and ldapclient profiles &lt;br /&gt;cat &lt;&lt;EOF &gt;/tmp/People.ldif &lt;br /&gt;dn: uid=gtay, ou=People, $BASEDN&lt;br /&gt;givenName: Gary&lt;br /&gt;sn: Tay&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 6167&lt;br /&gt;gidNumber: 102&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: person&lt;br /&gt;objectClass: organizationalPerson&lt;br /&gt;objectClass: inetorgperson&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;uid: gtay&lt;br /&gt;cn: Gary Tay&lt;br /&gt;homeDirectory: /home/gtay&lt;br /&gt;userPassword: {CRYPT}U8bo2twhJ9Kkg&lt;br /&gt;&lt;br /&gt;dn: uid=tuser, ou=People, $BASEDN&lt;br /&gt;givenName: Test&lt;br /&gt;sn: User&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;uidNumber: 9999&lt;br /&gt;gidNumber: 102&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: person&lt;br /&gt;objectClass: organizationalPerson&lt;br /&gt;objectClass: inetorgperson&lt;br /&gt;objectClass: posixAccount&lt;br /&gt;objectClass: shadowAccount&lt;br /&gt;uid: tuser&lt;br /&gt;cn: Test User&lt;br /&gt;homeDirectory: /home/tuser&lt;br /&gt;userPassword: {SHA}MWxHz/4F3kXGXlfK4EvIJUo2C2U=&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;echo Hello5&lt;br /&gt;cd /opt/fedora-ds/shared/bin &lt;br /&gt;./ldapmodify -a -c -D "cn=Directory Manager" -w `cat /home/ldap/dirmgr.pwd` -f /tmp/People.ldif &lt;br /&gt;cat &lt;&lt;EOF &gt;/tmp/group_and_other_OUs.ldif &lt;br /&gt;dn: ou=group,$BASEDN&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;objectClass: top&lt;br /&gt;ou: group&lt;br /&gt;dn: cn=Users,ou=group,$BASEDN &lt;br /&gt;cn: Users&lt;br /&gt;gidNumber: 102&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: posixGroup&lt;br /&gt;memberUid: gtay&lt;br /&gt;memberUid: tuser&lt;br /&gt;&lt;br /&gt;dn: ou=netgroup,$BASEDN&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;objectClass: top&lt;br /&gt;ou: netgroup&lt;br /&gt;&lt;br /&gt;dn: ou=sudoers,$BASEDN&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;objectClass: top&lt;br /&gt;ou: sudoers&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;echo Hello6&lt;br /&gt;cd /opt/fedora-ds/shared/bin&lt;br /&gt;./ldapmodify -a -c -D "cn=Directory Manager" -w `cat /home/ldap/dirmgr.pwd` -f /tmp/group_and_other_OUs.ldif&lt;br /&gt;&lt;br /&gt;cat &lt;&lt;EOF &gt;/tmp/proxyAgent_and_profiles.ldif &lt;br /&gt;dn: ou=profile,$BASEDN&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;ou: profile&lt;br /&gt;&lt;br /&gt;dn: cn=proxyAgent,ou=profile,$BASEDN&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: person&lt;br /&gt;cn: proxyAgent&lt;br /&gt;sn: proxyAgent&lt;br /&gt;userPassword: {CRYPT}l14aeXtphVSUg&lt;br /&gt;&lt;br /&gt;dn: cn=default,ou=profile,$BASEDN&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: DUAConfigProfile&lt;br /&gt;defaultServerList: 10.14.236.169&lt;br /&gt;defaultSearchBase: $BASEDN&lt;br /&gt;authenticationMethod: simple&lt;br /&gt;followReferrals: TRUE&lt;br /&gt;defaultSearchScope: one&lt;br /&gt;searchTimeLimit: 30&lt;br /&gt;profileTTL: 43200&lt;br /&gt;cn: default&lt;br /&gt;credentialLevel: proxy&lt;br /&gt;bindTimeLimit: 2&lt;br /&gt;serviceSearchDescriptor: passwd: ou=People,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: group: ou=group,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: shadow: ou=People,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: netgroup: ou=netgroup,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: sudoers: ou=sudoers,$BASEDN?one&lt;br /&gt;&lt;br /&gt;dn: cn=tls_profile,ou=profile,$BASEDN&lt;br /&gt;ObjectClass: top&lt;br /&gt;ObjectClass: DUAConfigProfile&lt;br /&gt;defaultServerList: 10.14.236.169&lt;br /&gt;defaultSearchBase: $BASEDN&lt;br /&gt;authenticationMethod: tls:simple&lt;br /&gt;followReferrals: FALSE&lt;br /&gt;defaultSearchScope: one&lt;br /&gt;searchTimeLimit: 30&lt;br /&gt;profileTTL: 43200&lt;br /&gt;bindTimeLimit: 10&lt;br /&gt;cn: tls_profile&lt;br /&gt;credentialLevel: proxy&lt;br /&gt;serviceSearchDescriptor: passwd: ou=People,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: group: ou=group,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: shadow: ou=People,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: netgroup: ou=netgroup,$BASEDN?one&lt;br /&gt;serviceSearchDescriptor: sudoers: ou=sudoers,$BASEDN?one&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;echo hello7&lt;br /&gt;cd /opt/fedora-ds/shared/bin &lt;br /&gt;./ldapmodify -a -c -D "cn=Directory Manager" -w `cat /home/ldap/dirmgr.pwd` -f /tmp/proxyAgent_and_profiles.ldif&lt;br /&gt;&lt;br /&gt;echo "Rebuild done."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now the Server is ready to answer to Solaris Client request.&lt;br /&gt;Next, lets configure the Fedora DS Client so as to work with the Server.A script called ldapclient_init_defaultprofile_sol10.sh will help us to make necessary changes  :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/usr/sbin/ldapclient -v init -a profileName=default -a domainName=im.logica.com -a proxyDn=cn=proxyagent,ou=profile,dc=im,dc=logica,dc=com -a proxyPassword=password 10.14.236.169&lt;br /&gt;# As ldapclient overwrites /etc/nsswitch.conf with /etc/nsswitch.ldap&lt;br /&gt;# which contains a bug in "hosts:" entry, we need to repair it&lt;br /&gt;sed -e '/^hosts:/s/ldap.*files$/files dns/' \&lt;br /&gt;    -e '/^passwd:/a\&lt;br /&gt;shadow:     files ldap' \&lt;br /&gt;    /etc/nsswitch.ldap &gt;/etc/nsswitch.work&lt;br /&gt;cp /etc/nsswitch.work /etc/nsswitch.conf&lt;br /&gt;# Refresh Name Service Cache Daemon after repairing /etc/nsswitch.conf&lt;br /&gt;/etc/init.d/nscd stop&lt;br /&gt;/etc/init.d/nscd start&lt;br /&gt;On running this script the following output should get displayed:&lt;br /&gt;Parsing profileName=default&lt;br /&gt;Parsing domainName=im.logica.com&lt;br /&gt;Parsing proxyDn=cn=proxyagent,ou=profile,dc=im,dc=logica,dc=com&lt;br /&gt;Parsing proxyPassword=password&lt;br /&gt;Arguments parsed:&lt;br /&gt;        domainName: im.logica.com&lt;br /&gt;        proxyDN: cn=proxyagent,ou=profile,dc=im,dc=logica,dc=com&lt;br /&gt;        profileName: default&lt;br /&gt;        proxyPassword: password&lt;br /&gt;        defaultServerList: 10.14.236.169&lt;br /&gt;Handling init option&lt;br /&gt;About to configure machine by downloading a profile&lt;br /&gt;findBaseDN: begins&lt;br /&gt;findBaseDN: ldap not running&lt;br /&gt;findBaseDN: calling __ns_ldap_default_config()&lt;br /&gt;found 2 namingcontexts&lt;br /&gt;findBaseDN: __ns_ldap_list(NULL, "(&amp;(objectclass=nisDomainObject)(nisdomain=im.l                                             ogica.com))"&lt;br /&gt;rootDN[0] dc=im,dc=logica,dc=com&lt;br /&gt;found baseDN dc=im,dc=logica,dc=com for domain im.logica.com&lt;br /&gt;Proxy DN: cn=proxyagent,ou=profile,dc=im,dc=logica,dc=com&lt;br /&gt;Proxy password: {NS1}ecfa88f3a945c411&lt;br /&gt;Credential level: 1&lt;br /&gt;Authentication method: 1&lt;br /&gt;About to modify this machines configuration by writing the files&lt;br /&gt;Stopping network services&lt;br /&gt;Stopping sendmail&lt;br /&gt;stop: sleep 100000 microseconds&lt;br /&gt;stop: sleep 200000 microseconds&lt;br /&gt;stop: network/smtp:sendmail... success&lt;br /&gt;Stopping nscd&lt;br /&gt;stop: sleep 100000 microseconds&lt;br /&gt;stop: system/name-service-cache:default... success&lt;br /&gt;Stopping autofs&lt;br /&gt;stop: sleep 100000 microseconds&lt;br /&gt;stop: sleep 200000 microseconds&lt;br /&gt;stop: sleep 400000 microseconds&lt;br /&gt;stop: sleep 800000 microseconds&lt;br /&gt;stop: sleep 1600000 microseconds&lt;br /&gt;stop: sleep 3200000 microseconds&lt;br /&gt;stop: system/filesystem/autofs:default... success&lt;br /&gt;ldap not running&lt;br /&gt;nisd not running&lt;br /&gt;nis(yp) not running&lt;br /&gt;file_backup: stat(/etc/nsswitch.conf)=0&lt;br /&gt;file_backup: (/etc/nsswitch.conf -&gt; /var/ldap/restore/nsswitch.conf)&lt;br /&gt;file_backup: stat(/etc/defaultdomain)=-1&lt;br /&gt;file_backup: No /etc/defaultdomain file.&lt;br /&gt;file_backup: stat(/var/nis/NIS_COLD_START)=-1&lt;br /&gt;file_backup: No /var/nis/NIS_COLD_START file.&lt;br /&gt;file_backup: nis domain is "EMPTY"&lt;br /&gt;file_backup: stat(/var/ldap/ldap_client_file)=-1&lt;br /&gt;file_backup: No /var/ldap/ldap_client_file file.&lt;br /&gt;Starting network services&lt;br /&gt;start: /usr/bin/domainname im.logica.com... success&lt;br /&gt;start: sleep 100000 microseconds&lt;br /&gt;start: sleep 200000 microseconds&lt;br /&gt;start: network/ldap/client:default... success&lt;br /&gt;start: sleep 100000 microseconds&lt;br /&gt;start: sleep 200000 microseconds&lt;br /&gt;start: system/filesystem/autofs:default... success&lt;br /&gt;start: sleep 100000 microseconds&lt;br /&gt;start: sleep 200000 microseconds&lt;br /&gt;start: system/name-service-cache:default... success&lt;br /&gt;start: sleep 100000 microseconds&lt;br /&gt;start: sleep 200000 microseconds&lt;br /&gt;start: network/smtp:sendmail... success&lt;br /&gt;restart: sleep 100000 microseconds&lt;br /&gt;restart: sleep 200000 microseconds&lt;br /&gt;restart: milestone/name-services:default... success&lt;br /&gt;System successfully configured&lt;br /&gt;&lt;br /&gt;This script will create two files:&lt;br /&gt;1. ldap_client_cred&lt;br /&gt;NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=im,dc=logica,dc=com&lt;br /&gt;NS_LDAP_BINDPASSWD= {NS1}ecfa88f3a945c411&lt;br /&gt;&lt;br /&gt;2.ldap_client_file&lt;br /&gt;NS_LDAP_FILE_VERSION= 2.0&lt;br /&gt;NS_LDAP_SERVERS= 10.14.236.169&lt;br /&gt;NS_LDAP_SEARCH_BASEDN= dc=im,dc=logica,dc=com&lt;br /&gt;NS_LDAP_AUTH= simple&lt;br /&gt;NS_LDAP_SEARCH_REF= TRUE&lt;br /&gt;NS_LDAP_SEARCH_SCOPE= one&lt;br /&gt;NS_LDAP_SEARCH_TIME= 30&lt;br /&gt;NS_LDAP_CACHETTL= 43200&lt;br /&gt;NS_LDAP_PROFILE= default&lt;br /&gt;NS_LDAP_CREDENTIAL_LEVEL= proxy&lt;br /&gt;NS_LDAP_SERVICE_SEARCH_DESC= passwd: ou=People,dc=im,dc=logica,dc=com?one&lt;br /&gt;NS_LDAP_SERVICE_SEARCH_DESC= group: ou=group,dc=im,dc=logica,dc=com?one&lt;br /&gt;NS_LDAP_SERVICE_SEARCH_DESC= shadow: ou=People,dc=im,dc=logica,dc=com?one&lt;br /&gt;NS_LDAP_SERVICE_SEARCH_DESC= netgroup: ou=netgroup,dc=im,dc=logica,dc=com?one&lt;br /&gt;NS_LDAP_SERVICE_SEARCH_DESC= sudoers: ou=sudoers,dc=im,dc=logica,dc=com?one&lt;br /&gt;NS_LDAP_BIND_TIME= 2&lt;br /&gt;Also, we need to run the following commands:&lt;br /&gt;Check and change the file permission of BOTH ldap_client_file and ldap_client_cred if needed&lt;br /&gt; &lt;br /&gt;# cd /var/ldap&lt;br /&gt;# chmod 400 ldap_client_file ldap_client_cred&lt;br /&gt; &lt;br /&gt;Edit /etc/nsswitch.conf, make sure that these lines exist:&lt;br /&gt; &lt;br /&gt;passwd:           files ldap&lt;br /&gt;group:             files ldap&lt;br /&gt;shadow:           files ldap&lt;br /&gt;hosts:              files dns&lt;br /&gt; &lt;br /&gt;Now try refreshing ldap_cachemgr and nscd&lt;br /&gt; &lt;br /&gt;# /etc/init.d/ldap.client stop&lt;br /&gt;# /etc/init.d/ldap.client start&lt;br /&gt;# ps -ef | grep ldap&lt;br /&gt;# /etc/init.d/nscd stop&lt;br /&gt;# /etc/init.d/nscd start&lt;br /&gt;# ps -ef | grep nscd&lt;br /&gt; &lt;br /&gt;Make sure also that ldap1.example is defined in BOTH "/etc/hosts" files and DNS, and that "hosts: files dns" instead of "host: files ldap" is defined in /etc/nsswitch.conf. If "hosts: files ldap" is used, there will be error messages during login, i.e. "unknown host or invalid literal address".&lt;br /&gt; &lt;br /&gt;To test the name service, on top of using "id" and "getent", there is also "ldaplist" command&lt;br /&gt; &lt;br /&gt;# /usr/lib/ldap/ldap_cachemgr -g&lt;br /&gt;# id tuser&lt;br /&gt;uid=9999(tuser) gid=102(Users)&lt;br /&gt;# getent passwd tuser&lt;br /&gt;tuser::9999:102::/home/tuser:/bin/bash&lt;br /&gt;# ldaplist -l passwd tuser&lt;br /&gt;dn: uid=tuser,ou=People,dc=example,dc=com&lt;br /&gt;        givenName: Test&lt;br /&gt;        sn: User&lt;br /&gt;        loginShell: /bin/bash&lt;br /&gt;        uidNumber: 9999&lt;br /&gt;        gidNumber: 102&lt;br /&gt;        objectClass: top&lt;br /&gt;        objectClass: person&lt;br /&gt;        objectClass: organizationalPerson&lt;br /&gt;        objectClass: inetorgperson&lt;br /&gt;        objectClass: posixAccount&lt;br /&gt;        objectClass: shadowAccount&lt;br /&gt;        uid: tuser&lt;br /&gt;        cn: Test User&lt;br /&gt;        homeDirectory: /home/tuser&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now we need to configure nsswitch file so as to let users login into the Client.The format for nsswitch and pam.conf should match the following :&lt;br /&gt;&lt;br /&gt;File : /etc/nsswitch.conf&lt;br /&gt;# more /etc/nsswitch.conf&lt;br /&gt;#&lt;br /&gt;# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;# Use is subject to license terms.&lt;br /&gt;#&lt;br /&gt;# ident "@(#)nsswitch.ldap      1.10    06/05/03 SMI"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# /etc/nsswitch.ldap:&lt;br /&gt;#&lt;br /&gt;# An example file that could be copied over to /etc/nsswitch.conf; it&lt;br /&gt;# uses LDAP in conjunction with files.&lt;br /&gt;#&lt;br /&gt;# "hosts:" and "services:" in this file are used only if the&lt;br /&gt;# /etc/netconfig file has a "-" for nametoaddr_libs of "inet" transports.&lt;br /&gt;&lt;br /&gt;# LDAP service requires that svc:/network/ldap/client:default be enabled&lt;br /&gt;# and online.&lt;br /&gt;&lt;br /&gt;# the following two lines obviate the "+" entry in /etc/passwd and /etc/group.&lt;br /&gt;passwd:     files ldap&lt;br /&gt;group:      files ldap&lt;br /&gt;&lt;br /&gt;# consult /etc "files" only if ldap is down.&lt;br /&gt;hosts:      files dns&lt;br /&gt;&lt;br /&gt;# Note that IPv4 addresses are searched for in all of the ipnodes databases&lt;br /&gt;# before searching the hosts databases.&lt;br /&gt;ipnodes:    files&lt;br /&gt;&lt;br /&gt;networks:   files&lt;br /&gt;protocols:  files&lt;br /&gt;rpc:        files&lt;br /&gt;ethers:     files&lt;br /&gt;netmasks:   files&lt;br /&gt;bootparams: files&lt;br /&gt;publickey:  files&lt;br /&gt;&lt;br /&gt;netgroup:   files&lt;br /&gt;&lt;br /&gt;automount:  files&lt;br /&gt;aliases:    files&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# more /etc/pam.conf&lt;br /&gt;#&lt;br /&gt;#ident  "@(#)pam.conf   1.29    07/04/10 SMI"&lt;br /&gt;#&lt;br /&gt;# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;# Use is subject to license terms.&lt;br /&gt;#&lt;br /&gt;# PAM configuration&lt;br /&gt;#&lt;br /&gt;# Unless explicitly defined, all services use the modules&lt;br /&gt;# defined in the "other" section.&lt;br /&gt;#&lt;br /&gt;# Modules are defined with relative pathnames, i.e., they are&lt;br /&gt;# relative to /usr/lib/security/$ISA. Absolute path names, as&lt;br /&gt;# present in this file in previous releases are still acceptable.&lt;br /&gt;#&lt;br /&gt;# Authentication management&lt;br /&gt;#&lt;br /&gt;# login service (explicit because of pam_dial_auth)&lt;br /&gt;#&lt;br /&gt;login   auth requisite          pam_authtok_get.so.1&lt;br /&gt;login   auth required           pam_dhkeys.so.1&lt;br /&gt;login   auth required           pam_unix_cred.so.1&lt;br /&gt;login   auth required           pam_unix_auth.so.1&lt;br /&gt;# login   auth required           pam_ldap.so.1&lt;br /&gt;login   auth required           pam_dial_auth.so.1 debug&lt;br /&gt;#&lt;br /&gt;# rlogin service (explicit because of pam_rhost_auth)&lt;br /&gt;#&lt;br /&gt;rlogin  auth sufficient         pam_rhosts_auth.so.1&lt;br /&gt;rlogin  auth requisite          pam_authtok_get.so.1&lt;br /&gt;rlogin  auth required           pam_dhkeys.so.1&lt;br /&gt;rlogin  auth required           pam_unix_cred.so.1&lt;br /&gt;rlogin  auth required           pam_unix_auth.so.1&lt;br /&gt;rlogin  auth required           pam_ldap.so.1 debug&lt;br /&gt;#&lt;br /&gt;# Kerberized rlogin service&lt;br /&gt;#&lt;br /&gt;krlogin auth required           pam_unix_cred.so.1&lt;br /&gt;krlogin auth required           pam_krb5.so.1&lt;br /&gt;#&lt;br /&gt;# rsh service (explicit because of pam_rhost_auth,&lt;br /&gt;# and pam_unix_auth for meaningful pam_setcred)&lt;br /&gt;#&lt;br /&gt;rsh     auth sufficient         pam_rhosts_auth.so.1&lt;br /&gt;rsh     auth required           pam_unix_cred.so.1&lt;br /&gt;#&lt;br /&gt;# Kerberized rsh service&lt;br /&gt;#&lt;br /&gt;krsh    auth required           pam_unix_cred.so.1&lt;br /&gt;krsh    auth required           pam_krb5.so.1&lt;br /&gt;#&lt;br /&gt;# Kerberized telnet service&lt;br /&gt;#&lt;br /&gt;ktelnet auth required           pam_unix_cred.so.1&lt;br /&gt;ktelnet auth required           pam_krb5.so.1&lt;br /&gt;#&lt;br /&gt;# PPP service (explicit because of pam_dial_auth)&lt;br /&gt;#&lt;br /&gt;ppp     auth requisite          pam_authtok_get.so.1&lt;br /&gt;ppp     auth required           pam_dhkeys.so.1&lt;br /&gt;ppp     auth required           pam_unix_cred.so.1&lt;br /&gt;ppp     auth required           pam_unix_auth.so.1&lt;br /&gt;ppp     auth required           pam_dial_auth.so.1&lt;br /&gt;#&lt;br /&gt;# Default definitions for Authentication management&lt;br /&gt;# Used when service name is not explicitly mentioned for authentication&lt;br /&gt;#&lt;br /&gt;other   auth requisite          pam_authtok_get.so.1&lt;br /&gt;other   auth required           pam_dhkeys.so.1&lt;br /&gt;other   auth required           pam_unix_cred.so.1&lt;br /&gt;other   auth sufficient         pam_unix_auth.so.1&lt;br /&gt;other   auth required           pam_ldap.so.1&lt;br /&gt;#&lt;br /&gt;# passwd command (explicit because of a different authentication module)&lt;br /&gt;#&lt;br /&gt;passwd  auth sufficient         pam_passwd_auth.so.1&lt;br /&gt;passwd  auth required           pam_ldap.so.1&lt;br /&gt;#&lt;br /&gt;# cron service (explicit because of non-usage of pam_roles.so.1)&lt;br /&gt;#&lt;br /&gt;cron    account required        pam_unix_account.so.1&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;# Default definition for Account management&lt;br /&gt;# Used when service name is not explicitly mentioned for account management&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;other   account sufficient      pam_ldap.so.1&lt;br /&gt;other   account requisite       pam_roles.so.1&lt;br /&gt;other   account required        pam_unix_account.so.1&lt;br /&gt;#&lt;br /&gt;# Default definition for Session management&lt;br /&gt;# Used when service name is not explicitly mentioned for session management&lt;br /&gt;#&lt;br /&gt;other   session required        pam_unix_session.so.1&lt;br /&gt;#&lt;br /&gt;# Default definition for  Password management&lt;br /&gt;# Used when service name is not explicitly mentioned for password management&lt;br /&gt;#&lt;br /&gt;other   password required       pam_dhkeys.so.1&lt;br /&gt;other   password requisite      pam_authtok_get.so.1&lt;br /&gt;other   password requisite      pam_authtok_check.so.1&lt;br /&gt;other   password required       pam_authtok_store.so.1&lt;br /&gt;#&lt;br /&gt;# Support for Kerberos V5 authentication and example configurations can&lt;br /&gt;# be found in the pam_krb5(5) man page under the "EXAMPLES" section.&lt;br /&gt;#&lt;br /&gt;Try these commands:&lt;br /&gt;&lt;br /&gt;1 id &lt;name&gt;&lt;br /&gt;2. getent passwd &lt;username&gt;&lt;br /&gt;&lt;br /&gt;This will display the ids of users being inputted and also do show the passwd policy of the requested users.&lt;br /&gt; &lt;br /&gt;In this way we can configure a Solaris Native LDAP Client that is capable for querying name service (uid) from the LDAP Server.&lt;br /&gt;&lt;br /&gt;14.	Configuring Fedora DS Client on HP-UNIX&lt;br /&gt;&lt;br /&gt;For Configuring the Fedora DS Client on HP Unix we need the following package to be installed  :&lt;br /&gt;&lt;br /&gt;J4269AA_B.04.15.01_HP-UX_B.11.23_IA_PA.depot &lt;br /&gt;&lt;br /&gt;The package can be downloaded from the link :&lt;br /&gt;&lt;br /&gt; http://h20392.www2.hp.com/portal/swdepot/index.do&lt;br /&gt;&lt;br /&gt;After downloading the package,we need to run the following command:&lt;br /&gt;&lt;br /&gt;# swinstall –s  /&lt;pathname&gt;/ J4269AA_B.04.15.01_HP-UX_B.11.23_IA_PA.depot &lt;br /&gt;&lt;br /&gt;This package will install the required directory:&lt;br /&gt;&lt;br /&gt;Run the following step-by-step configurations:&lt;br /&gt;# cd /opt/ldapux&lt;br /&gt;# ls&lt;br /&gt;&lt;br /&gt;README               config               newconfig&lt;br /&gt;README-LdapUxClient  contrib              share&lt;br /&gt;README-NisLdap       lib                  ypldapd&lt;br /&gt;bin                  migrate&lt;br /&gt;&lt;br /&gt;# cd config&lt;br /&gt;# ls&lt;br /&gt;create_profile_cache   display_profile_cache  setup&lt;br /&gt;create_profile_entry   get_profile_entry&lt;br /&gt;create_profile_schema  ldap_proxy_config&lt;br /&gt;#./setup&lt;br /&gt;&lt;br /&gt;When we run the setup script it will ask for  the list of queries to be responded:&lt;br /&gt;Would you like to continue with the setup? [Yes]:&lt;br /&gt;Directory Server: [1]:&lt;br /&gt;Directory server host [hpux.sis.personal.net.py = &lt;ip&gt;]: pe.im.logica.com&lt;br /&gt;port number [389]:&lt;br /&gt;Would you like to extend the schema in this directory server? [Yes]:&lt;br /&gt;The LDAP printer schema does not exist in the directory.&lt;br /&gt;Note: The LDAP printer schema is based on IETF RFC 3712.&lt;br /&gt;Would you like to extend the printer schema in this directory server? [Yes]:no&lt;br /&gt;PublicKey schema does not exist in the directory server.&lt;br /&gt;Would you like to install PublicKey schema in this directory server? [Yes]:no&lt;br /&gt;Would you like to install the new automount schema ? [Yes]:no&lt;br /&gt;Profile Entry DN: []: cn=ldapuxprofile,ou=People,dc=pe,dc=im,dc=logica,dc=com&lt;br /&gt;User DN [cn=Directory Manager]:&lt;br /&gt;Password:&lt;br /&gt;Authentication method: [1]:&lt;br /&gt;Would you like to start/restart the LDAP-UX daemon (y/n) ? [y]:&lt;br /&gt;LDAP-UX Client Services setup complete.&lt;br /&gt;&lt;br /&gt;After these series of responses , we need to edit the /etc/nsswitch.conf:&lt;br /&gt;&lt;br /&gt;File : /etc/nsswitch.conf&lt;br /&gt;#&lt;br /&gt;# /etc/nsswitch.hp_defaults:&lt;br /&gt;#&lt;br /&gt;# @(#)B.11.11_LR&lt;br /&gt;#&lt;br /&gt;# An example file that could be copied over to /etc/nsswitch.conf; it&lt;br /&gt;# uses NIS (YP) in conjunction with files.&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;passwd:       compat ldap&lt;br /&gt;group:        compat ldap&lt;br /&gt;shadow:       compat ldap&lt;br /&gt;hosts:        files dns&lt;br /&gt;networks:     files&lt;br /&gt;protocols:    nis [NOTFOUND=return] files&lt;br /&gt;rpc:          nis [NOTFOUND=return] files&lt;br /&gt;publickey:    nis [NOTFOUND=return] files&lt;br /&gt;netgroup:     nis [NOTFOUND=return] files&lt;br /&gt;automount:    files nis&lt;br /&gt;aliases:      files nis&lt;br /&gt;services:     nis [NOTFOUND=return] files&lt;br /&gt;Also, copy the /etc/pam.ldap file to /etc/pam.conf .The file should resemble the following:&lt;br /&gt;File : /etc/pam.conf&lt;br /&gt;# PAM configuration&lt;br /&gt;#&lt;br /&gt;# This pam.conf file is intended as an example only.&lt;br /&gt;#&lt;br /&gt;# Please note that this configuration file has only been modified for the&lt;br /&gt;# default services. Other services can be added or modified as&lt;br /&gt;# needed or desired. If a service is not listed, it will use the&lt;br /&gt;# OTHER classification&lt;br /&gt;#&lt;br /&gt;# the format for a entry is&lt;br /&gt;# &lt;service&gt;     &lt;module_type&gt; &lt;control&gt; &lt;module path&gt; &lt;options&gt;&lt;br /&gt;#&lt;br /&gt;# see pam.conf(4) for more details&lt;br /&gt;#&lt;br /&gt;# Authentication management&lt;br /&gt;#&lt;br /&gt;login    auth sufficient        /usr/lib/security/libpam_unix.1&lt;br /&gt;login    auth required  /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;su       auth sufficient        /usr/lib/security/libpam_unix.1&lt;br /&gt;su       auth required  /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;dtlogin  auth sufficient        /usr/lib/security/libpam_unix.1&lt;br /&gt;dtlogin  auth required  /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;dtaction         auth sufficient        /usr/lib/security/libpam_unix.1&lt;br /&gt;dtaction         auth required  /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;ftp      auth sufficient        /usr/lib/security/libpam_unix.1&lt;br /&gt;ftp      auth required  /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;OTHER    auth sufficient        /usr/lib/security/libpam_unix.1&lt;br /&gt;OTHER    auth required  /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;#&lt;br /&gt;# Account management&lt;br /&gt;#&lt;br /&gt;login    account sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;login    account required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;su       account sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;su       account required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;dtlogin  account sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;dtlogin  account required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;dtaction         account sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;dtaction         account required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;ftp      account sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;ftp      account required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;OTHER    account sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;#&lt;br /&gt;# Session management&lt;br /&gt;#&lt;br /&gt;login    session sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;login    session required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;dtlogin  session sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;dtlogin  session required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;dtaction         session sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;dtaction         session required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;OTHER    session sufficient     /usr/lib/security/libpam_unix.1&lt;br /&gt;OTHER    session required       /usr/lib/security/libpam_ldap.1&lt;br /&gt;#&lt;br /&gt;# Password management&lt;br /&gt;#&lt;br /&gt;login    password sufficient    /usr/lib/security/libpam_unix.1&lt;br /&gt;login    password required      /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;passwd   password sufficient    /usr/lib/security/libpam_unix.1&lt;br /&gt;passwd   password required      /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;dtlogin  password sufficient    /usr/lib/security/libpam_unix.1&lt;br /&gt;dtlogin  password required      /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;dtaction         password sufficient    /usr/lib/security/libpam_unix.1&lt;br /&gt;dtaction         password required      /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;OTHER    password sufficient    /usr/lib/security/libpam_unix.1&lt;br /&gt;OTHER    password required      /usr/lib/security/libpam_ldap.1 try_first_pass&lt;br /&gt;&lt;br /&gt;Try these commands to check if the configuration is really working:&lt;br /&gt;# id shreya&lt;br /&gt;uid=527(shreya) gid=99()&lt;br /&gt;# getent passwd&lt;br /&gt;sh: getent:  not found.&lt;br /&gt;# nsquery passwd shreya ldap&lt;br /&gt;&lt;br /&gt;Using "ldap" for the passwd policy.&lt;br /&gt;&lt;br /&gt;Searching ldap for shreya&lt;br /&gt;User name: shreya&lt;br /&gt;User Id: 527&lt;br /&gt;Group Id: 99&lt;br /&gt;Gecos: shreya&lt;br /&gt;Home Directory: /home/shreya&lt;br /&gt;Shell: /bin/sh&lt;br /&gt;&lt;br /&gt;Switch configuration: Terminates Search&lt;br /&gt;#&lt;br /&gt;Now try logging in from the Client to any user added in the Server.&lt;br /&gt;In case the login is unsuccessful we need to check the PAM module or check the logs in the Server /opt/feodora-ds/slapd/logs/access file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;References   :&lt;br /&gt;1. http://www.directory.fedora.redhat.com/wiki/Documentation&lt;br /&gt;2.http://web.singnet.com.sg/~garyttt/http://forums12.itrc.hp.com/service/forums/questionanswer.do?threadId=1197308&lt;br /&gt;3.http://web.singnet.com.sg/~garyttt/Configuring%20Solaris%20Native%20LDAP%20Client%20for%20Fedora%20Directory%20Server.htm&lt;br /&gt;4. www.enterprisenetworkingplanet.com/netos/article.php/3624006&lt;br /&gt;5. www.linux.com/feature/58731&lt;br /&gt;6. http://docs.safehaus.org/display/PENROSE10/Fedora+Directory+Server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-8604119396602838659?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/8604119396602838659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/see-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8604119396602838659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8604119396602838659'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/see-this.html' title='Fedora DS : Setting up Fedora DS for Linux, HP and Solaris'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3041134587669849281</id><published>2009-11-03T07:58:00.000-08:00</published><updated>2009-11-03T07:58:32.076-08:00</updated><title type='text'>Sendmail:Sendmail masquerade outgoing email address</title><content type='html'>Masquerading is another feature provisioned by Sendmail.With the help of masquerading your outgoing email appers from user@rainaworld.biz instead of realunixuser@server01.rainaworld.biz This will also hide your internal user name or host name from rest of the world.&lt;br /&gt;&lt;br /&gt;So this feature rewrites the hostname in the address of outgoing mail. This is also used when you have centralized mail server i.e. mail hub.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sendmail masquerading configuration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Open your sendmail config file /etc/mail/sendmail.mc:&lt;br /&gt;&lt;br /&gt;# vi /etc/mail/sendmail.mc&lt;br /&gt;&lt;br /&gt;Append/add/modify the lines as follows:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MASQUERADE_AS(rainaworld.biz)dnl&lt;br /&gt;FEATURE(masquerade_envelope)dnl&lt;br /&gt;FEATURE(masquerade_entire_domain)dnl&lt;br /&gt;MASQUERADE_DOMAIN(rainaworld.biz)dnl&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Save and close the file. Replace domain name rainaworld.biz with your actual domain name. &lt;br /&gt;Update and restat sendmail server:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# m4 /etc/mail/sendmail.mc &gt; /etc/mail/sendmail.cf&lt;br /&gt;# /etc/init.d/sendmail restart&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-3041134587669849281?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/3041134587669849281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/sendmailsendmail-masquerade-outgoing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3041134587669849281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3041134587669849281'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/sendmailsendmail-masquerade-outgoing.html' title='Sendmail:Sendmail masquerade outgoing email address'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-4312988015660396601</id><published>2009-11-02T21:46:00.000-08:00</published><updated>2009-11-02T21:46:54.077-08:00</updated><title type='text'>Sendmail: How To Configure Sendmail for DNS-based Blacklisting</title><content type='html'>As soon as a host connects to SMTP port running a sendmail MTA, sendmail can also be configured to check and block IP addresses of incoming emails that are found to be listed on one or more DNS blacklists. This is possible by configuring sendmail directive dnsbl or DNS blacklists. During the SMTP handshake and conversation of host’s IP address to sendmail SMTP port, sendmail can check the connecting hosts for possible black listed IP address from DNS blacklists, lowering down the percentage of incoming SPAM emails.&lt;br /&gt;Basically, here are the steps on how this sendmail dnsbl blacklisting works as an added builtin antispam sendmail directive feature.&lt;br /&gt;&lt;br /&gt;1. A computer host attempts to establish SMTP connections to sendmail. All connecting SMTP host brings with them originating IP address.&lt;br /&gt;2. Sendmail examines SMTP conversation and determines the connecting IP address at the other end of the connection.&lt;br /&gt;3. Sendmail then rearrange the IP address in a format recognizeable by DNS blacklist and submit it to DNS explicitly specified blacklists servers.&lt;br /&gt;4. If the submitted query resolves from the DNS blacklist check, then the sender’s IP address is most likely to be a spammer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;HowTo Configure Sendmail for DNS-based Blacklisting&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Here’s a quick entry on how to configure sendmail to check the incoming IP address of connecting host during the SMTP conversation.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Minimum Requirements&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;a&lt;b&gt;. Linux OS&lt;br /&gt;b. Existing Sendmail setup&lt;br /&gt;c. Existing DNS setup&lt;br /&gt;d. Internet connection&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Steps on how to configure sendmail to check with DNS Blacklists&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step One&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Choose which DNS blacklists are active with a high history of reliability for blacklisting IP address. As an example here, we would be using three DNS blacklists servers.&lt;br /&gt;&lt;br /&gt;zen.spamhaus.org&lt;br /&gt;list.dsbl.org&lt;br /&gt;combined.njabl.org&lt;br /&gt;&lt;br /&gt;You can use your choice of DNS blacklists server sources to suit your needs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step Two&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Configure sendmail to use dnsbl sendmail directive. Backup and modify /etc/mail/sendmail.mc and insert the below details:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FEATURE(`dnsbl', `zen.spamhaus.org', `"550 Refused unsolicited email from " $`'&amp;{client_addr} " - Request access at http://www.spamhaus.org/query/bl?ip=" $`'&amp;{client_addr} ')dnl&lt;br /&gt;FEATURE(`dnsbl', `list.dsbl.org', `"550 Refused unsolicited email from " $`'&amp;{client_addr} " - Request access see http://dsbl.org/listing?"$&amp;{client_addr}')dnl&lt;br /&gt;FEATURE(`dnsbl', `combined.njabl.org', `"550 Refused unsolicited email from " $`'&amp;{client_addr} " - Request access see http://njabl.org/lookup?$&amp;{client_addr}')dnl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The above has been customized to reflect the following useful details:&lt;br /&gt;&lt;br /&gt;a. IP address of the denied computer hosts&lt;br /&gt;b. DNS blacklist server that has been used for checking the denied host&lt;br /&gt;c. Error message with URL site to be shown to computer host for further course of action and why he has been blocked.&lt;br /&gt;&lt;br /&gt;The above sendmail details would also be reflected to sendmail’s default log file for further statistics and monitoring details.&lt;br /&gt;&lt;br /&gt;By default, dnsbl sendmail directive is not included with default sendmail configuration setup.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step Three&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Recompile and restart sendmail daemon service&lt;br /&gt;&lt;br /&gt;# m4 /etc/mail/sendmail.mc &gt; /etc/mail/sendmail.cf&lt;br /&gt;# service sendmail restart&lt;br /&gt;&lt;br /&gt;Monitoring DNS Blacklist Logs with Sendmail&lt;br /&gt;&lt;br /&gt;# tailf /var/log/maillog | grep ‘Refused unsolicited’&lt;br /&gt;&lt;br /&gt;Counting blocked hosts by Sendmail DNS blacklists&lt;br /&gt;&lt;br /&gt;# cat /var/log/maillog | grep ‘Refused unsolicited’ | wc -l&lt;br /&gt;&lt;br /&gt;You can further use more linux command combination like grep and awk to fetch all DNS blocked IP addresses and dump it to a single file.&lt;br /&gt;To be more paranoid, create a script that route blocks all IP addresses dumped from this file. Further action of this scenario would be covered on other separate post.&lt;br /&gt;To be more creative, these number counts can also be graphed and feed to MRTG details for further graphing actions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-4312988015660396601?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/4312988015660396601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/as-soon-as-host-connects-to-smtp-port.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4312988015660396601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/4312988015660396601'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/11/as-soon-as-host-connects-to-smtp-port.html' title='Sendmail: How To Configure Sendmail for DNS-based Blacklisting'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-8220840023876743270</id><published>2009-10-28T08:46:00.000-07:00</published><updated>2009-10-28T08:46:06.359-07:00</updated><title type='text'>Kernel Parameter: Setting the Kernel Parametre?</title><content type='html'>How do I set advanced security options of the TCP/IP stack and virtual memory to improve security and performance of my system? How do I configure Linux kernel to prevent certain kinds of attacks using /etc/sysctl.conf? How do I set Linux kernel parameters?&lt;br /&gt;&lt;br /&gt;sysctl is an interface that allows you to make changes to a running Linux kernel. With /etc/sysctl.conf you can configure various Linux networking and system settings such as:&lt;br /&gt;&lt;br /&gt;   1. Limit network-transmitted configuration for IPv4&lt;br /&gt;   2. Limit network-transmitted configuration for IPv6&lt;br /&gt;   3. Turn on execshild protection&lt;br /&gt;   4. Prevent against the common 'syn flood attack'&lt;br /&gt;   5. Turn on source IP address verification&lt;br /&gt;   6. Prevents a cracker from using a spoofing attack against the IP address of the server.&lt;br /&gt;   7. Logs several types of suspicious packets, such as spoofed packets, source-routed packets, and redirects.&lt;br /&gt;&lt;br /&gt;sysctl command&lt;br /&gt;&lt;br /&gt;The sysctl command is used to modify kernel parameters at runtime. /etc/sysctl.conf is a text file containing sysctl values to be read in and set by sysct at boot time. To view current values, enter:&lt;br /&gt;# sysctl -a&lt;br /&gt;# sysctl -A&lt;br /&gt;# sysctl mib&lt;br /&gt;# sysctl net.ipv4.conf.all.rp_filter&lt;br /&gt;To load settings, enter:&lt;br /&gt;# sysctl -p&lt;br /&gt;Sample /etc/sysctl.conf&lt;br /&gt;&lt;br /&gt;Edit /etc/sysctl.conf and update it as follows. The file is documented with comments. However, I recommend reading the official Linux kernel sysctl tuning help file (see below):&lt;br /&gt;&lt;br /&gt;# The following is suitable for dedicated web server, mail, ftp server etc.&lt;br /&gt;# ---------------------------------------&lt;br /&gt;# BOOLEAN Values:&lt;br /&gt;# a) 0 (zero) - disabled / no / false&lt;br /&gt;# b) Non zero - enabled / yes / true&lt;br /&gt;# --------------------------------------&lt;br /&gt;# Controls IP packet forwarding&lt;br /&gt;net.ipv4.ip_forward = 0&lt;br /&gt; &lt;br /&gt;# Controls source route verification&lt;br /&gt;net.ipv4.conf.default.rp_filter = 1&lt;br /&gt; &lt;br /&gt;# Do not accept source routing&lt;br /&gt;net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt; &lt;br /&gt;# Controls the System Request debugging functionality of the kernel&lt;br /&gt;kernel.sysrq = 0&lt;br /&gt; &lt;br /&gt;# Controls whether core dumps will append the PID to the core filename&lt;br /&gt;# Useful for debugging multi-threaded applications&lt;br /&gt;kernel.core_uses_pid = 1&lt;br /&gt; &lt;br /&gt;# Controls the use of TCP syncookies&lt;br /&gt;#net.ipv4.tcp_syncookies = 1&lt;br /&gt;net.ipv4.tcp_synack_retries = 2&lt;br /&gt; &lt;br /&gt;########## IPv4 networking start ##############&lt;br /&gt;# Send redirects, if router, but this is just server&lt;br /&gt;net.ipv4.conf.all.send_redirects = 0&lt;br /&gt;net.ipv4.conf.default.send_redirects = 0&lt;br /&gt; &lt;br /&gt;# Accept packets with SRR option? No&lt;br /&gt;net.ipv4.conf.all.accept_source_route = 0&lt;br /&gt; &lt;br /&gt;# Accept Redirects? No, this is not router&lt;br /&gt;net.ipv4.conf.all.accept_redirects = 0&lt;br /&gt;net.ipv4.conf.all.secure_redirects = 0&lt;br /&gt; &lt;br /&gt;# Log packets with impossible addresses to kernel log? yes&lt;br /&gt;net.ipv4.conf.all.log_martians = 1&lt;br /&gt;net.ipv4.conf.default.accept_source_route = 0&lt;br /&gt;net.ipv4.conf.default.accept_redirects = 0&lt;br /&gt;net.ipv4.conf.default.secure_redirects = 0&lt;br /&gt; &lt;br /&gt;# Ignore all ICMP ECHO and TIMESTAMP requests sent to it via broadcast/multicast&lt;br /&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;br /&gt; &lt;br /&gt;# Prevent against the common 'syn flood attack'&lt;br /&gt;net.ipv4.tcp_syncookies = 1&lt;br /&gt; &lt;br /&gt;# Enable source validation by reversed path, as specified in RFC1812&lt;br /&gt;net.ipv4.conf.all.rp_filter = 1&lt;br /&gt;net.ipv4.conf.default.rp_filter = 1&lt;br /&gt; &lt;br /&gt;########## IPv6 networking start ##############&lt;br /&gt;# Number of Router Solicitations to send until assuming no routers are present.&lt;br /&gt;# This is host and not router&lt;br /&gt;net.ipv6.conf.default.router_solicitations = 0&lt;br /&gt; &lt;br /&gt;# Accept Router Preference in RA?&lt;br /&gt;net.ipv6.conf.default.accept_ra_rtr_pref = 0&lt;br /&gt; &lt;br /&gt;# Learn Prefix Information in Router Advertisement&lt;br /&gt;net.ipv6.conf.default.accept_ra_pinfo = 0&lt;br /&gt; &lt;br /&gt;# Setting controls whether the system will accept Hop Limit settings from a router advertisement&lt;br /&gt;net.ipv6.conf.default.accept_ra_defrtr = 0&lt;br /&gt; &lt;br /&gt;#router advertisements can cause the system to assign a global unicast address to an interface&lt;br /&gt;net.ipv6.conf.default.autoconf = 0&lt;br /&gt; &lt;br /&gt;#how many neighbor solicitations to send out per address?&lt;br /&gt;net.ipv6.conf.default.dad_transmits = 0&lt;br /&gt; &lt;br /&gt;# How many global unicast IPv6 addresses can be assigned to each interface?&lt;br /&gt;net.ipv6.conf.default.max_addresses = 1&lt;br /&gt; &lt;br /&gt;########## IPv6 networking ends ##############&lt;br /&gt; &lt;br /&gt;#Enable ExecShield protection&lt;br /&gt;kernel.exec-shield = 1&lt;br /&gt;kernel.randomize_va_space = 1&lt;br /&gt; &lt;br /&gt;# TCP and memory optimization&lt;br /&gt;# increase TCP max buffer size setable using setsockopt()&lt;br /&gt;#net.ipv4.tcp_rmem = 4096 87380 8388608&lt;br /&gt;#net.ipv4.tcp_wmem = 4096 87380 8388608&lt;br /&gt; &lt;br /&gt;# increase Linux auto tuning TCP buffer limits&lt;br /&gt;#net.core.rmem_max = 8388608&lt;br /&gt;#net.core.wmem_max = 8388608&lt;br /&gt;#net.core.netdev_max_backlog = 5000&lt;br /&gt;#net.ipv4.tcp_window_scaling = 1&lt;br /&gt; &lt;br /&gt;# increase system file descriptor limit&lt;br /&gt;fs.file-max = 65535&lt;br /&gt; &lt;br /&gt;#Allow for more PIDs&lt;br /&gt;kernel.pid_max = 65536&lt;br /&gt; &lt;br /&gt;#Increase system IP port limits&lt;br /&gt;net.ipv4.ip_local_port_range = 2000 65000&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-8220840023876743270?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/8220840023876743270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/10/kernel-parameter-setting-kernel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8220840023876743270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/8220840023876743270'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/10/kernel-parameter-setting-kernel.html' title='Kernel Parameter: Setting the Kernel Parametre?'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-5916540420687584926</id><published>2009-10-25T04:51:00.000-07:00</published><updated>2009-10-25T07:56:52.071-07:00</updated><title type='text'>Apache:Piped logging program to rotate Apache logs</title><content type='html'>There was a requirement from IT Infrastructure Team that the Apache Logs has always been cumbersome to maintain as it gets full due to heavy rush at the server end. They needed a utility to rotate the logs as per their requirement.&lt;br /&gt;&lt;br /&gt;I explored tools for apache logs maintenance and finally got a chance to try out something.Here is my finding:&lt;br /&gt;&lt;br /&gt;rotatelogs is a simple program for use in conjunction with Apache's piped logfile feature. For example:&lt;br /&gt;&lt;br /&gt;CustomLog "|rotatelogs /var/logs/logfile 86400" common &lt;br /&gt;&lt;br /&gt;This creates the files /var/logs/logfile.nnnn where nnnn is the system time at which the log nominally starts (this time will always be a multiple of the rotation time, so you can synchronize cron scripts with it). At the end of each rotation time (here after 24 hours) a new log is started.&lt;br /&gt;&lt;br /&gt;CustomLog "|rotatelogs /var/logs/logfile 5M" common &lt;br /&gt;&lt;br /&gt;This configuration will rotate the logfile whenever it reaches a size of 5 megabytes.&lt;br /&gt;&lt;br /&gt;ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M" &lt;br /&gt;&lt;br /&gt;This configuration will rotate the error logfile whenever it reaches a size of 5 megabytes, and the suffix to the logfile name will be created of the form errorlog.YYYY-mm-dd-HH_MM_SS.&lt;br /&gt;&lt;br /&gt;■ Synopsis&lt;br /&gt;■ Options&lt;br /&gt;■ Portability&lt;br /&gt;Synopsis&lt;br /&gt;rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ]&lt;br /&gt;&lt;br /&gt;Options&lt;br /&gt;-l (2.0.51 and later)&lt;br /&gt;Causes the use of local time rather than GMT as the base for the interval. Note that using -l in an environment which changes the GMT offset (such as for BST or DST) can lead to unpredictable results!&lt;br /&gt;logfile&lt;br /&gt;The path plus basename of the logfile. If logfile includes any '%' characters, it is treated as a format string for strftime(3). Otherwise, the suffix .nnnnnnnnnn is automatically added and is the time in seconds. Both formats compute the start time from the beginning of the current period.&lt;br /&gt;rotationtime&lt;br /&gt;The time between log file rotations in seconds.&lt;br /&gt;offset&lt;br /&gt;The number of minutes offset from UTC. If omitted, zero is assumed and UTC is used. For example, to use local time in the zone UTC -5 hours, specify a value of -300 for this argument.&lt;br /&gt;filesizeM&lt;br /&gt;The maximum file size in megabytes followed by the letter M to specify size rather than time. Use this parameter in place of both rotationtime and offset.&lt;br /&gt;Portability&lt;br /&gt;The following logfile format string substitutions should be supported by all strftime(3) implementations, see the strftime(3) man page for library-specific extensions.&lt;br /&gt;&lt;br /&gt;%A full weekday name (localized) &lt;br /&gt;%a 3-character weekday name (localized) &lt;br /&gt;%B full month name (localized) &lt;br /&gt;%b 3-character month name (localized) &lt;br /&gt;%c date and time (localized) &lt;br /&gt;%d 2-digit day of month &lt;br /&gt;%H 2-digit hour (24 hour clock) &lt;br /&gt;%I 2-digit hour (12 hour clock) &lt;br /&gt;%j 3-digit day of year &lt;br /&gt;%M 2-digit minute &lt;br /&gt;%m 2-digit month &lt;br /&gt;%p am/pm of 12 hour clock (localized) &lt;br /&gt;%S 2-digit second &lt;br /&gt;%U 2-digit week of year (Sunday first day of week) &lt;br /&gt;%W 2-digit week of year (Monday first day of week) &lt;br /&gt;%w 1-digit weekday (Sunday first day of week) &lt;br /&gt;%X time (localized) &lt;br /&gt;%x date (localized) &lt;br /&gt;%Y 4-digit year &lt;br /&gt;%y 2-digit year &lt;br /&gt;%Z time zone name &lt;br /&gt;%% literal `%'&lt;br /&gt;&lt;br /&gt;Note: Do create the logs directory under /var directory.&lt;br /&gt;For testing, Just restart the httpd service and you will see these directories:&lt;br /&gt;&lt;br /&gt;[root@localhost logs]# ls -la&lt;br /&gt;total 28&lt;br /&gt;drwxr-xr-x   2 root root 4096 2009-10-26 01:45 .&lt;br /&gt;drwxr-xr-x. 23 root root 4096 2009-10-26 01:13 ..&lt;br /&gt;-rw-r--r--   1 root root  632 2009-10-26 01:43 errorlog.2009-10-25-20_13_59&lt;br /&gt;-rw-r--r--   1 root root  632 2009-10-26 01:44 errorlog.2009-10-25-20_14_15&lt;br /&gt;-rw-r--r--   1 root root    0 2009-10-26 01:13 logfile&lt;br /&gt;-rw-r--r--   1 root root  310 2009-10-26 01:21 logfile.1256500257&lt;br /&gt;-rw-r--r--   1 root root  381 2009-10-26 01:39 logfile.1256501364&lt;br /&gt;-rw-r--r--   1 root root   81 2009-10-26 01:44 logfile.1256501673&lt;br /&gt;[root@localhost logs]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-5916540420687584926?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/5916540420687584926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/10/apachepiped-logging-program-to-rotate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5916540420687584926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/5916540420687584926'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/10/apachepiped-logging-program-to-rotate.html' title='Apache:Piped logging program to rotate Apache logs'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3508350818564772343</id><published>2009-10-23T23:37:00.000-07:00</published><updated>2009-10-23T23:37:04.266-07:00</updated><title type='text'>Apache:SSH Public key based authentication – Howto</title><content type='html'>This howto covers generating and using ssh keys for automated:&lt;br /&gt;&lt;br /&gt;a) Login&lt;br /&gt;&lt;br /&gt;b) Make backups&lt;br /&gt;&lt;br /&gt;c) Run commands from shell etc&lt;br /&gt;Task: Generating ssh keys&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) Log on to your workstation ( for example log on to workstation called admin.fbsd.nixcraft.org as vivek user). Please refer the following sample setup - You will be log in, on your local system, AS THE USER you wish to make passwordless ssh connections.&lt;br /&gt;&lt;br /&gt;My Setup&lt;br /&gt;(Click image to enlarge)&lt;br /&gt;&lt;br /&gt;2) Create the Cryptographic Key on FreeBSD workstation, enter:&lt;br /&gt;&lt;br /&gt;$ ssh-keygen -t rsa&lt;br /&gt;&lt;br /&gt;Assign the pass phrase (press [enter] key twice if you don't want a passphrase). It will create 2 files in ~/.ssh directory as follows:&lt;br /&gt;&lt;br /&gt;    * ~/.ssh/id_rsa : identification (private) key&lt;br /&gt;    * ~/.ssh/id_rsa.pub : public key&lt;br /&gt;&lt;br /&gt;3) Use scp to copy the id_rsa.pub (public key) to rh9linux.nixcraft.org server as authorized_keys2 file, this is know as Installing the public key to server.&lt;br /&gt;&lt;br /&gt;$ scp .ssh/id_rsa.pub vivek@rh9linux.nixcraft.org:.ssh/authorized_keys2&lt;br /&gt;&lt;br /&gt;4) From FreeBSD workstation login to server:&lt;br /&gt;&lt;br /&gt;$ ssh rh9linux.nixcraft.org&lt;br /&gt;&lt;br /&gt;5) Changing the pass-phrase on workstation (if needed):&lt;br /&gt;&lt;br /&gt;$ ssh-keygen -p&lt;br /&gt;&lt;br /&gt;6) Use of ssh-agent to avoid continues pass-phrase typing&lt;br /&gt;At freebsd workstation type:&lt;br /&gt;&lt;br /&gt;$ ssh-agent $BASH&lt;br /&gt;$ ssh-add&lt;br /&gt;&lt;br /&gt;Type your pass-phrase&lt;br /&gt;&lt;br /&gt;From here, whenever connecting to server it won’t ask for password.&lt;br /&gt;Above two commands can be added to ~/.bash_profile so that as soon as I login into workstation I can set the agent.&lt;br /&gt;&lt;br /&gt;7) Deleting the keys hold by ssh-agent&lt;br /&gt;&lt;br /&gt;a) To delete all keys&lt;br /&gt;&lt;br /&gt;$ ssh-add -D &lt;br /&gt;&lt;br /&gt;b) To delete specific key&lt;br /&gt;&lt;br /&gt;$ ssh-add -d key&lt;br /&gt;&lt;br /&gt;c) To list keys&lt;br /&gt;&lt;br /&gt;$ ssh-add -l&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/933941164961652504-3508350818564772343?l=linuxhunt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxhunt.blogspot.com/feeds/3508350818564772343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linuxhunt.blogspot.com/2009/10/apachessh-public-key-based.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3508350818564772343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/933941164961652504/posts/default/3508350818564772343'/><link rel='alternate' type='text/html' href='http://linuxhunt.blogspot.com/2009/10/apachessh-public-key-based.html' title='Apache:SSH Public key based authentication – Howto'/><author><name>LinuxFreaker</name><uri>http://www.blogger.com/profile/16464762936310759113</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_zBpmLlXk0_M/SnvT_jy-DnI/AAAAAAAAAAY/lJEB2q5y4VQ/S220/2470698.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-933941164961652504.post-3732197219331225774</id><published>2009-10-23T23:34:00.000-07:00</published><updated>2009-10-23T23:34:16.057-07:00</updated><title type='text'>Apache:Howto Linux / UNIX setup SSH with DSA public key authentication (password less login)</title><content type='html'>I have Linux laptop called tom and remote Linux server called jerry. How do I setup DSA based authentication so I don’t have to type password?&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;&lt;br /&gt;DSA public key authentication can only be established on a per system / user basis only i.e. it is not system wide. You will be setting up ssh with DSA public key authentication for SSH version 2 on two machines:&lt;br /&gt;&lt;br /&gt;#1 machine : your laptop called tom&lt;br /&gt;#2 machine : your remote server called jerry&lt;br /&gt;Command to type on your laptop/desktop (local computer)&lt;br /&gt;&lt;br /&gt;First login to local computer called tom and type the following command.&lt;br /&gt;Step #1: Generate DSA Key Pair&lt;br /&gt;&lt;br /&gt;Use ssh-keygen command as follows:&lt;br /&gt;$ ssh-keygen -t dsa&lt;br /&gt;Output:&lt;br /&gt;&lt;br /&gt;Enter file in which to save the key (/home/vivek/.ssh/id_dsa):  Press [Enter] key&lt;br /&gt;Enter passphrase (empty for no passphrase): myPassword&lt;br /&gt;Enter same passphrase again: myPassword&lt;br /&gt;Your identification has been saved in /home/vivek/.ssh/id_dsa.&lt;br /&gt;Your public key has been saved in /home/vivek/.ssh/id_dsa.pub.&lt;br /&gt;The key fingerprint is:&lt;br /&gt;04:be:15:ca:1d:0a:1e:e2:a7:e5:de:98:4f:b1:a6:01 vivek@vivek-desktop&lt;br /&gt;&lt;br /&gt;Caution: a) Please enter a passphrase different from your account password and confirm the same.&lt;br /&gt;b) The public key is written to /home/you/.ssh/id_dsa.pub.&lt;br /&gt;c) The private key is written to /home/you/.ssh/id_dsa.&lt;br /&gt;d) It is important you never-ever give out your private key.&lt;br /&gt;Step #2: Set directory permission&lt;br /&gt;&lt;br /&gt;Next make sure you have correct permission on .ssh directory:&lt;br /&gt;$ cd&lt;br /&gt;$ chmod 755 .ssh&lt;br /&gt;Step #3: Copy public key&lt;br /&gt;&lt;br /&gt;Now copy file ~/.ssh/id_dsa.pub on Machine #1 (tom) to remote server jerry as ~/.ssh/authorized_keys:&lt;br /&gt;$ scp ~/.ssh/id_dsa.pub user@jerry:.ssh/authorized_keys&lt;br /&gt;Command to type on your remote server called jerry&lt;br /&gt;&lt;br /&gt;Login to your remote server and make sure permissions are set correct:&lt;br /&gt;$ chmod 600 ~/.ssh/authorized_keys&lt;br /&gt;Task: How do I login from client to server with DSA key?&lt;br /&gt;&lt;br /&gt;Use scp or ssh as follows from your local computer:&lt;br /&gt;$ ssh user@jerry&lt;br /&gt;$ ssh user@remote-server.com&lt;br /&gt;$ scp file user@jerry:/tmp&lt;br /&gt;&lt;br /&gt;You will still be asked for the passphrase for the DSA key file each time you connect to remote server called jerry, unless you either did not enter a passphrase when generating the DSA key pair.&lt;br /&gt;Task: How do I login from client to server with DSA key but without typing a passhrase i.e. password-less login?&lt;br /&gt;&lt;br /&gt;Type the following command at shell prompt:&lt;br /&gt;$ exec /usr/bin/ssh-agent $SHELL&lt;br /&gt;$ ssh-add&lt;br /&gt;Output:&lt;br /&gt;&lt;br /&gt;Enter passphrase for /home/vivek/.ssh/id_dsa: myPassword&lt;br /&gt;Identity added: /home/vivek/.ssh/id_dsa (/home/vivek/.ssh/id_dsa)&lt;br /&gt;&lt;br /&gt;Type your passhrase once. Now, you should not be prompted for a password whenever you use ssh, scp, or sftp command.&lt;br /&gt;&lt;br /&gt;If you are using GUI such as Gnome use the command:&lt;br /&gt;$ ssh-askpass&lt;br /&gt;OR&lt;br /&gt;$ /usr/lib/openssh/gnome-ssh-askpass&lt;br /&gt;&lt;br /&gt;To save your passphrase during your GNOME session under Debian / Ubuntu, do as follows:&lt;br /&gt;a) Click on System&lt;br /&gt;b) Select Preferences&lt;br /&gt;c) Select Session&lt;br /&gt;d) Click on New&lt;br /&gt;e) Enter "OpenSSH Password Management" in the Name text area&lt;br /&gt;f) Enter /usr/lib/openssh/gnome-ssh-askpass in the command text area.&lt;br /&gt;Howto Linux / UNIX setup SSH with DSA public key authentication&lt;br /&gt;g) Click on close to save the changes&lt;br /&gt;h) Log out and then log back into GNOME. After GNOME is started, a dialog box will appear prompting you for your passphrase. Enter the passphrase requested. From this point on, you should not be prompted for a password by ssh, scp, or sftp.&lt;div class="blo
