<div dir="ltr">Maybe there is a way to have an ssh server which will always run quota and exit before starting the user&#39;s shell?<div><br></div><div>That way SSHing into the server will never let a user do anything but knowing his quota.<br>

<br><div class="gmail_quote">On Mon, Jan 18, 2010 at 8:27 PM, Maxim Kovgan <span dir="ltr">&lt;<a href="mailto:kovganm@gmail.com">kovganm@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I think there is a problem to run the quota query from a web server,<br>
b/c the UID of the webserver process is not allowed to run quota stuff,<br>
and all the web technologies usually limit setuid() related stuff.<br>
And you don&#39;t want to run a CGI script as root, you really don&#39;t.<br>
<br>
So, the only relatively safe solution would be to build 2 scripts:<br>
1. script to generate the quota database, and it should run once per 1-5 minutes<br>
2. CGI/FastCGI/WSCGI script to query that database<br>
<br>
If users&#39; repositories reside on the expense of their home<br>
directories, maybe a webmin/usermin web application allows to watch<br>
quota status with some nice module,<br>
<br>
SQLite looks like a good candidate, but even CSV is ok, as long as<br>
you make sure you use flock() like functions to lock the db file<br>
properly when you read/write, etc.<br>
<br>
<br>
Regards.<br>
<div><div></div><div class="h5"><br>
<br>
On Mon, Jan 18, 2010 at 4:07 PM, Maxim Kovgan &lt;<a href="mailto:kovganm@gmail.com">kovganm@gmail.com</a>&gt; wrote:<br>
&gt; well, I&#39;m not aware of anything ready to use, but there might be one -<br>
&gt; a CGI/FastCGI or WSGI something.<br>
&gt; you&#39;re interested in just showing quota command output with proper args.<br>
&gt; If you choose Perl, you may use Quota;<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Jan 18, 2010 at 12:03 PM, Shahar Dag &lt;<a href="mailto:dag@cs.technion.ac.il">dag@cs.technion.ac.il</a>&gt; wrote:<br>
&gt;&gt; Max<br>
&gt;&gt;<br>
&gt;&gt; Writing  pre-commit script &amp; writing a cron-job that test the quota are<br>
&gt;&gt; almost equal effort.<br>
&gt;&gt; I am not sure which one is better.<br>
&gt;&gt; What I am looking for is a tool that will enable the users check the quota<br>
&gt;&gt; on the svn machine<br>
&gt;&gt;<br>
&gt;&gt; Shahar<br>
&gt;&gt;<br>
&gt;&gt; ----- Original Message -----<br>
&gt;&gt; From: &quot;Maxim Kovgan&quot; &lt;<a href="mailto:kovganm@gmail.com">kovganm@gmail.com</a>&gt;<br>
&gt;&gt; To: &quot;Shahar Dag&quot; &lt;<a href="mailto:dag@cs.technion.ac.il">dag@cs.technion.ac.il</a>&gt;<br>
&gt;&gt; Cc: &quot;Haifaux&quot; &lt;<a href="mailto:haifux@haifux.org">haifux@haifux.org</a>&gt;<br>
&gt;&gt; Sent: Monday, January 18, 2010 9:56 AM<br>
&gt;&gt; Subject: Re: [Haifux] SVN quota<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; hi Shahar!<br>
&gt;&gt;&gt; A possible solution if your svn repository is stored on a filesystem could<br>
&gt;&gt;&gt; be<br>
&gt;&gt;&gt; a &quot;pre-commit hook&quot; script, that would basically:<br>
&gt;&gt;&gt; * check user&#39;s/project&#39;s repository quota against filesystem<br>
&gt;&gt;&gt; * act accordingly to the result, upon:<br>
&gt;&gt;&gt;   * OK - do commit<br>
&gt;&gt;&gt;   * Warning (quota threshold reached) - print the result, and commit<br>
&gt;&gt;&gt;   * Quota exceeded - print the result and NOT commit<br>
&gt;&gt;&gt; Of course take care of the return values of the script properly.<br>
&gt;&gt;&gt; The script may even send an email to the user, if you have email in NIS.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I do not know how different SVN clients would respond to the<br>
&gt;&gt;&gt; non-standard messages in the output of SVN client.<br>
&gt;&gt;&gt; This is what you will have to check for yourself.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Regards,<br>
&gt;&gt;&gt; M.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2010/1/18 Shahar Dag &lt;<a href="mailto:dag@cs.technion.ac.il">dag@cs.technion.ac.il</a>&gt;:<br>
&gt;&gt;&gt;&gt; Hello<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I have a LINUX server (RHE 4) that among other things serves as SVN<br>
&gt;&gt;&gt;&gt; server<br>
&gt;&gt;&gt;&gt; (the SVN server runs over apache).<br>
&gt;&gt;&gt;&gt; Users can access their repository via https, but they can&#39;t login to the<br>
&gt;&gt;&gt;&gt; server (not even with ssh).<br>
&gt;&gt;&gt;&gt; To access the SVN, users must supply their NIS user name &amp; password.<br>
&gt;&gt;&gt;&gt; Every SVN repository has it&#39;s own quota limitation.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; The question is: do SVN users have any way to test their quota?<br>
&gt;&gt;&gt;&gt; (I don&#39;t want to write a cron job that warns the users when they are over<br>
&gt;&gt;&gt;&gt; 80% of the quota)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks<br>
&gt;&gt;&gt;&gt; Shahar<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; Haifux mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:Haifux@haifux.org">Haifux@haifux.org</a><br>
&gt;&gt;&gt;&gt; <a href="http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux" target="_blank">http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Maxim Kovgan<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Haifux mailing list<br>
&gt;&gt;&gt; <a href="mailto:Haifux@haifux.org">Haifux@haifux.org</a><br>
&gt;&gt;&gt; <a href="http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux" target="_blank">http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Haifux mailing list<br>
&gt;&gt; <a href="mailto:Haifux@haifux.org">Haifux@haifux.org</a><br>
&gt;&gt; <a href="http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux" target="_blank">http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Maxim Kovgan<br>
&gt;<br>
<br>
<br>
<br>
</div></div>--<br>
<div><div></div><div class="h5">Maxim Kovgan<br>
_______________________________________________<br>
Haifux mailing list<br>
<a href="mailto:Haifux@haifux.org">Haifux@haifux.org</a><br>
<a href="http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux" target="_blank">http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux</a><br>
</div></div></blockquote></div><br></div></div>