<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Make Mac Work</title>
	
	<link>http://www.makemacwork.com</link>
	<description>Helping Manage The Macintosh Enterprise</description>
	<pubDate>Mon, 06 Jul 2009 07:00:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/makemacwork" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Find Invalid Font Files</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/l3JRShNV7DM/find-invalid-font-files.htm</link>
		<comments>http://www.makemacwork.com/find-invalid-font-files.htm#comments</comments>
		<pubDate>Mon, 06 Jul 2009 07:00:04 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Command Line]]></category>

		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/find-invalid-font-files.htm</guid>
		<description><![CDATA[Just because solving a problem is easy doesn&#8217;t mean it&#8217;s an easy problem. The issue of &#8220;corrupted&#8221; or out-of-spec font files causing operating system or application crashes is a long-standing thorn in the side of Mac users and administrators. That&#8217;s because font files are software that interacts directly with the OS, but that software is [...]]]></description>
			<content:encoded><![CDATA[<p>Just because solving a problem is easy doesn&#8217;t mean it&#8217;s an easy problem. The issue of &#8220;corrupted&#8221; or out-of-spec font files causing operating system or application crashes is a long-standing thorn in the side of Mac users and administrators. That&#8217;s because font files are software that interacts directly with the OS, but that software is often judged (and purchased) on aesthetic, rather than technical, grounds. While the problem of bad font software isn&#8217;t likely to go away any time soon, it&#8217;s at least possible to solve the problem of locating and removing those files.</p>
<p>Beginning in OS X 10.5 (Leopard), Apple built in the ability to run validity checks on any font file. Those checks can be done when the fonts are loaded into Font Book, but they&#8217;re also run beforehand when your disks are indexed by Spotlight. By using <tt>mdfind</tt>, one of the command line tools that works behind the Spotlight interface, it&#8217;s easy to find all the indexed files that may contain bad font data. Open the Terminal and type:</p>
<p><code><strong>mdfind &#8220;com_apple_ats_font_invalid == 1&#8243;</strong></code></p>
<p>This short and simple trick will return a list of all the suspect font files stored on any machine, whether they&#8217;re loaded in one of your user&#8217;s font folders or just stored on a spare external drive. Push the command out with Apple Remote Desktop, and you&#8217;ve got a list of every questionable font on every machine at your whole company. Once you&#8217;ve located these potential problems, it should be easy to round them up and remove them before they cause additional frustration.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/l3JRShNV7DM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/find-invalid-font-files.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/find-invalid-font-files.htm</feedburner:origLink></item>
		<item>
		<title>Enable Remote System Logging</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/16OJnoiXhnM/enable-remote-system-logging.htm</link>
		<comments>http://www.makemacwork.com/enable-remote-system-logging.htm#comments</comments>
		<pubDate>Mon, 29 Jun 2009 07:00:37 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Command Line]]></category>

		<category><![CDATA[OS X Server]]></category>

		<category><![CDATA[System Settings]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/enable-remote-system-logging.htm</guid>
		<description><![CDATA[If you&#8217;ve ever had to troubleshoot a Mac OS X machine, you probably know how invaluable the system logs can be. By simply opening the Console application in the Utilities folder, you can browse the information logged by almost any process on the machine. But how can you compare that data over a large number [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever had to troubleshoot a Mac OS X machine, you probably know how invaluable the system logs can be. By simply opening the Console application in the Utilities folder, you can browse the information logged by almost any process on the machine. But how can you compare that data over a large number of systems, or look at the logs for a machine that isn&#8217;t right in front of you? It&#8217;s simply a matter of properly configuring <tt>syslogd</tt>.</p>
<h3>Listening For Syslog Data:</h3>
<p>Like all Unix systems, Mac OS X logs it&#8217;s system activity through <tt>syslogd</tt>, the system logging daemon. This facility keeps track of all the system activity specified in <tt>/etc/syslog.conf</tt>, which details the kind of information to log (based on its process of origin) and its level of priority (set by its parent process). This system is well documented by simply typing &#8220;<tt>man syslog</tt>&#8221; at the command line. What isn&#8217;t so easy to find is how to configure OS X clients to send this data to a central collection server for analysis.</p>
<p>The secret is hidden in <tt>/System/Library/LaunchDaemons/com.apple.syslogd.plist</tt>. The last item in the file is a key named <tt>NetworkListener</tt>, and by removing the comment characters around it you can tell your Mac server to listen for any and all logging information sent to it via UDP port 514. Once that&#8217;s done, you&#8217;ll need to restart the syslog mechanism by opening the Terminal and typing:</p>
<p><code><strong>sudo launchctl unload \<br />/System/Library/LaunchDaemons/com.apple.syslogd.plist<br />sudo launchctl load \<br />/System/Library/LaunchDaemons/com.apple.syslogd.plist</strong></code></p>
<p>With <tt>syslogd</tt> restarted, your server can now receive and store remote logging data from Macintosh clients, networking devices, and other Unix-compatible systems.</p>
<h3>Sending Remote Syslog Data:</h3>
<p>Now you&#8217;ve got a brand new <tt>syslog</tt> server. It&#8217;s listening, but nothing&#8217;s talking to it yet. For that, we&#8217;ll need to edit <tt>/etc/syslog.conf</tt> on your client machines, telling them what (and where) to report.</p>
<p>Open the file in any text editor, and you&#8217;ll see the following format on the very first line:</p>
<p><code><strong>auth.info;authpriv.*;remoteauth.crit          /var/log/secure.log</strong></code></p>
<p>On the left side are a series of &#8220;selectors&#8221;, each separated by a semi-colon. Each selector is made up of a &#8220;facility&#8221; (before the period), which indicates the category being logged to, and a &#8220;level&#8221; (after the period), which indicates the level of importance that a message from that category needs to reach before it&#8217;s logged. An asterisk acts as a wildcard, including any possible facility or level. </p>
<p>On the right side is an &#8220;action&#8221;, preformed when <tt>syslogd</tt> receives a message matching the specified selector. This is most often expressed as a local log file, but can also be another machine listening for <tt>syslog</tt> data.</p>
<p>So if you wanted to log every possible message to the <tt>syslog</tt> server, you could simply add the following line (replacing <tt>server.example.com</tt> with the name of your local server):</p>
<p><code><strong>*.*          @server.example.com</strong></code></p>
<p>That would send all that messages from any facility at any level of priority to your new syslog server. That configuration&#8217;s fine for testing a single machine, but unless your goal is to completely flood your local network with logging traffic, you&#8217;ll need to narrow down your selectors significantly before you push your revised file out to all your client machines.</p>
<p>Once you determine what information is important to your organization, you can build a custom <tt>syslog.conf</tt> file to install across your whole network, and begin collecting system log information for all your machines.</p>
<p><span class="note">Recommended Reading:</span> For in-depth information on configuring remote logging, check the manpages for <tt>syslogd</tt>, <tt>syslog</tt>, <tt>syslog.conf</tt>, and <tt>logger</tt>.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/16OJnoiXhnM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/enable-remote-system-logging.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/enable-remote-system-logging.htm</feedburner:origLink></item>
		<item>
		<title>Repair Spotlight Indexing</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/_4m8RFNoyTE/repair-spotlight-indexing.htm</link>
		<comments>http://www.makemacwork.com/repair-spotlight-indexing.htm#comments</comments>
		<pubDate>Mon, 22 Jun 2009 07:00:52 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Applications]]></category>

		<category><![CDATA[Command Line]]></category>

		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/repair-spotlight-indexing.htm</guid>
		<description><![CDATA[You&#8217;re looking for an email invitation you sent months ago, but the option to search through each &#8220;Entire Message&#8221; in Mail is grayed out entirely. Instead, you search iCal for the appointment itself, only to find the results are empty. Thinking you have the minutes stored somewhere on your hard drive, you try searching in [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re looking for an email invitation you sent months ago, but the option to search through each &#8220;Entire Message&#8221; in Mail is grayed out entirely. Instead, you search iCal for the appointment itself, only to find the results are empty. Thinking you have the minutes stored somewhere on your hard drive, you try searching in the Finder but discover that even items displayed in open windows can&#8217;t be located. Spotlight indexing has broken on your local machine.</p>
<p>Leopard brought a number of improvements to Spotlight, the OS X search mechanism, including system-wide integration with the Finder and native applications. This is accomplished with an indexing process, <tt>mdworker</tt>, that runs in the background at all times organizing file metadata. While this feature has proven to be quite powerful, it&#8217;s also proved quite troublesome, as issues that would previously effect only Spotlight can now disable the ability to search the content of email messages and calendars as well.</p>
<p>When Spotlight attempts to scan a corrupt file, it can stall or crash, failing to properly index your disks and (as a result) disabling the search functionality in other Apple applications.  To figure out what Spotlight&#8217;s choking on, you&#8217;ll first need it to stop indexing entirely.  Make sure you&#8217;ve quit out of all your effected applications, then open the Terminal and type:</p>
<p><code><strong>sudo mdutil -i off /Volumes/*</strong></code></p>
<p>Once the Spotlight process is disabled, remove the old index files Spotlight built of your existing file system, replacing DISKNAME for the name of each mounted volume:</p>
<p><code><strong>sudo rm -r /Volumes/DISKNAME/.Spotlight-V100</strong></code></p>
<p>Next, open the Console application in the Utilities folder.  View &#8220;All Messages&#8221; in the left hand column, and use the &#8220;Filter&#8221; field in the top right to search for &#8220;<tt>mdworker</tt>&#8221; (the behind-the-scenes process that indexes data for Spotlight).  If the remaining errors end in file names, you&#8217;ve found a likely source for your Spotlight woes.  </p>
<p>Make sure these corrupt files are safe to move (and not within Application bundles or required by the OS), then relocate them to a removable drive or erase them entirely. With your suspect files out of the way, you can restart Spotlight indexing:</p>
<p><code><strong>sudo mdutil -E -i on /Volumes/*</strong></code></p>
<p>Once the indexing is complete, check the Console logs again to make sure the errors haven&#8217;t repeated.  You can now reopen your applications, and the ability to search messages and appointments should be restored.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/_4m8RFNoyTE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/repair-spotlight-indexing.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/repair-spotlight-indexing.htm</feedburner:origLink></item>
		<item>
		<title>Network Users Can’t Login to 10.5.7</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/9N-UPtguH_U/network-users-cant-login-to-1057.htm</link>
		<comments>http://www.makemacwork.com/network-users-cant-login-to-1057.htm#comments</comments>
		<pubDate>Mon, 01 Jun 2009 07:00:51 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Managed Client]]></category>

		<category><![CDATA[Open Directory]]></category>

		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/network-users-cant-login-to-1057.htm</guid>
		<description><![CDATA[In many ways, OS X 10.5.7 is a huge improvement for Leopard users, enhancing Finder network reliability, iCal server interaction, and portable home directory performance. In a managed Open Directory environment, however, it may also have the unfortunate side effect of locking you out of your legacy PowerPC machines.
At the root of the problem is [...]]]></description>
			<content:encoded><![CDATA[<p>In many ways, OS X 10.5.7 is a huge improvement for Leopard users, enhancing Finder network reliability, iCal server interaction, and portable home directory performance. In a managed Open Directory environment, however, it may also have the unfortunate side effect of locking you out of your legacy PowerPC machines.</p>
<p>At the root of the problem is the <tt>/etc/authorization</tt> file, which outlines unique situations where users are granted escalated privileges, and which should be altered as part of the 10.5.7 update process. It appears, however, that the file is updated only on Intel-based machines, leaving managed users on the PPC architecture unable to login on their workstations or laptops. </p>
<p>The solution is to copy the file to a PPC machine booted into target mode from an updated Intel installation, taking care that the ownership and permissions remain the same as on the Intel version. Alternately, if you have multiple PowerPC machines updated and booted, the same idea can be applied en masse by pushing an updated Intel file out via Apple Remote Desktop, JAMF Casper Suite, LANrev, or your preferred third-party distribution tool.</p>
<p>Once the corrected file is in place, reboot the afflicted machines, and login should be restored.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/9N-UPtguH_U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/network-users-cant-login-to-1057.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/network-users-cant-login-to-1057.htm</feedburner:origLink></item>
		<item>
		<title>Disable Network .DS_Store Files</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/MfVEpPOMsHw/disable-network-ds_store-files.htm</link>
		<comments>http://www.makemacwork.com/disable-network-ds_store-files.htm#comments</comments>
		<pubDate>Mon, 25 May 2009 07:00:58 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Command Line]]></category>

		<category><![CDATA[System Settings]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/disable-network-ds_store-files.htm</guid>
		<description><![CDATA[If you aren&#8217;t lucky enough to have corporate servers that run AFP, you&#8217;ve probably had just about enough of the .DS_Store files that Mac OS X leaves lying around your Windows SMB and Linux NFS shares. While the files are turned off by default in Leopard, there are enough Tiger and Panther servers around to [...]]]></description>
			<content:encoded><![CDATA[<p>If you aren&#8217;t lucky enough to have corporate servers that run AFP, you&#8217;ve probably had just about enough of the <tt>.DS_Store</tt> files that Mac OS X leaves lying around your Windows SMB and Linux NFS shares. While the files are turned off by default in Leopard, there are enough Tiger and Panther servers around to drive underfunded IT departments mad.</p>
<p>Keep in mind that those files hold comments and folder views for the Finder, so you&#8217;ll be annoying your Mac users by disabling them. But if your own obsessive-compulsive tendencies outweigh other people&#8217;s convenience (and whose don&#8217;t?), it&#8217;s as simple as running the following command on each client machine:</p>
<p><code><strong>sudo defaults write /Library/Preferences/com.apple.desktopservices \<br />DSDontWriteNetworkStores true</strong></code></p>
<p>If you push this out with ARD, Casper Suite, or LANrev, you can leave off &#8220;<tt>sudo</tt>&#8221; as you&#8217;ll be running the command as <tt>root</tt>. Once the prefernces have changed, just reboot your machines for it to take effect. Just like magic, no more <tt>.DS_Store</tt>!</p>
<p><span class="note">Special Thanks:</span> It&#8217;s a beautiful lazy holiday weekend in Seattle as I write this, and there&#8217;s nothing lazier than stealing an old trick from the <a href="http://creativetechs.com/tipsblog/">Creativetechs Tips</a> blog.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/MfVEpPOMsHw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/disable-network-ds_store-files.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/disable-network-ds_store-files.htm</feedburner:origLink></item>
		<item>
		<title>Track Live File System Changes</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/Y00sUxaxahA/track-live-file-system-changes.htm</link>
		<comments>http://www.makemacwork.com/track-live-file-system-changes.htm#comments</comments>
		<pubDate>Mon, 18 May 2009 07:00:45 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/track-live-file-system-changes.htm</guid>
		<description><![CDATA[Let&#8217;s say you can&#8217;t figure out where some enormous application hides its licensing information, what system files are getting altered by a third-party installer, or even just where some non-standard preferences are getting squirreled away. There are lots of ways to distribute settings to multiple machines, but far fewer to determine what those settings are [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you can&#8217;t figure out where some enormous application hides its licensing information, what system files are getting altered by a third-party installer, or even just where some non-standard preferences are getting squirreled away. There are lots of ways to distribute settings to multiple machines, but far fewer to determine what those settings are and how they&#8217;re stored. What you need is a way to see what files system changes are taking place. The easiest way is with <a href="http://www.fernlightning.com/doku.php?id=software:fseventer:start">FSEventer</a> from fernLighting.</p>
<p>Now FSEventer is not a polished tool. The interface is crude and unfinished in some places. The documentation is sketchy. Developer Robert Pointon&#8217;s focus isn&#8217;t &#8220;look and feel&#8221;, and it shows. </p>
<p>Instead, the focus is on power, and it doesn&#8217;t take long to recognize FSEventer&#8217;s enormous potential. Open the application, authorize root access, and hit the triangular &#8220;play&#8221; button. As you preform tasks on your machine, you&#8217;ll see each file that&#8217;s utilized drawn into an enormous tree. Temporary files, file locks, preferences, and more all appear in real time. </p>
<p><img alt="FSEventer" src="http://www.makemacwork.com/wp-content/images/fseventertree.png"></p>
<p>Once you&#8217;ve finished your work, hit the &#8220;pause&#8221; button, and you&#8217;ve charted all the activity that&#8217;s taken place. You can inspect file information, location, and even double-click to see them in the Finder. Want to filter your results? Click the funnel. Want to start over? Just click the broom. It&#8217;s a simple interface, but one that covers all the bases.</p>
<p>There are several command line utilities that do similar work to FSEventer, but having a graphical representation in this case makes your data much easier to work with. If you&#8217;re responsible for pushing out configurations across your network, or just need to quickly understand how something works on your machine, there aren&#8217;t many tools that are as useful or as convenient.</p>
<p>FSEventer is donationware.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/Y00sUxaxahA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/track-live-file-system-changes.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/track-live-file-system-changes.htm</feedburner:origLink></item>
		<item>
		<title>Configure Internal DNS — Part 2</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/wrNi1E-1O28/configure-internal-dns-2.htm</link>
		<comments>http://www.makemacwork.com/configure-internal-dns-2.htm#comments</comments>
		<pubDate>Mon, 11 May 2009 07:00:06 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Command Line]]></category>

		<category><![CDATA[OS X Server]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/configure-internal-dns-2.htm</guid>
		<description><![CDATA[Last week in part one of this article, we learned how to configure a single OS X Server to provide DNS. This week, we&#8217;ll look at providing redundancy with a secondary DNS server and configure our client machines to receive our new DNS settings.
Configuring Secondary DNS:
Now that you&#8217;ve got a functioning DNS server inside your [...]]]></description>
			<content:encoded><![CDATA[<p>Last week in <a href="http://www.makemacwork.com/configure-internal-dns-1.htm">part one</a> of this article, we learned how to configure a single OS X Server to provide DNS. This week, we&#8217;ll look at providing redundancy with a secondary DNS server and configure our client machines to receive our new DNS settings.</p>
<h3>Configuring Secondary DNS:</h3>
<p>Now that you&#8217;ve got a functioning DNS server inside your network, the next thing to do is consider what happens if that server is interrupted. Once your internal DNS becomes the center of your network, it&#8217;s hard to make an argument against the importance of providing redundancy. Unless you expect your main server will never go down for even a second, you&#8217;ll want a backup plan. </p>
<p>Fortunately, a second OS X Server can act as a secondary DNS source with little configuration. This secondary server will provide the same information as the primary (synchronized periodically to catch any changes), and </p>
<p><img alt="Server Admin - DNS - Zone Transfers" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-transfer.png"></p>
<p>First, on the primary server you&#8217;ve just configured, go back to the &#8220;Zones&#8221; pane in the &#8220;DNS&#8221; settings of Server Admin and highlight your domain. Then further down the window, check the box marked &#8220;Allows Zone Transfer&#8221;. With the default DNS settings Apple provides, other servers within your network should now be able to inherit and host the zone file for this domain.</p>
<p><img alt="Server Admin - DNS - Secondary Zones" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-secondary.png"></p>
<p>Now, on the server that will act as your secondary DNS, open Server Admin, and browse to the same &#8220;Zones&#8221; pane. This should be empty on an unconfigured machine. Click the &#8220;Add Zone&#8221; button at the middle of the window, and select &#8220;Add Secondary Zone (Slave)&#8221;. Enter the domain you&#8217;ll be handling secondary DNS for, and the IP address of your primary DNS server. Save, then start the DNS server.</p>
<h3>DNS Client Configuration:</h3>
<p>In order to get the domain information your new servers provide, client machines need to be told where to look. And since the DNS servers at your ISP likely see an external server as authoritative for your domain, you&#8217;ll need to make sure your internal clients (including your server itself) look to the internal server first. </p>
<p><img alt="System Preferences - Network - DNS" src="http://www.makemacwork.com/wp-content/images/syspref-network-dns.png"></p>
<p>For a single machine, this is as easy as opening the &#8220;Network&#8221; pane of the System Preferences application and replacing the current setting with your DNS server&#8217;s IP. When you&#8217;ve got to make this change on a couple hundred machines, though, even a minute each will make for hours of work. In most cases, this means some kind of network settings deployment.</p>
<p>If you&#8217;re already utilizing DHCP (that&#8217;s Dynamic Host Configuration Protocol) to distribute IPs on your LAN, it makes sense to use the same mechanism to distribute DNS settings as well. If, instead, your network setup somehow precludes this, Mac OS X has an easy way to push DNS settings out to your machines. Using Apple Remote Dektop&#8217;s &#8220;Send UNIX Command&#8221; feature, just select your new client machines and enter:</p>
<p><code><strong>networksetup -setdnsservers &#8220;NETWORKSERVICE&#8221; PRIMARY SECONDARY</strong></code></p>
<p>In this setup, <tt>NETWORKSERVICE</tt> describes the network interface on the client machine. It&#8217;s typically &#8220;Ethernet 1&#8243; (or just &#8220;Ethernet&#8221; for laptops), but you may wish to run <tt>networksetup -listallnetworkservices</tt> if you&#8217;ve got an unusual configuration, just to see what options are available to you. <tt>PRIMARY</tt> and <tt>SECONDARY</tt> are simply the IPs for your new DNS server(s).</p>
<p>This will reset the servers your client machines look to for DNS information, and allow them to find domain information specific to your internal network.</p>
<p><span class="note">Recommended Reading:</span> For a complete understanding of the BIND software that runs Mac OS X DNS, there isn&#8217;t a more definitive text than the venerable <a href="http://oreilly.com/catalog/9780596100575/">DNS and BIND</a>, now in it&#8217;s fifth edition by Paul Albitz and Cricket Liu.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/wrNi1E-1O28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/configure-internal-dns-2.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/configure-internal-dns-2.htm</feedburner:origLink></item>
		<item>
		<title>Configure Internal DNS — Part 1</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/yAVxyuloCAM/configure-internal-dns-1.htm</link>
		<comments>http://www.makemacwork.com/configure-internal-dns-1.htm#comments</comments>
		<pubDate>Mon, 04 May 2009 07:00:12 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[OS X Server]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/?p=89</guid>
		<description><![CDATA[Without DNS, the domain name system that translates computer names to IP numbers, most networks would fall apart completely. As well as directing traffic on the internet, DNS is used for name-based routing in corporate environments, and especially for machines (like laptops) which can span the two. With Apple&#8217;s recent focus on URL-based protocols, and [...]]]></description>
			<content:encoded><![CDATA[<p>Without DNS, the domain name system that translates computer names to IP numbers, most networks would fall apart completely. As well as directing traffic on the internet, DNS is used for name-based routing in corporate environments, and especially for machines (like laptops) which can span the two. With Apple&#8217;s recent focus on URL-based protocols, and despite the popularity of LAN-based systems like Bonjour, the ability to configure internal DNS properly is an essential skill.  In this two-part article, we&#8217;ll look at how to do just that.</p>
<p>Before we begin, a quick word of warning: If you don&#8217;t already understand DNS, you really shouldn&#8217;t be allowed to make changes to it. Nothing will screw up your day, or your employment situation, faster than taking your whole network down. So if you&#8217;ve found yourself in the unenviable position of having to set up DNS without experience or guidance, do yourself a favor and practice the procedure on a test network first. The job you save could be your own.</p>
<h3>Basic DNS Configuration:</h3>
<p>To start your setup, select the server you&#8217;d like to configure, and choose &#8220;DNS&#8221; from the list of available services in Server Admin. Choose &#8220;Zones&#8221; from the toolbar, then press the &#8220;Add Zone&#8221; button in the center of the window and select &#8220;Add Primary Zone&#8221;. An entry for the <tt>example.com</tt> zone will appear at the top of the window.</p>
<p><img alt="Server Admin - DNS Zone Defaults" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-defaults.png" /></p>
<p>At this point, you&#8217;ll be tempted to hit &#8220;Save&#8221; before proceeding, but doing so triggers a terrible bug in some versions of Leopard that will break the configuration file that Server Admin edits (leaving it to permanently believe <tt>example.com</tt> is in fact your real domain). Instead, immediately change the &#8220;Primary Zone Name&#8221; to the name of your own domain, followed by a period to indicate that the entry is &#8220;fully-qualified&#8221;. A fully-qualified domain name is one that doesn&#8217;t require the host&#8217;s domain to be appended to it. </p>
<p>You&#8217;ll also want to change the name and IP of the first machine record (also known as an A record) to those of the server you&#8217;re configuring, this time without a period after it to indicate that it&#8217;s part of the larger domain. </p>
<p>You&#8217;ll then need to add what&#8217;s called an MX record, indicating the host (or hosts) to which mail is sent for your domain. Do so by clinking the plus symbol beneath the &#8220;Mail Exchangers&#8221; field, and input each hostname followed by it&#8217;s priority (traditionally <tt>10</tt> for the first mail server, <tt>20</tt> for the second). Then, and only then, will you want to save your work.</p>
<p><img alt="Server Admin - DNS Zones" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones.png" /></p>
<p>Now that there&#8217;s a record of your domain, and one of its primary server, you&#8217;ll need to tell client machines where to look for information on other domains. Click &#8220;Settings&#8221; in the toolbar at the top of the window, then click the plus symbol beneath the section marked &#8220;Forwarder IP Addresses&#8221;. Add the IP addresses of the DNS servers at your internet service provider (those pictured are mine from Comcast here in Seattle), then hit &#8220;Save&#8221; once more. This will allow your client machines to receive DNS information for the remainder of the internet.</p>
<p><img alt="Server Admin - DNS Settings" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-settings.png" /></p>
<p>If your domain exists only within your own network, you&#8217;re ready to click &#8220;Start DNS&#8221; and configure your client machines to use your new DNS server. If your company has any kind of internet presence, however, you&#8217;ve got a little more work ahead of you.</p>
<h3>Split DNS Configuration:</h3>
<p>When DNS was originally designed, every machine on the internet used a static IP, and address translation from internal to external networks didn&#8217;t exist. Twenty-five years later, the internet is a very different place, and most corporate servers are well protected from it. This can create a problem when you try to use the same domain name both inside your own network and outside on the internet, as local users won&#8217;t be able to find externally hosted services like email or websites.</p>
<p>The most common solution is configuring a &#8220;split&#8221; DNS, where servers both inside and outside your network control customized resolution of your domain for only those machines that can see them. This would, were I hosting my own email for instance, let internet machines find <tt>mail.makemacwork.com</tt> at an external IP of <tt>64.13.192.203</tt> routed through my firewall, while still pointing internal clients at <tt>192.168.0.250</tt> on their local network. In this case, both IPs would be the same machine, but with the external record on the DNS server at my ISP and the internal record on my own internal server.</p>
<p>Even if you&#8217;re not hosting any internet-available services, though, your internal machines will see your new DNS server as the authoritative source of information on your domain. So if you&#8217;ve outsourced any kind of hosting with the same domain name, you&#8217;ll need to put that information in your internal zone record as well.</p>
<p><img alt="Server Admin - DNS Zones - Add CNAME" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-addcname.png" /></p>
<p>Go back to &#8220;Zones&#8221; in the Server Admin toolbar, highlight your domain, and choose &#8220;Add Machine (A)&#8221; again from the &#8220;Add Record&#8221; button. Repeat this until each external server has it&#8217;s own listing. If more than one hostname resolves to the same IP, all but one should be configured using the &#8220;Add Alias (CNAME)&#8221; option instead. </p>
<p>With all the hostnames on your domain configured, you can finally start the DNS service.</p>
<p>Next week in <a href="http://www.makemacwork.com/configure-internal-dns-2.htm">part two</a>, we&#8217;ll look at configuring your client machines to find your new DNS server, and setting up a secondary DNS server for redundancy.</p>
<p><span class="note">Recommended Reading:</span> For a simple overview of <a href="http://www.howstuffworks.com/dns.htm">How Domain Name Servers Work</a>, there&#8217;s a great (if slightly web-centric) synopsis at the appropriately named &#8220;How Stuff Works&#8221;.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/yAVxyuloCAM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/configure-internal-dns-1.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/configure-internal-dns-1.htm</feedburner:origLink></item>
		<item>
		<title>Retrospect 8 Erases All Tapes</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/6sRdVZ6ig_Y/retrospect-8-erases-all-tapes.htm</link>
		<comments>http://www.makemacwork.com/retrospect-8-erases-all-tapes.htm#comments</comments>
		<pubDate>Mon, 06 Apr 2009 07:00:13 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Applications]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/retrospect-8-erases-all-tapes</guid>
		<description><![CDATA[Just two weeks after EMC began shipping Retrospect 8.0, the newest version of their long-neglected and much-maligned backup software for Macintosh, a catastrophic bug was found which can accidentally erase any data stored within a multi-tape library.
The issue wasn&#8217;t reported in the Retrospect Knowledge Base or even the Retrospect Twitter Feed, nor was it emailed [...]]]></description>
			<content:encoded><![CDATA[<p>Just two weeks after EMC began shipping <a href="http://retrospect.com/products/software/retroformac/">Retrospect 8.0</a>, the newest version of their long-neglected and much-maligned backup software for Macintosh, a catastrophic bug was found which can accidentally erase any data stored within a multi-tape library.</p>
<p>The issue wasn&#8217;t reported in the <a href="http://kb.dantz.com/display/2n/index.asp">Retrospect Knowledge Base</a> or even the <a href="http://twitter.com/emcretrospect">Retrospect Twitter Feed</a>, nor was it emailed to registered Retrospect 8 users. If you happened to be lurking on Retrospect&#8217;s support forums, however, you&#8217;d find their handy <a href="http://forums.dantz.com/showtopic.php?tid/30077/">Alert for Tape Library Users</a> posted April 3rd.</p>
<p>According to the notice, &#8220;When highlighting a group of tape slots or a magazine and clicking Erase, EMC Retrospect 8.0 incorrectly sends the Erase All command, commanding the tape library to erase all the tapes contained in the library, instead of only those tapes in the group/magazine&#8221;. They suggest that instead, you erase each tape individually, or remove any tapes you don&#8217;t want erased from your loader.</p>
<p>So if you&#8217;re thinking about upgrading to Retrospect 8, you might want to wait until this (and a host of <a href="http://kb.dantz.com/display/2n/articleDirect/index.asp?aid=9709">less catastrophic issues</a>) have been resolved.</p>
<p><span class="note">Update:</span> This issue was addressed in Retrospect 8.0.608. We&#8217;d recommend you update immediately to use Retrospect 8 safely.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/6sRdVZ6ig_Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/retrospect-8-erases-all-tapes.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/retrospect-8-erases-all-tapes.htm</feedburner:origLink></item>
		<item>
		<title>Archive Open Directory</title>
		<link>http://feedproxy.google.com/~r/makemacwork/~3/DrIZpmMg_IU/archive-open-directory.htm</link>
		<comments>http://www.makemacwork.com/archive-open-directory.htm#comments</comments>
		<pubDate>Mon, 30 Mar 2009 07:00:17 +0000</pubDate>
		<dc:creator>Ellis Jordan Bojar</dc:creator>
		
		<category><![CDATA[Command Line]]></category>

		<category><![CDATA[Open Directory]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/archive-open-directory</guid>
		<description><![CDATA[While Apple strongly recommends that Open Directory administrators create directory service archives as part of their backup routine, it&#8217;s one of the few OS X administrative tasks for which there&#8217;s no command line process to do so. When I discussed this omission with a number of my colleagues last month, we all agreed it was [...]]]></description>
			<content:encoded><![CDATA[<p>While Apple strongly recommends that Open Directory administrators create directory service archives as part of their backup routine, it&#8217;s one of the few OS X administrative tasks for which there&#8217;s no command line process to do so. When I discussed this omission with a number of my colleagues last month, we all agreed it was a problem that needed a solution, but only my friend <a href="http://www.kelleycomputing.net/">Eddie Kelly</a> actually did something about it.</p>
<p><a href="http://www.kelleycomputing.net/downloads/ODBackup.dmg">ODBackup</a> is a script which creates valid, restorable Open Directory archives in <tt>.dmg</tt> format. In an emergency, these archives can be restored via the Archive tab in the Open Directory options of System Admin, exactly like those created via the GUI tool. Just install the script on your Open Directory master and type &#8220;<tt>ODBackup -h</tt>&#8221; for help configuring your own archive scheme.</p>
<p>The script allows you to either choose the archive&#8217;s password on the command line (leaving it in your command history) or have a randomly-generated password mailed to you (leaving it in your mail spool on another server). Neither choice is perfect, but the latter is arguably more secure, in that you&#8217;re metaphorically keeping the bullets and the gun in separate drawers. The random password generation also allows you to automatically create archives on a reoccurring basis, either via <tt>launchd</tt> or third-party management tools, without leaving your password in a script.</p>
<p>This isn&#8217;t a tool for those uncomfortable with the command line (in fact, I&#8217;d recommend you never run a script you don&#8217;t fully understand), but for those of us responsible for multiple Open Directory environments ODBackup is an incredibly generous gift.</p>
<p>ODBackup is available for free, under the terms of the GNU GPL.</p>
<img src="http://feeds.feedburner.com/~r/makemacwork/~4/DrIZpmMg_IU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/archive-open-directory.htm/feed</wfw:commentRss>
		<feedburner:origLink>http://www.makemacwork.com/archive-open-directory.htm</feedburner:origLink></item>
	</channel>
</rss>
