[evolvis-commits] r7243: ftp server support f?==?UTF-8?Q?ile↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 24 15:37:06 CET 2011


Author: mirabilos
Date: 2011-02-24 15:37:05 +0100 (Thu, 24 Feb 2011)
New Revision: 7243

Added:
   trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-ftp.sh
   trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/sf-proftpd.conf
Log:
ftp server support file


Added: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-ftp.sh
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-ftp.sh	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-ftp.sh	2011-02-24 14:37:05 UTC (rev 7243)
@@ -0,0 +1,65 @@
+#!/bin/sh
+FTPROOT=/var/lib/sourceforge/chroot/ftproot
+GRPHOME=/var/lib/sourceforge/chroot/home/groups
+if [ $# != 1 ] 
+then 
+	$0 default
+else
+	target=$1
+	if [  $(id -u) != 0 -a  "x$target" != "xlist" ] #-a "x$target" != "xclean"  ]
+	then
+	        echo "You must be root to run this, please enter passwd"
+	        su -c "$0 $target"
+	else
+		case "$target" in
+			default)
+				adduser --system --group --home $FTPROOT sfftp
+				mkdir -p $FTPROOT/pub
+				cat >$FTPROOT/welcome.msg<<-FIN
+Welcome, archive user %U@%R !
+
+The local time is: %T
+
+This is an experimental FTP server.  If have any unusual problems,
+please report them via e-mail to <root@%L>.
+				FIN
+				#
+				# This initialize FTP
+				#
+				if ! grep -q "^Include /etc/sourceforge/sf-proftpd.conf" /etc/proftpd.conf ; then
+
+                			perl -pi -e "s/^/#SF#/" /etc/proftpd.conf
+	    				echo "### Previous lines commented by Sourceforge install" >> /etc/proftpd.conf
+	    				echo "### Next lines inserted by Sourceforge install" >> /etc/proftpd.conf
+					echo "ServerType standalone" >>/etc/proftpd.conf
+	    				echo "Include /etc/sourceforge/sf-proftpd.conf" >> /etc/proftpd.conf
+				fi
+				/etc/init.d/proftpd restart
+				;;
+			update)
+				(cd $GRPHOME; ls)| while read group
+				do
+					if [ ! -d $FTPROOT/pub/$group ]
+					then
+						 install -o sfftp -g $group -m 2775 -d $FTPROOT/pub/$group
+					fi
+				done
+				;;
+			purge)
+        			if grep -q "### Next lines inserted by Sourceforge install" /etc/proftpd.conf
+			        then
+	    				perl -pi -e "s/### Previous lines commented by Sourceforge install\n//"  /etc/proftpd.conf
+                			perl -pi -e "s/### Next lines inserted by Sourceforge install\n//" /etc/proftpd.conf
+                			perl -pi -e "s:^Include /etc/sourceforge/sf-proftpd.conf\n::" /etc/proftpd.conf
+                			perl -pi -e "s:^ServerType standalone\n::" /etc/proftpd.conf
+                			perl -pi -e "s/^#SF#//" /etc/proftpd.conf
+        			fi
+				/etc/init.d/proftpd restart
+				rmdir $FTPROOT/pub
+				rm $FTPROOT/welcome.msg
+				deluser sfftp
+				rmdir $FTPROOT/
+				;;
+		esac
+	fi
+fi


Property changes on: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/install-ftp.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/sf-proftpd.conf
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/sf-proftpd.conf	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/deb-specific/sf-proftpd.conf	2011-02-24 14:37:05 UTC (rev 7243)
@@ -0,0 +1,90 @@
+# This is Sourceforge ProFTPD configuration file 
+# It establishes a single server
+# and a single anonymous login.  It assumes that you have a user/group
+# "nobody" and "sfftp" for normal operation and anon.
+
+ServerName			"Debian Sourceforge"
+DeferWelcome			off
+
+ShowSymlinks			on
+MultilineRFC2228		on
+DefaultServer			on
+ShowSymlinks			on
+AllowOverwrite			on
+
+TimeoutNoTransfer		600
+TimeoutStalled			600
+TimeoutIdle			1200
+
+DisplayLogin                    welcome.msg
+DisplayFirstChdir               .message
+LsDefaultOptions                "-l"
+
+DenyFilter			\*.*/
+
+# Uncomment this if you are using NIS or LDAP to retrieve passwords:
+PersistentPasswd		off
+
+# Port 21 is the standard FTP port.
+Port				21
+
+# To prevent DoS attacks, set the maximum number of child processes
+# to 30.  If you need to allow more than 30 concurrent connections
+# at once, simply increase this value.  Note that this ONLY works
+# in standalone mode, in inetd mode you should use an inetd server
+# that allows you to limit maximum number of processes per service
+# (such as xinetd)
+MaxInstances			30
+
+# Set the user and group that the server normally runs at.
+User				nobody
+Group				nogroup
+
+# Normally, we want files to be overwriteable.
+<Directory /*>
+  # Umask 022 is a good standard umask to prevent new files and dirs
+  # (second parm) from being group and world writable.
+  Umask				022  022
+
+  AllowOverwrite		on
+</Directory>
+
+# A basic anonymous configuration, no upload directories.
+
+<Anonymous ~sfftp>
+   User				ftp
+   Group				nogroup
+   # We want clients to be able to login with "anonymous" as well as "ftp"
+   UserAlias			anonymous ftp
+ 
+   RequireValidShell		off
+ 
+   # Limit the maximum number of anonymous logins
+   MaxClients			10
+ 
+   # We want 'welcome.msg' displayed at login, and '.message' displayed
+   # in each newly chdired directory.
+   DisplayLogin			welcome.msg
+   DisplayFirstChdir		.message
+ 
+   # Limit WRITE everywhere in the anonymous chroot
+   <Directory *>
+     <Limit WRITE>
+       DenyAll
+    </Limit>
+   </Directory>
+ 
+   # Uncomment this if you're brave.
+   # <Directory incoming>
+   #   # Umask 022 is a good standard umask to prevent new files and dirs
+   #   # (second parm) from being group and world writable.
+   #   Umask				022  022
+   #            <Limit READ WRITE>
+   #            DenyAll
+   #            </Limit>
+   #            <Limit STOR>
+   #            AllowAll
+   #            </Limit>
+   # </Directory>
+ 
+</Anonymous>



More information about the evolvis-commits mailing list