<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>MemberManual/GettingStarted</title><revhistory><revision><revnumber>41</revnumber><date>2013-01-13 17:55:10</date><authorinitials>ClintonEbadi</authorinitials><revremark>cat</revremark></revision><revision><revnumber>40</revnumber><date>2013-01-13 17:06:14</date><authorinitials>ClintonEbadi</authorinitials><revremark>the openafs docs broke all of our beautiful links</revremark></revision><revision><revnumber>39</revnumber><date>2011-04-22 23:13:13</date><authorinitials>ClintonEbadi</authorinitials><revremark>Revert to revision 36.</revremark></revision><revision><revnumber>38</revnumber><date>2011-04-22 11:50:21</date><authorinitials>ec2-175-41-141-30.ap-southeast-1.compute.amazonaws.com</authorinitials><revremark>In awe of that awsner! Really cool!</revremark></revision><revision><revnumber>37</revnumber><date>2011-04-21 17:01:38</date><authorinitials>h54.hostsharing.net</authorinitials><revremark>Ftr6fq  &lt;a href=&quot;http://rcacgbwlyxno.com/&quot;&gt;rcacgbwlyxno&lt;/a&gt;</revremark></revision><revision><revnumber>36</revnumber><date>2011-04-21 05:56:32</date><authorinitials>ClintonEbadi</authorinitials><revremark>Revert to revision 34.</revremark></revision><revision><revnumber>35</revnumber><date>2011-04-21 05:55:10</date><authorinitials>dopilganger.zinio.com</authorinitials><revremark>7dBVfG THX that's a great asnwer!</revremark></revision><revision><revnumber>34</revnumber><date>2009-12-19 14:01:17</date><authorinitials>AdamChlipala</authorinitials><revremark>Remove some more</revremark></revision><revision><revnumber>33</revnumber><date>2009-12-19 14:00:23</date><authorinitials>AdamChlipala</authorinitials><revremark>Good information, but it doesn't seem to make the cut of things every new member should read right away.</revremark></revision><revision><revnumber>32</revnumber><date>2009-12-18 20:56:48</date><authorinitials>93-172-9-115.bb.netvision.net.il</authorinitials></revision><revision><revnumber>31</revnumber><date>2009-07-27 19:43:21</date><authorinitials>anonymizer2.blutmagie.de</authorinitials><revremark>fix link to afs guide</revremark></revision><revision><revnumber>30</revnumber><date>2008-07-07 04:28:00</date><authorinitials>localhost</authorinitials><revremark>converted to 1.6 markup</revremark></revision><revision><revnumber>29</revnumber><date>2008-01-22 01:19:38</date><authorinitials>DavorOcelic</authorinitials></revision><revision><revnumber>28</revnumber><date>2008-01-19 20:13:31</date><authorinitials>AdamChlipala</authorinitials><revremark>Billing support</revremark></revision><revision><revnumber>27</revnumber><date>2007-12-29 02:47:58</date><authorinitials>AdamChlipala</authorinitials><revremark>No per-file permissions</revremark></revision><revision><revnumber>26</revnumber><date>2007-12-16 19:31:17</date><authorinitials>AdamChlipala</authorinitials><revremark>No ssh public keys</revremark></revision><revision><revnumber>25</revnumber><date>2007-12-16 18:28:12</date><authorinitials>AdamChlipala</authorinitials><revremark>Stress token expiration</revremark></revision><revision><revnumber>24</revnumber><date>2007-12-15 17:21:23</date><authorinitials>AdamChlipala</authorinitials><revremark>members2 -&gt; members</revremark></revision><revision><revnumber>23</revnumber><date>2007-11-15 03:17:50</date><authorinitials>RyanMikulovsky</authorinitials><revremark>note chmod and chgrp are not used on AFS shares</revremark></revision><revision><revnumber>22</revnumber><date>2007-10-31 04:16:53</date><authorinitials>MichaelOlson</authorinitials><revremark>Describe JoinUs link</revremark></revision><revision><revnumber>21</revnumber><date>2007-10-28 01:18:13</date><authorinitials>MichaelOlson</authorinitials><revremark>Since there aren't steps on the FAQ after all, link to a new page where that info should be added.</revremark></revision><revision><revnumber>20</revnumber><date>2007-10-28 01:03:26</date><authorinitials>MichaelOlson</authorinitials><revremark>Promote headings</revremark></revision><revision><revnumber>19</revnumber><date>2007-10-27 19:09:09</date><authorinitials>AdamChlipala</authorinitials><revremark>It's still confusing.</revremark></revision><revision><revnumber>18</revnumber><date>2007-10-27 18:25:48</date><authorinitials>MichaelOlson</authorinitials><revremark>Make it more clear that AFS user guide is optional reading</revremark></revision><revision><revnumber>17</revnumber><date>2007-10-27 18:24:14</date><authorinitials>MichaelOlson</authorinitials><revremark>Clarfiy &quot;steps&quot; question re: ProspectiveMemberFaq</revremark></revision><revision><revnumber>16</revnumber><date>2007-10-27 17:44:29</date><authorinitials>AdamChlipala</authorinitials><revremark>Done with pass through page</revremark></revision><revision><revnumber>15</revnumber><date>2007-10-27 17:39:42</date><authorinitials>AdamChlipala</authorinitials><revremark>Remove mention of Bugzilla; get there through the portal, which warns about which other pages you might _really_ want</revremark></revision><revision><revnumber>14</revnumber><date>2007-10-27 17:20:42</date><authorinitials>AdamChlipala</authorinitials><revremark>Whoever wrote this needs a refresher on comma rules. :P</revremark></revision><revision><revnumber>13</revnumber><date>2007-10-25 16:24:51</date><authorinitials>MichaelOlson</authorinitials></revision><revision><revnumber>12</revnumber><date>2007-10-25 16:24:20</date><authorinitials>MichaelOlson</authorinitials><revremark>Let up-to-date members skip Joining section</revremark></revision><revision><revnumber>11</revnumber><date>2007-10-25 15:52:48</date><authorinitials>MichaelOlson</authorinitials><revremark>Add section on joining HCoop</revremark></revision><revision><revnumber>10</revnumber><date>2007-10-25 15:33:37</date><authorinitials>MichaelOlson</authorinitials><revremark>s/RealSecurity/DistributedSecurity/</revremark></revision><revision><revnumber>9</revnumber><date>2007-10-25 05:19:03</date><authorinitials>RyanMikulovsky</authorinitials><revremark>make it clear that Bugzilla is not the right place to lodge support requests for personal computer issues, but only issues caused by the servers.</revremark></revision><revision><revnumber>8</revnumber><date>2007-10-25 04:36:07</date><authorinitials>RyanMikulovsky</authorinitials><revremark>use bugzilla instead of sysadmin list for reporting denyhosts issues</revremark></revision><revision><revnumber>7</revnumber><date>2007-10-25 04:26:39</date><authorinitials>MichaelOlson</authorinitials><revremark>Document denyhosts</revremark></revision><revision><revnumber>6</revnumber><date>2007-10-25 04:14:51</date><authorinitials>MichaelOlson</authorinitials><revremark>Mention RealSecurity</revremark></revision><revision><revnumber>5</revnumber><date>2007-10-25 03:59:34</date><authorinitials>MichaelOlson</authorinitials><revremark>More bugzilla</revremark></revision><revision><revnumber>4</revnumber><date>2007-10-25 03:56:29</date><authorinitials>MichaelOlson</authorinitials><revremark>Add bugzilla section</revremark></revision><revision><revnumber>3</revnumber><date>2007-10-25 03:41:17</date><authorinitials>MichaelOlson</authorinitials><revremark>Further hacking</revremark></revision><revision><revnumber>2</revnumber><date>2007-10-25 03:35:12</date><authorinitials>MichaelOlson</authorinitials><revremark>Document AFS and Kerberos</revremark></revision><revision><revnumber>1</revnumber><date>2007-10-25 00:04:29</date><authorinitials>MichaelOlson</authorinitials><revremark>Copy initial contents here</revremark></revision></revhistory></articleinfo><para>This is the chapter of the <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/MemberManual#">MemberManual</ulink> that describes things that new and current members must know about HCoop's setup.  It is considered required reading before contacting HCoop administrators or filing support requests. </para><section><title>Joining HCoop</title><para>The pages in this section describe the joining process.  If you are an HCoop member who is familiar with the portal and is getting announcement email from us, you may skip this section and move on to the good stuff. </para><itemizedlist><listitem><para><ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/ProspectiveMemberFaq#">Prospective Member FAQ</ulink>: Learn more about HCoop. </para></listitem><listitem><para><ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/JoinUs#">Join HCoop</ulink>: Join HCoop by completing a web form. </para></listitem><listitem><para><ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/MemberManual/GettingStarted/NewMember#">New member</ulink>: After your request is approved, you need to complete the joining process by making an account. </para></listitem><listitem><para><ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/MemberManual/GettingStarted/AccountCreated#">Account created</ulink>: After completing the joining process and making an account, you need to read a very quick summary about email forwarding, pledges, and mailing lists.  These are the absolute essentials for being an up-to-date member. </para></listitem></itemizedlist></section><section><title>AFS: A distributed filesystem</title><para>HCoop now uses <ulink url="http://www.openafs.org/">AFS</ulink>, a distributed filesystem, to implement much of our infrastucture.  Home directories and email are stored in AFS.  AFS allows for fine-grained access control and the ability to access your files from any machine that has an AFS/Kerberos client (including your local workstation, thus avoiding the need for SSH-ing in).  That said, <code>chmod</code> and <code>chgrp</code> are not used at all.  Read more to learn what this means. </para><para>Permissions in AFS are a bit different than standard UNIX file permissions.  Basically, the group of a file and the standard read/write/execute permissions do not matter at all.  In place of these, there is an access control list (called an ACL) for each directory, which is a listing of a role or person and the permissions that it has.  An AFS ACL uses seven types of permissions: <emphasis role="strong">r</emphasis> (read), <emphasis role="strong">l</emphasis> (lookup), <emphasis role="strong">i</emphasis> (insert), <emphasis role="strong">d</emphasis> (delete), <emphasis role="strong">w</emphasis> (write), <emphasis role="strong">k</emphasis> (lock), and <emphasis role="strong">a</emphasis> (administer).  &quot;Read&quot; and &quot;write&quot; are the same as their UNIX equivalents, and &quot;lookup&quot; is similar to the &quot;execute&quot; permission in UNIX -- it permits the files contained in the directory to be accessed.  If you want to learn more about AFS permissions, see <ulink url="http://docs.openafs.org/UserGuide/index.html#HDRWQ13.html">the relevant section of the AFS User Guide</ulink>. </para><para>When a new directory is created inside $HOME, it receives a clone of the ACL for its parent directory.  Every member's home directory starts life initialized with an ACL that allows listing by any authenticated party on HCoop, without granting any other permissions.  However, you can change the ACL for your home directory or any of its subdirectories.  Just remember that, if you don't take special actions to the contrary, every subdirectory of your home directory will be listable by anyone, and no file will be readable by anyone but you and the HCoop admins. </para><para>Individual files do not have ACLs; instead, files inherit the ACLs of the directories they are in.  This is worth repeating: despite what you may be used to in UNIX, <emphasis role="strong">it's impossible to set per-file permissions in AFS</emphasis>.  Instead, set permissions on the directories where files are found.  This may require thinking about rearranging your directory structure. </para><para>If you wish to view the ACL of a specific directory, use: </para><screen><![CDATA[fs listacl <DIRECTORY>]]></screen><para>Please continue on to the <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/MemberManual/GettingStarted/AfsExamples#">AFS examples</ulink> page for some annotated examples on how to set AFS permissions. </para></section><section><title>Kerberos: An authentication mechanism</title><para>SSH access to our system, as well as authentication to anything else at HCoop, is managed by Kerberos.  You get a Kerberos ticket automatically whenever you log in. Tickets expire in 10 hours, and can also keep automatically renewing to last you a week.  After 7 days since creation, your Kerberos tickets will expire and it will not be able to renew the any more; you'll have to create them anew manually, by providing the password. To see your Kerberos tickets, run <emphasis role="strong">klist -5</emphasis> and to invoke initialization or renewal, run: </para><screen><![CDATA[kinit]]></screen><para>and type your password. </para><para>Kerberos and AFS work together.  So if your Kerberos ticket expires, so will your &quot;token&quot; for access to AFS.  Such an expiration isn't abnormal; you should expect it to happen to SSH sessions less than a day after log-in (after 10 hours, to be specific).  That's worth saying again in bold: <emphasis role="strong">It's expected that long-running ssh sessions will stop working unless you take special action.</emphasis> </para><para>To get AFS access back after renewing your Kerberos ticket with <code>kinit</code>, be sure to type </para><screen><![CDATA[aklog]]></screen><para>At this point, please read the <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/MemberManual/DistributedSecurity#">Distributed Security</ulink> page to understand the consequences that using AFS and Kerberos may have on your HCoop experience.  We feel the gains in security to be worth the slight learning curve. </para><para>More information on automatic token renewal can be found in <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/MemberManual/RunningUnattendedCommands#">MemberManual/RunningUnattendedCommands</ulink>.  You mostly just need to run the <code>k5start</code> program with the proper arguments.  <emphasis>This section of this page could probably stand to be improved, as its topic is a common source of confusion.</emphasis> </para><para><emphasis role="strong">Also note that ssh public key authentication won't work as you might expect on our servers.</emphasis>  You can log in just fine, but you won't have any AFS tokens.  You can still grab them manually with <code>kinit</code> and <code>aklog</code>, but this won't work so well with non-interactive users of ssh like scp.  You <emphasis>can</emphasis> do passwordless login with the <code>-K</code> flag to ssh, which enables Kerberos authentication.  See <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/MemberManual/ShellAccess#">MemberManual/ShellAccess</ulink> for more information. </para></section><section><title>Domtool: Manage domain-specific DNS/email/web</title><para>To manage all aspects of the Internet domains that our members own, we use a software suite called Domtool that we developed and maintain.  Domtool allows us to easily share services among our members and enforce standards of correctness and security on configuration provided by members.  Domtool facilitates DNS, email, and web serving, provided that you have a domain. </para><para>You may perhaps be familiar with Domtool version 1, which was used on our old setup.  What we currently use is Domtool version 2, which is a complete rewrite.  The syntax for these files has changed  dramatically, in favor of more uniform syntax and semantics.  A major benefit to this new format is that you only have to edit one file per domain, rather than an entire directory. </para><para>Please consult <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/DomTool/UserGuide#">the Domtool User Guide</ulink> at this point, so you can get an idea of what Domtool configuration files look like.  When you are ready to set up your domain, <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/DomTool/Examples#">the Domtool examples page</ulink> should prove helpful. </para></section><section><title>Portal: Manage balance, request domains and packages</title><para>Our web portal at <ulink url="https://members.hcoop.net"/> is where you will go to manage your account balance, request new domains, request Debian packages to be installed on our systems, and view various statistics about your website.  You can log into the portal with the same username and password that you use to ssh to our machines. </para></section><section><title>Getting help from the admins</title><para>Whenever you have any problem using your HCoop account, first ask yourself this question: </para><itemizedlist><listitem override="none"><para>Is this problem specific to HCoop, or is the answer probably general knowledge among people familiar with Linux and the Internet? </para></listitem></itemizedlist><para>If your problem falls into the &quot;general knowledge&quot; category, feel free to ask about it on our hcoop-misc mailing list or in our <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/IrcChannel#">IrcChannel</ulink>.  However, we don't consider our admins to hold any responsibility for answering this sort of question. </para><para>If you have a genuine HCoop-specific problem, you should poke around this wiki some first to see if the solution is already documented.  You might also try our <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/IrcChannel#">IrcChannel</ulink>, if you aren't sure that a solution requires admin intervention.  If neither of these approaches helps, then visit the <ulink url="https://members.hcoop.net/portal/support">support page</ulink> on the portal, which will direct you to the proper place to report your issue. </para><para>Please never e-mail any of our admins directly about any problem.  The support page leads you to several automated systems that help us manage workflow much better than we can with ad-hoc e-mail.  Only in the event that some of our web-based support machinery is unavailable should you use e-mail, and then you should e-mail all admins at once at <ulink url="mailto:admins@hcoop.net">admins@hcoop.net</ulink> .  You will often find admins in our <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/IrcChannel#">IrcChannel</ulink>, but they are under no obligation to provide any support there, as managing support tickets through IRC is close to impossible. </para><para>It's worth stating explicitly that the support policy is no different for billing issues and other social administrative concerns.  The same <ulink url="https://members.hcoop.net/portal/support">support page</ulink> is the right place to start to report this kind of problem, and you will probably end up following the link to report a Bugzilla bug.  Please use the &quot;Financial&quot; Bugzilla component for billing inquiries. </para></section><section><title>Denyhosts: Protection from SSH attacks</title><para>We use the <ulink url="http://denyhosts.sourceforge.net/">DenyHosts</ulink> package to help protect your account from brute-force SSH attacks.  If someone fails to log in as a particular user several times in a row, the original IP address will be blacklisted in order to prevent additional attempts within a certain time period.  If this happens to you and you try to log in again, you will see something similar to this: </para><screen><![CDATA[ssh_exchange_identification: Connection closed by remote host]]></screen><para>The blacklist expires IPs after a predetermined period of time.  Typically, most users will not be affected by the blacklisting, but if you are, you will want to <ulink url="https://members.hcoop.net/portal/support">file a report</ulink>. </para><!--rule (<hr>) is not applicable to DocBook--><para> <ulink url="https://wiki.hcoop.net/MemberManual/GettingStarted/CategoryMemberManual#">CategoryMemberManual</ulink> </para></section></article>