<p>I happen to have a handy link where I somewhat thoroughly went through this. How do you link to SO without it looking like point farming? Not linking your own answers?</p>
<p><a href="http://stackoverflow.com/questions/5124584/how-to-use-hook-menu-alter-to-manipulate-path-access-control">http://stackoverflow.com/questions/5124584/how-to-use-hook-menu-alter-to-manipulate-path-access-control</a></p>

<div class="gmail_quote">On Mar 10, 2011 4:23 PM, &quot;Bob Hutchinson&quot; &lt;<a href="mailto:hutchlists@midwales.com">hutchlists@midwales.com</a>&gt; wrote:<br type="attribution">&gt; On Thursday 10 March 2011, John Mitchell wrote:<br>
&gt;&gt; How do I restrict the custom urls (listed below) to a specific role?<br>&gt; <br>&gt; Set  &#39;access callback&#39; to a function and do it there.<br>&gt; <br>&gt; <br>&gt;&gt; <br>&gt;&gt; //hook_menu()<br>&gt;&gt; <br>
&gt;&gt; function custom_subscription_menu() {<br>&gt;&gt;   $items = array();<br>&gt;&gt; <br>&gt;&gt;   $items[&#39;admin/store/free_subscription&#39;] = array(<br>&gt;&gt;     &#39;title&#39; =&gt; &#39;free_subscription_form&#39;,<br>
&gt;&gt;     &#39;description&#39; =&gt; &#39;free_subscription_form&#39;,<br>&gt;&gt;     &#39;page callback&#39; =&gt; &#39;free_subscription_form&#39;,<br>&gt;&gt;     &#39;access callback&#39; =&gt; TRUE,<br>&gt;&gt;     &#39;type&#39; =&gt; MENU_CALLBACK,<br>
&gt;&gt;   );<br>&gt;&gt; <br>&gt;&gt;   $items[&#39;admin/store/process_free_subscription&#39;] = array(<br>&gt;&gt;     &#39;title&#39; =&gt; &#39;process_free_subscription&#39;,<br>&gt;&gt;     &#39;description&#39; =&gt; &#39;process_free_subscription&#39;,<br>
&gt;&gt;     &#39;page callback&#39; =&gt; &#39;process_free_subscription&#39;,<br>&gt;&gt;     &#39;access callback&#39; =&gt; TRUE,<br>&gt;&gt;     &#39;type&#39; =&gt; MENU_CALLBACK,<br>&gt;&gt;   );<br>&gt;&gt; <br>&gt;&gt;   return $items;<br>
&gt;&gt; }<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; -----------------<br>&gt; Bob Hutchinson<br>&gt; Midwales dot com<br>&gt; -----------------<br></div>