[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs]  talk about setting up shell access for savannah work
[Savannah-cvs]  talk about setting up shell access for savannah workers
Fri, 18 Apr 2014 16:58:11 +0000
Date: 2014-04-18 16:57:59 +0000 (Fri, 18 Apr 2014)
talk about setting up shell access for savannah workers
--- trunk/sviki/Mirmon.mdwn 2014-04-01 17:29:05 UTC (rev 82)
+++ trunk/sviki/Mirmon.mdwn 2014-04-18 16:57:59 UTC (rev 83)
@@ -16,7 +16,7 @@
- nongnu mirror list -
(maintained by hand)
-- nongnu mirmon conf - /etc/mirmon.conf
+- nongnu mirmon conf - `/etc/mirmon.conf`
- nongnu mirmon web page - <http://download.savannah.gnu.org/mirmon/savannah/>
- nongnu multiplexor example - <http://dl.sv.nongnu.org/releases/cybop/>
- nongnu direct, not multiplexed -
@@ -26,7 +26,7 @@
dl.sv also runs the multiplexor for CTAN, although we do not run mirmon.
-/root/mirmon/ctan, /root/bin/ctan-mirror.sh, etc.
+`/root/mirmon/ctan`, `/root/bin/ctan-mirror.sh`, etc.
@@ -45,5 +45,5 @@
The geo location data is stored in `dl:/usr/local/share/GeoIP`, updated
monthly via `/etc/cron.d/maxmind`.
-Savannah admins: process for adding new nongnu mirrors at end of
+Savannah admins: process for adding new nongnu mirrors is at the end of
+the [[DownloadArea]] page.
--- trunk/sviki/SavannahArchitecture.mdwn 2014-04-01 17:29:05 UTC (rev 82)
+++ trunk/sviki/SavannahArchitecture.mdwn 2014-04-18 16:57:59 UTC (rev 83)
@@ -36,7 +36,7 @@
Savannah operates with five critical Xen domU's:
- mgt.savannah.gnu.org (22.214.171.124)
-- internal.savannah.gnu.org. (126.96.36.199)
+- internal.savannah.gnu.org (188.8.131.52)
- frontend.savannah.gnu.org (184.108.40.206, 220.127.116.11)
- vcs.savannah.gnu.org (18.104.22.168)
- download.savannah.gnu.org (22.214.171.124)
--- trunk/sviki/ShellAccess.mdwn 2014-04-01 17:29:05 UTC (rev 82)
+++ trunk/sviki/ShellAccess.mdwn 2014-04-18 16:57:59 UTC (rev 83)
@@ -1,14 +1,18 @@
-Currently, for user shell access, we use custom C executables for cvs.sv
-and symlink to `sftp-server` for arch.sv.
+Savannah does not provide general shell accounts, since running
+arbitrary commands is far too large an attack vector. We do use the
+Unix login mechanism and [[SshAccess]] but only certain commands can be
+run to do, e.g., vc operations. Validation is done against the
+databases on internal.
-Savane distributes sv\_membersh, a simple Perl script, that loads
+Savane distributes `sv_membersh`, a simple Perl script, that loads
another Perl script in /etc for configuration. Using a Perl script as a
-login shell may yeld some efficiency concerns.
+login shell may yeld some efficiency concerns. (But I think that is
+what we do on Savannah? --karl)
Another tool is `rssh`
This package does not check the command line arguments to `cvs` (in
-util.c), though it faced some security issues that sv\_membersh was also
+util.c), though it faced some security issues that `sv_membersh` was also
It is interesting to check upon that tool even if we do not use it for
@@ -16,5 +20,54 @@
it is not a good idea to use it (plus we'd have to patch the CVS
-I think a good move is to use sv\_membersh and to translate it to C if
-we think that can reduce the load.
+I (Sylvain) think a good move is to use `sv_membersh` and to translate it
+to C if we think that can reduce the load. This has not been necessary.
+Shell access for Savannah workers
+Now, for those working on savannah, of course shell and root access is
+needed. Generally, the idea to date has been to log in directly as
+root, with your ssh keys installed in the necessary places. For most
+hosts, ssh has to go through fencepost or another known location, it's
+not open to the whole Internet.
+However, a few sv hackers like to have personal accounts on the servers.
+The best approach for this is to have it be completely separate from
+normal user-level savannah access. Here was the process for `luca` in
+0. Set up a normal account in the web interface to avoid someone later
+claiming the name. But this should not be used for other purposes.
+0. On internal, get the assigned uid:
+ mysql -u root -p
+ select uidnumber from savane.user where user_name='luca';
+ ... 130932 ...
+This number is different from the user_id field which shows up in the
+savannah profile as the "Id:" <https://savannah.gnu.org/users/luca>.
+0. On mgt, add the obvious passwd entry using that uid. It's not
+technically necessary that the uid's match, but it seems cleaner to
+avoid possible conflicts.
+0. In Luca's case, the only need was for access to download.sv.gnu.org,
+for audio-video maintenance. So the account on mgt can't log in. On
+dl, copy in the new passwd entry, make the shell `/bin/bash`, make the
+0. On dl, add luca to savannahroot in /etc/group. This allows sudo.
+0. On dl, create `/etc/ssh/authorized_keys/luca` with his pub keys.
+This lets him log in.
+Bitter truth: the above is the clean way to do it. However, previous sv
+shell accounts that have been set up (karl, rdoyle, mjflick) conflated
+shell access and savannah web access. Obviously this can work and be a
+bit more convenient, and equally obviously it makes the default VC
+checkout paths and other things fail. I (Karl) am not going to explain
+all that here. If you don't know what I'm talking about or can't figure
+it out, don't create such an account :).
|[Prev in Thread]
||[Next in Thread]|
- [Savannah-cvs]  talk about setting up shell access for savannah workers,