<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

On Thu, Jan 30, 2014 at 02:35:57PM +0400, Denis Kutin wrote:<br>
&gt; Dear friends,<br>
&gt;<br>
&gt; Using sssd, for a long time, I have come across with a problem recently,<br>
&gt; which I would like to solve with your help.<br>
&gt;<br>
&gt; I provide centralized authentication and authorization service for a huge<br>
&gt; heterogeneous network. And in my case it would be &quot;nice and easy&quot; if sssd<br>
&gt; used only shells(5). I believe this mechanism is sufficient for<br>
&gt; identification of an allowed shell.<br>
&gt;<br>
&gt; I take a liberty to offer you this tiny patch, which will let use wildcard<br>
&gt; (*) in param allowed_shells in sssd.conf<br>
&gt;<br>
&gt; What do you think about it?<br>
<br>
Hi,<br>
<br>
the patch itself looks OK except for lines being over 80 characters,<br>
but I don&#39;t think I understand the use case well. If a user has a shell<br>
specified that is outside /etc/shells he&#39;s kicked out anyway. If he does,<br>
he&#39;s permitted by default..<br></blockquote></div><br clear="all"><div>Not exactly. SSSD has a&nbsp;shell_fallback&nbsp; If user has a shell specified that is outside of /etc/shells, SSSD checks allowed_shell&nbsp;parameter. If user&#39;s shell is in allowed_shell, then SSSD fallback to shell_fallback, otherwise user kicked out.</div>
<div><br></div><div>Here, from sssd.conf(5)</div><div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1. If the shell is present in &ldquo;/etc/shells&rdquo;, it is used.</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2. If the shell is in the allowed_shells list but not in &ldquo;/etc/shells&rdquo;, use the value of the shell_fallback parameter.</div>
<div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;3. If the shell is not in the allowed_shells list and not in &ldquo;/etc/shells&rdquo;, a nologin shell is used.</div></div><div><br></div><div>At this moment I need to generate sssd.conf dynamically, specified all existed (in our environment) shells.&nbsp;</div>
<div><br></div>--&nbsp;</div><div class="gmail_extra">Denis Kutin</div></div>