summaryrefslogtreecommitdiff
path: root/net/freenx/files/patch-freenx-nxsetup
blob: 90140e274196e0a23b4b5949095beec11d20722b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
--- freenx-0.4.4/nxsetup.orig	Tue Aug  2 13:29:59 2005
+++ freenx-0.4.4/nxsetup	Tue Aug  9 17:04:45 2005
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/local/bin/bash
 
 # Coypright (c) 2004-2005 by Fabian Franz <freenx@fabian-franz.de>.
 #                    2005 by Jon Severinsson <jonno@users.berlios.de>.
@@ -96,7 +96,7 @@
 	then
 		egrep "^nx:" /etc/passwd >/dev/null
 	else
-		getent passwd nx >/dev/null
+		cat /etc/passwd |egrep -q "^nx:" >/dev/null
 	fi
 }	
 
@@ -113,6 +113,16 @@
 		USERADD_OPTIONS="--system --home $NX_HOME_DIR --shell $PATH_BIN/nxserver"
 		[ -n "$SETUP_GID" ] && USERADD_OPTIONS="--gid $SETUP_GID $USERADD_OPTIONS"
 		adduser $USERADD_OPTIONS nx
+
+	# FreeBSD?
+	elif [ "$(uname)" = "FreeBSD" ]
+	then
+		USERADD_OPTIONS="-d $NX_HOME_DIR -s $PATH_BIN/nxserver"
+		[ -n $SETUP_UID ] && USERADD_OPTIONS="-u $SETUP_UID $USERADD_OPTIONS"
+		[ -n $SETUP_GID ] && USERADD_OPTIONS="-g $SETUP_GID $USERADD_OPTIONS"
+		[ -n $SETUP_GID ] && pw groupadd nx -g $SETUP_GID
+		pw useradd nx $USERADD_OPTIONS
+
 	# no, its a "normal" useradd
 	else
 		USERADD_OPTIONS="-d $NX_HOME_DIR -s $PATH_BIN/nxserver"
@@ -143,7 +153,9 @@
 {
 	set -e
 	
-	if [ "$(pidof sshd 2>/dev/null)" = "" ]
+	MAYBE_PID=`cat /var/run/sshd.pid 2>/dev/null`
+	if test -z "$MAYBE_PID"
+
 	then 
 		echo -n "Starting ssh service ..."
 		# Generate Host keys if they are not available, yet
@@ -248,13 +260,12 @@
 		cat /etc/ssh/ssh_host_rsa_key.pub >> $NX_HOME_DIR/.ssh/known_hosts
 	fi
 	
-	echo "done"
-	
 	echo -n "Setting up permissions ..."
-	chown -R nx:root $NX_SESS_DIR
-	chown -R nx:root $NX_ETC_DIR
-	chown -R nx:root $NX_HOME_DIR
-	chown nx:root "$NX_LOGFILE"
+	chown -R nx:nx $NX_SESS_DIR
+	chown -R nx:nx $NX_ETC_DIR
+	chown -R nx:nx $NX_HOME_DIR
+	chown nx:nx "$NX_LOGFILE"
+	chmod 0400 $NX_HOME_DIR/.ssh/$SSH_AUTHORIZED_KEYS
 	echo "done"
 }
 
@@ -268,7 +279,7 @@
 		then
 			luserdel nx
 		else
-			userdel nx
+			pw userdel nx
 		fi
 			
 		echo "done"