AFP548 http://www.afp548.com Full AFP548 article feed. www@afp548.com www@afp548.com Copyright 2008 AFP548 GeekLog Wed, 23 Jul 2008 10:12:37 -0500 en-gb InstaDMG 1.4b2 Release and Project Changes http://www.afp548.com/article.php?story=20080722140105335 http://www.afp548.com/article.php?story=20080722140105335 Tue, 22 Jul 2008 14:01:00 -0500 http://www.afp548.com/article.php?story=20080722140105335#comments AFP548 Site News <p>Updates a plenty from the InstaDMG front today.</p><p><strong>Read on for details...</strong></p> <p>The reference script gets a bump to 1.4b2 with lots of added featuresfrom reader Fred Licht, many of which are directed at a future whereyou may have multiple builds running at one time. I&#39;ve added someupdates as well and it&#39;s a nice release. Some of the changes are:</p><p>Randomized intermediary image names.<br />Individual InstallerChoices.xml files for every package.<br />Individual logs per run.<br />The AppleUpdates folder changes names to the BaseUpdates folder.<br />Lots of other cleanup.<br /><br />The most important thing in here when updating to 1.4b2 is that the<strong>AppleUpdates folder has changed names to BaseUpdates</strong>. This is to help combat some confusion as to what goes in there. Make sure thatyou update your build train roots as needed.<br /><br />From a development standpoint we are plugging away at the 1.4 featureset. In order to help the many people that want to help me, the activedevelopment of the reference script is moving to the SVNat <a href="http://code.google.com/p/instadmg/">http://code.google.com/p/instadmg/</a>. <br /><br />This doesn&#39;t mean that InstaDMG is leaving AFP548.com though. Goingforward the active development version and bug tracking will live atGoogle Code. The reference releases, news, and discussion forums will continue tolive here. If you don&#39;t have a hankering to write code, or live on anightly, then nothing will change for you. Please note that the issue tracker on Google Code is where you should file bugs or feature requests. </p><p>You can grab the new reference release in our downloads section <a href="../filemgmt/visit.php?lid=82">here</a>. </p><p>As always, many thanks to the readers who provide the support for InstaDMG!</p> Competition Time! - seeking a name for &quot;kicker-replacement&quot; (We have a Winner!) http://www.afp548.com/article.php?story=seeking-a-name-for-kicker-replacement http://www.afp548.com/article.php?story=seeking-a-name-for-kicker-replacement Wed, 16 Jul 2008 13:41:52 -0500 http://www.afp548.com/article.php?story=seeking-a-name-for-kicker-replacement#comments Articles <p>You might have read some of our previous articles talking about using <a href="../article.php?story=kicker">kicker</a> to perform actions on network status changes.<br /><br />This was always an unsupported solution, and with Leopard it turns out that Apple no longer needed kicker, and so they got rid of it.<br /><br />Chris Adams and I started kicking around some ideas in Python, and the result is an incredibly flexible framework for triggering events on any change to the SystemConfiguration API, NSWorkspace notifications, and filesystem changes via FSEvents.<br /><br />You can find this along with some other useful Python Mac sysadmin utilities at the Google Code site&nbsp;<a href="http://code.google.com/p/pymacadmin/">pymacadmin</a>.<br /><br />Anyway, there&#39;s a problem.<br /><br /><strong>We need a name.</strong></p><p>&nbsp;</p><p><span class="Apple-style-span">[Edit: 2008/07/23 - We have a winner! Kok-Yong Tan </span><a href="../comment.php?mode=view&amp;cid=10010"><span class="Apple-style-span">came up with</span></a><span class="Apple-style-span">&nbsp;&quot;cranker&quot; and the primary daemon will be called &quot;crankd&quot; ]</span></p><p>&nbsp;</p><p>Read on for details....</p> <p><br />The only material benefit we can promise you is some Google schwag that is yet to be determined... as well as a permanant line inside the README file, but think of the fame!&nbsp;<br /><br />We really think this is going to be huge. It&#39;s incredibly useful, you can use it to trigger events on network changes, and NSWorkspace notifications like:&nbsp;</p><ul><li>NSWorkspaceDidLaunchApplicationNotification</li><li>NSWorkspaceDidMountNotification</li><li>NSWorkspaceDidPerformFileOperationNotification</li><li>NSWorkspaceDidTerminateApplicationNotification</li><li>NSWorkspaceDidWakeNotification</li><li>NSWorkspaceDidUnmountNotification</li><li>NSWorkspaceSessionDidBecomeActiveNotification</li><li>NSWorkspaceSessionDidResignActiveNotification</li><li>NSWorkspaceWillLaunchApplicationNotification</li><li>NSWorkspaceWillPowerOffNotification</li><li>NSWorkspaceWillSleepNotification</li><li>NSWorkspaceWillUnmountNotification</li></ul><br /><br />but we need a name! We&#39;ll update this article when we&#39;ve chosen one. You can submit a name in the comments below this article, or by joining the Google Group&nbsp;<a href="http://groups.google.com/group/pymacadmin">pymacadmin</a>&nbsp;and posting it there.&nbsp;<br /><br />If you&#39;re interested in all the amazing ramifications of Apple opening up the entire Cocoa API to Python in 10.5 as far as sysadmins go, please join the group and code project, and join in. We&#39;ve already started working on a unit testing framework for Mac OS X image candidates that plays really nicely with&nbsp;<a href="../article.php?story=instadmg-beta">InstaDMG</a>.&nbsp; iPhone-o-rama! http://www.afp548.com/article.php?story=20080711195228154 http://www.afp548.com/article.php?story=20080711195228154 Fri, 11 Jul 2008 19:52:00 -0500 http://www.afp548.com/article.php?story=20080711195228154#comments Articles <p>How about some light reading while you play around with the App store?</p><p>First and foremost the deployment guide from Apple can be found <a href="http://support.apple.com/manuals/en_US/Enterprise_Deployment_Guide.pdf" title="iPhone and iPod Touch Enterprise Deployment Guide">here</a>. A lot of good information about how to configure up the device for use within an Enterprise.</p><p>Some Enterprise-specific support information can be found <a href="http://www.apple.com/support/iphone/enterprise/" title="Apple's Enterprise support page for the iPhone">here</a>. This page will link you to the Enterprise Configuration Utility.</p><p>Finally, some perspective on using an iPhone with Exchange from Microsoft&#39;s <a href="http://msexchangeteam.com/archive/2008/07/11/449196.aspx" title="Microsoft's Exchange blog">Exchange blog</a>.&nbsp;</p> John de Troye in French! http://www.afp548.com/article.php?story=20080709105906581 http://www.afp548.com/article.php?story=20080709105906581 Wed, 09 Jul 2008 10:59:06 -0500 http://www.afp548.com/article.php?story=20080709105906581#comments Articles <p>NausicaMedia, the first french company certified on Mac OS X and Mac OS X Server, has translated the &quot;Tips and Tricks for Macintosh Management&quot; of John de Troye in french.</p><p>Although this is the Tiger Version, the Leopard&#39;s one is not released yet, everyone know how much this documentation can be important as a practice for a sysadmin. The Tips and Tricks have been many times lauded like the documentation you can&#39;t get from a training center !</p><p>&quot;Tips and tricks for the Macintosh Management&quot;, sorry : &quot;Trucs et astuces pour la Gestion du Macintosh&quot; is available at NausicaMedia&#39;s website.</p> Kerberos in Leopard: The Local KDC part 1 http://www.afp548.com/article.php?story=20080709091503862 http://www.afp548.com/article.php?story=20080709091503862 Wed, 09 Jul 2008 09:15:00 -0500 http://www.afp548.com/article.php?story=20080709091503862#comments Articles <p><strong>The Local KDC and why it shouldn&#39;t make you run in fear.</strong><br /><br />Leopard brings a brand new and much misunderstood invention to Mac OS X. Every client, and server, will create, maintain and use it&#39;s own instance of a Kerberos Key Distribution Center. All users on the system will be given Local KDC principals in addition to whatever other form of password store they would have otherwise received.</p><p>Crazy?<br /><br />Maybe.<br /><br />Brilliant?<br /><br />Most certainly.<br /><br />Read on for why this really shouldn&#39;t scare the living crap out of you... </p> <p><strong>What is this crazy thing?</strong><br /><br />In order to better secure peer-to-peer communication, and this isn&#39;t the &quot;dirty&quot; kind of P2P but just any connection not using a centralized directory service, Apple has added a local KDC to every install of Leopard.<br /><br />This was a rather bold move on the behalf of Apple, as Kerberos has often times been seen as the work of the owner of the 3-headed dog which Kerberos uses as it&#39;s logo. Regardless of the perception of amazing complexity though, Kerberos is widely considered a very secure method of authentication. Both Open Directory and Active Directory heavily leverage Kerberos to not only ensure a secure channel for authentication but to also provide a mechanism for single-sign-on to the user.<br /><br />And that is exactly what the LKDC provides. A method of secure authentication with the additional gravy of a single sign-on environment.<br /><br /><strong>Local Only</strong><br /><br />The first piece to understand is that the concept of the LKDC isn&#39;t just an Apple construct. While Apple seems to have driven the creation of the beast, the functionality, or at least the basics of it, has been rolled back into the MIT Kerberos distribution. Will other vendors use the functionality... that&#39;s yet to be determined.<br /><br />You can recognize a LKDC because the Kerberos realm will start with LKDC: followed by a SHA1 hash or the KDC&#39;s public certificate that essentially acts as a unique identifier. No &quot;real&quot; realm is going to start with LKDC: so there should be no confusion between local and managed Kerberos environments.<br /><br />By definition the LKDC only can encompass one machine. There are no member servers. The KDC and the kadmin servers are one in the same. There is no redundancy and there are no trusts or any relationships between an LKDC and any other, local or not, Kerberos realm.<br /><br />Because of this you&#39;ll find no edu.mit.kerberos file, or krb5.conf file for you non-OS X folk, that references the LKDC. The beauty of the entire instance of the LKDC living on the same server means that you don&#39;t need one. If you talk to a system that proclaims to be from an LKDC, by definition you know that the KDC, the kadmin interface and all member services are on that one specific machine. By the mere fact that you&#39;ve initiated a connection to that server, you now know everything you could ever need to know about the Kerberos realm that the LKDC hosts.<br /><br /><strong>Realms Apart</strong><br /><br />The other piece of magic that had to occur is for the client system to not completely freak out over the seriously massive amount of Kerberos realms that it now might encounter. Take the example of a larger Enterprise organization. It might have 5000 Mac OS X systems in it. This means that there will be 5000 LKDCs present on the network. If you&#39;ve worked with Kerberos prior to the LKDC this is a staggering thought. Enough to make the blood of even the most hardened Kerberos admins run cold. <br /><br />In 10.5 it is perfectly normal, and quite expected, for a client system to acquire and use a multitude of TGTs. Under &quot;old skool&quot; Kerberos you got one TGT when you logged in and you used this for all of your single sign on activities. If you were crazy enough to have multiple Kerberos realms that didn&#39;t have trusts between them you could get yourself another TGT to access resources in that secondary realm. However, you would have to manually switch between the two TGTs depending on what resource you wanted to access next.<br /><br />Now with Leopard the system should be able to use any TGT you currently have to access a service. Well behaved systems on the client will attempt to acquire a service ticket with every TGT you have until it gets one that works. Yes, there&#39;s more traffic going across the wire here, but no, the user is not really inconvenienced by this.</p><p>For Leopard Apple introduced the NetAuthAgent which you&#39;ll find squirreled away in /System/Library/CoreServices. This works as an authentication agent for services. For example, in Leopard when you connect to an AFP share, the AFP client now hands over the task of figuring out the whole Kerberos &quot;problem&quot; to the NetAuthAgent. The agent will figure out the realm as best it can. Some services, specifically AFP can negotiate the realm to use when negotiating the authentication mechanisms that are available. AFP is very much the anomaly here. For the rest of the services the NetAuthAgent will just iterate through the list of TGTs that a user already has and attempt to get a service ticket for the remote server. <br /><br />If we go back to our large example, this means that it should not only be possible, but even expected, that a Leopard client system could have 5000 TGTs for a user at any one time. While it may take a bit longer to get a service ticket for a particular service in this case, it would still be quicker than the user typing in a password, and much less of a bother.<br /><br /><strong>LKDC Creation</strong><br /><br />The LKDC is created when a machine is configured with the inital admin user.<br /><br />The KDC bits and pieces are stored in the usual place, /var/db/krb5kdc. In this location you&#39;ll notice all the trappings of a KDC with all of it referring to an LKDC: realm. In particular the kdc.conf file lists out all the particulars of the LKDC. You&#39;ll note that there is a keypair presumably for the LKDC stashed away in the System keychain, however from reading the config file it seems that there&#39;s no correlation between the keypair and the LKDC. Perhaps this is being reserved for future functionality.<br /><br />If you are an OD Master, it&#39;s perfectly reasonable to expect the ODM to have both a LKDC and a &quot;real&quot; or managed realm associated with it. You&#39;ll notice 2 KDC processes running on your system and 2 KDC databases in /var/db/krb5kdc.</p><p>The presence of an LKDC can be problematic when imaging systems from a Holy Mac that&#39;s already been booted. In this case, it&#39;s best to remove the LKDC database and config files and then recreate them after the machine has been deployed using the configureLocalKDC command.</p><p><strong>Still to Discuss...</strong></p><p>This covers the basic concepts of the LKDC, but not the actual use and abuse thereof. We&#39;ll discuss that when we get around to writing a follow up to this. </p> AFP548 Abducted by Aliens! http://www.afp548.com/article.php?story=20080708172327595 http://www.afp548.com/article.php?story=20080708172327595 Tue, 08 Jul 2008 17:23:27 -0500 http://www.afp548.com/article.php?story=20080708172327595#comments Articles <p>We&#39;re back now... but we&#39;ve been fully probed in all orifices by beings of unknown origin.</p><p>We had just been remarking on how the server had just had it&#39;s 4th birthday... and boom! Double degraded RAID set.</p><p>Anyhoo, we&#39;re back up and running, and should have new content shortly.&nbsp;</p> Request for Testers - MS Certificate Authority http://www.afp548.com/article.php?story=2008070211305064 http://www.afp548.com/article.php?story=2008070211305064 Wed, 02 Jul 2008 11:30:00 -0500 http://www.afp548.com/article.php?story=2008070211305064#comments Articles <p>In our continuing attempt to just tease, but not actually write anything... We&#39;re interested in hearing from people using a Microsoft Certificate Authority to provision machine or user certs.</p><p>Using the MS CA&#39;s web enrollment, it&#39;s actually quite trivial to script all of this and keep it tidy with Kerberos provided by the AD plugin. Uses for this would be to auto-enroll your laptops for certificates to be used with 802.1X, or perhaps to auto-enroll your users with e-mail signing certificates.</p><p>If you&#39;re in an environment like this, and you&#39;d like to try this out a bit, let us know. I&#39;ve got a shell script that does the enrollment work, and shouldn&#39;t require any changes on the AD side.&nbsp;</p> Summer Slowdown http://www.afp548.com/article.php?story=20080627002318672 http://www.afp548.com/article.php?story=20080627002318672 Fri, 27 Jun 2008 00:23:18 -0500 http://www.afp548.com/article.php?story=20080627002318672#comments AFP548 Site News <p>A quick heads up that things may turn around here a bit slower than they have been lately.</p><p>We&#39;re reshuffling the core admin team a bit due to some serious and ongoing time constraints.</p><p>Anyone looking to help pick up the slack in the production please drop us a line.&nbsp;</p> New InstaDMG Release and Versioning http://www.afp548.com/article.php?story=20080624215357589 http://www.afp548.com/article.php?story=20080624215357589 Tue, 24 Jun 2008 21:53:57 -0500 http://www.afp548.com/article.php?story=20080624215357589#comments AFP548 Site News I know, I know... InstaDMG releases are few and far between these days, but there is a reason why!<br /><br />As it stands I&#39;ve been trying to only release major versions like 1.1, 1.2,&nbsp; and 1.3. Internally I&#39;ve got a roadmap and minor versions like 1.3.1, 1.3.2, and 1.3.3 with each point typically corresponding to a feature. The problem with this is that I only have so much time to work on the reference script and as a result there aren&#39;t many releases.<br /><br />I&#39;m going to try and fix this though in two ways. <br /><br />The first is that InstaDMG major releases are no longer beta. Plenty of people are using the script everyday to get work done, including me, so I don&#39;t think that the beta moniker really applies any more.<br /><br />Secondly, I&#39;m going to release each of my previously internal dev versions as betas for the next major. This starts today with 1.4b1 (Which for those that care used to be 1.3.3b.) and will continue until we hit all the 1.4 milestones. Keep in mind that these betas will be representative of that status and things may change in them from release to release. For example I know that there will be logging changes in 1.4b2.<br /><br />By releasing the beta versions we will get more testing, more feedback, and the major releases will be more stable.<br /><br />You can grab the 1.4b1 <a href="../filemgmt/visit.php?lid=80">here</a>. AD Password Expiration Notifications http://www.afp548.com/article.php?story=20080618214731381 http://www.afp548.com/article.php?story=20080618214731381 Wed, 18 Jun 2008 21:47:00 -0500 http://www.afp548.com/article.php?story=20080618214731381#comments Third Party Applications <p>We lost the semi-useful password expiration notifications in 10.5 that we briefly had towards the tail end of 10.4.</p><p>I&#39;d hacked a script together to notify users when their password was about to expire, but hadn&#39;t gotten around to posting it yet. Luckily, Mr. Bukowinski did a better job of it and already posted it.&nbsp;</p><p>Grab the script and Dashboard widget <a href="http://pmbuko.googlepages.com/">here</a>.&nbsp;</p>