CentOS support; copying (adduser) bugfixes; adduser continuation fix

This commit is contained in:
root 2017-08-26 14:56:14 +03:00 committed by bedefaced
parent f2e6b6728d
commit e215363946
14 changed files with 127 additions and 18 deletions

View File

@ -45,6 +45,9 @@ do
if [[ $# -gt 0 ]]; then if [[ $# -gt 0 ]]; then
# exit, if script is called with params # exit, if script is called with params
ANSUSER=$NOTADDUSER ANSUSER=$NOTADDUSER
else
read -p "Would you want to add another user? [no] " ANSUSER
: ${ANSUSER:=$NOTADDUSER}
fi fi
continue continue
else else
@ -65,28 +68,28 @@ do
mkdir -p "$STARTDIR/$LOGIN" mkdir -p "$STARTDIR/$LOGIN"
DISTFILE=$STARTDIR/$LOGIN/setup.sh DISTFILE=$STARTDIR/$LOGIN/setup.sh
cp -rf setup.sh.dist "$DISTFILE" cp -rf $DIR/setup.sh.dist "$DISTFILE"
sed -i -e "s@_PSK_@$PSK@g" "$DISTFILE" sed -i -e "s@_PSK_@$PSK@g" "$DISTFILE"
sed -i -e "s@_SERVERLOCALIP_@$LOCALPREFIX.0.1@g" "$DISTFILE" sed -i -e "s@_SERVERLOCALIP_@$LOCALPREFIX.0.1@g" "$DISTFILE"
DISTFILE=$STARTDIR/$LOGIN/ipsec.conf DISTFILE=$STARTDIR/$LOGIN/ipsec.conf
cp -rf ipsec.conf.dist "$DISTFILE" cp -rf $DIR/ipsec.conf.dist "$DISTFILE"
sed -i -e "s@LEFTIP@%any@g" "$DISTFILE" sed -i -e "s@LEFTIP@%any@g" "$DISTFILE"
sed -i -e "s@LEFTPORT@%any@g" "$DISTFILE" sed -i -e "s@LEFTPORT@%any@g" "$DISTFILE"
sed -i -e "s@RIGHTIP@$IP@g" "$DISTFILE" sed -i -e "s@RIGHTIP@$IP@g" "$DISTFILE"
sed -i -e "s@RIGHTPORT@1701@g" "$DISTFILE" sed -i -e "s@RIGHTPORT@1701@g" "$DISTFILE"
DISTFILE=$STARTDIR/$LOGIN/xl2tpd.conf DISTFILE=$STARTDIR/$LOGIN/xl2tpd.conf
cp -rf client-xl2tpd.conf.dist "$DISTFILE" cp -rf $DIR/client-xl2tpd.conf.dist "$DISTFILE"
sed -i -e "s@REMOTEIP@$IP@g" "$DISTFILE" sed -i -e "s@REMOTEIP@$IP@g" "$DISTFILE"
DISTFILE=$STARTDIR/$LOGIN/options.xl2tpd DISTFILE=$STARTDIR/$LOGIN/options.xl2tpd
cp -rf client-options.xl2tpd.dist "$DISTFILE" cp -rf $DIR/client-options.xl2tpd.dist "$DISTFILE"
sed -i -e "s@_LOGIN_@$LOGIN@g" "$DISTFILE" sed -i -e "s@_LOGIN_@$LOGIN@g" "$DISTFILE"
sed -i -e "s@_PASSWORD_@$PASSWORD@g" "$DISTFILE" sed -i -e "s@_PASSWORD_@$PASSWORD@g" "$DISTFILE"
cp -rf connect.sh.dist "$STARTDIR/$LOGIN/connect.sh" cp -rf $DIR/connect.sh.dist "$STARTDIR/$LOGIN/connect.sh"
cp -rf disconnect.sh.dist "$STARTDIR/$LOGIN/disconnect.sh" cp -rf $DIR/disconnect.sh.dist "$STARTDIR/$LOGIN/disconnect.sh"
chmod +x "$STARTDIR/$LOGIN/setup.sh" "$STARTDIR/$LOGIN/connect.sh" "$STARTDIR/$LOGIN/disconnect.sh" chmod +x "$STARTDIR/$LOGIN/setup.sh" "$STARTDIR/$LOGIN/connect.sh" "$STARTDIR/$LOGIN/disconnect.sh"

View File

@ -1,5 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DEBIANPLATFORM="DEBIAN"
CENTOSPLATFORM="CENTOS"
if [[ -e /etc/version ]]; then
PLATFORM=$DEBIANPLATFORM
fi
if [[ -e /etc/issue ]]; then
PLATFORM=$CENTOSPLATFORM
fi
SYSCTLCONFIG=/etc/sysctl.conf SYSCTLCONFIG=/etc/sysctl.conf
IPSECCONFIG=/etc/ipsec.conf IPSECCONFIG=/etc/ipsec.conf
XL2TPDCONFIG=/etc/xl2tpd/xl2tpd.conf XL2TPDCONFIG=/etc/xl2tpd/xl2tpd.conf
@ -9,6 +20,11 @@ IPTABLES=/etc/iptables.rules
SECRETSFILE=/etc/ipsec.secrets SECRETSFILE=/etc/ipsec.secrets
CHECKSERVER=/etc/xl2tpd/checkserver.sh CHECKSERVER=/etc/xl2tpd/checkserver.sh
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
SECRETSFILE=/etc/strongswan/ipsec.secrets
IPSECCONFIG=/etc/strongswan/ipsec.conf
fi
LOCALPREFIX="172.18" LOCALPREFIX="172.18"
LOCALIP="$LOCALPREFIX.0.0" LOCALIP="$LOCALPREFIX.0.0"
LOCALMASK="/24" LOCALMASK="/24"

View File

@ -10,7 +10,13 @@ fi
echo echo
echo "Installing strongSwan and xl2tp server..." echo "Installing strongSwan and xl2tp server..."
apt-get -y install strongswan xl2tpd cron iptables procps net-tools if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then
apt-get -y install strongswan xl2tpd cron iptables procps net-tools
fi
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
yum -y install epel-release
yum -y install strongswan xl2tpd cronie iptables-services procps net-tools
fi
echo echo
echo "Configuring routing..." echo "Configuring routing..."

View File

@ -3,6 +3,13 @@
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
source $DIR/env.sh source $DIR/env.sh
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
systemctl enable iptables
systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables
fi
COMMENT=" -m comment --comment \"IPSEC\"" COMMENT=" -m comment --comment \"IPSEC\""
if [[ ! -e $IPTABLES ]]; then if [[ ! -e $IPTABLES ]]; then
@ -28,7 +35,7 @@ done
# detect default gateway interface # detect default gateway interface
echo "Found next network interfaces:" echo "Found next network interfaces:"
ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d' ifconfig -a | sed 's/[: \t].*//;/^\(lo\|\)$/d'
echo echo
GATE=$(route | grep '^default' | grep -o '[^ ]*$') GATE=$(route | grep '^default' | grep -o '[^ ]*$')
read -p "Enter your external network interface: " -i $GATE -e GATE read -p "Enter your external network interface: " -i $GATE -e GATE

View File

@ -30,4 +30,9 @@ sed -i -e "/net.ipv4.icmp_ignore_bogus_error_responses/d" $SYSCTLCONFIG
echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG
sysctl -p sysctl -p
service procps restart if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then
service procps restart
fi
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
service network restart
fi

View File

@ -1,5 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DEBIANPLATFORM="DEBIAN"
CENTOSPLATFORM="CENTOS"
if [[ -e /etc/version ]]; then
PLATFORM=$DEBIANPLATFORM
fi
if [[ -e /etc/issue ]]; then
PLATFORM=$CENTOSPLATFORM
fi
SYSCTLCONFIG=/etc/sysctl.conf SYSCTLCONFIG=/etc/sysctl.conf
OPENVPNDIR=/etc/openvpn OPENVPNDIR=/etc/openvpn
OPENVPNCONFIG=$OPENVPNDIR/openvpn-server.conf OPENVPNCONFIG=$OPENVPNDIR/openvpn-server.conf
@ -8,6 +19,10 @@ IPTABLES=/etc/iptables.rules
NOBODYGROUP=nogroup NOBODYGROUP=nogroup
CHECKSERVER=$OPENVPNDIR/checkserver.sh CHECKSERVER=$OPENVPNDIR/checkserver.sh
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
NOBODYGROUP=nobody
fi
LOCALPREFIX="172.20" LOCALPREFIX="172.20"
LOCALIP="$LOCALPREFIX.0.0" LOCALIP="$LOCALPREFIX.0.0"
LOCALMASK="/24" LOCALMASK="/24"

View File

@ -12,7 +12,13 @@ fi
echo echo
echo "Installing OpenVPN..." echo "Installing OpenVPN..."
apt-get -y install openvpn easy-rsa cron iptables procps net-tools if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then
apt-get -y install openvpn easy-rsa cron iptables procps net-tools
fi
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
yum -y install epel-release
yum -y install openvpn easy-rsa cronie iptables-services procps net-tools
fi
echo echo
echo "Configuring routing..." echo "Configuring routing..."
@ -40,7 +46,13 @@ cp -n /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
echo echo
echo "Creating server keys..." echo "Creating server keys..."
make-cadir $CADIR if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
mkdir -p "$CADIR/keys"
cp -rf /usr/share/easy-rsa/2.0/* $CADIR
fi
if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then
make-cadir $CADIR
fi
cd $CADIR cd $CADIR
source ./vars source ./vars
./clean-all ./clean-all

View File

@ -1,8 +1,15 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
source $DIR/env.sh source $DIR/env.sh
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
systemctl enable iptables
systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables
fi
COMMENT=" -m comment --comment \"OPENVPN\"" COMMENT=" -m comment --comment \"OPENVPN\""
if [[ ! -e $IPTABLES ]]; then if [[ ! -e $IPTABLES ]]; then
@ -28,7 +35,7 @@ done
# detect default gateway interface # detect default gateway interface
echo "Found next network interfaces:" echo "Found next network interfaces:"
ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d' ifconfig -a | sed 's/[: \t].*//;/^\(lo\|\)$/d'
echo echo
GATE=$(route | grep '^default' | grep -o '[^ ]*$') GATE=$(route | grep '^default' | grep -o '[^ ]*$')
read -p "Enter your external network interface: " -i $GATE -e GATE read -p "Enter your external network interface: " -i $GATE -e GATE

View File

@ -30,4 +30,9 @@ sed -i -e "/net.ipv4.icmp_ignore_bogus_error_responses/d" $SYSCTLCONFIG
echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG
sysctl -p sysctl -p
service procps restart if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then
service procps restart
fi
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
service network restart
fi

View File

@ -45,6 +45,9 @@ do
if [[ $# -gt 0 ]]; then if [[ $# -gt 0 ]]; then
# exit, if script is called with params # exit, if script is called with params
ANSUSER=$NOTADDUSER ANSUSER=$NOTADDUSER
else
read -p "Would you want to add another user? [no] " ANSUSER
: ${ANSUSER:=$NOTADDUSER}
fi fi
continue continue
else else
@ -63,7 +66,7 @@ do
mkdir -p "$STARTDIR/$LOGIN" mkdir -p "$STARTDIR/$LOGIN"
DISTFILE=$STARTDIR/$LOGIN/setup.sh DISTFILE=$STARTDIR/$LOGIN/setup.sh
cp -rf setup.sh.dist "$DISTFILE" cp -rf $DIR/setup.sh.dist "$DISTFILE"
sed -i -e "s@_LOGIN_@$LOGIN@g" "$DISTFILE" sed -i -e "s@_LOGIN_@$LOGIN@g" "$DISTFILE"
sed -i -e "s@_PASSWORD_@$PASSWORD@g" "$DISTFILE" sed -i -e "s@_PASSWORD_@$PASSWORD@g" "$DISTFILE"
sed -i -e "s@_REMOTEIP_@$IP@g" "$DISTFILE" sed -i -e "s@_REMOTEIP_@$IP@g" "$DISTFILE"

View File

@ -1,5 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DEBIANPLATFORM="DEBIAN"
CENTOSPLATFORM="CENTOS"
if [[ -e /etc/version ]]; then
PLATFORM=$DEBIANPLATFORM
fi
if [[ -e /etc/issue ]]; then
PLATFORM=$CENTOSPLATFORM
fi
SYSCTLCONFIG=/etc/sysctl.conf SYSCTLCONFIG=/etc/sysctl.conf
PPTPDCONFIG=/etc/pptpd.conf PPTPDCONFIG=/etc/pptpd.conf
PPTPOPTIONS=/etc/ppp/options.pptp PPTPOPTIONS=/etc/ppp/options.pptp

View File

@ -10,7 +10,13 @@ fi
echo echo
echo "Installing PPTP server..." echo "Installing PPTP server..."
apt-get -y install pptpd cron iptables procps net-tools if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then
apt-get -y install pptpd cron iptables procps net-tools
fi
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
yum -y install epel-release
yum -y install ppp pptpd cronie iptables-services procps net-tools
fi
ADDUSER="no" ADDUSER="no"
ANSUSER="yes" ANSUSER="yes"

View File

@ -3,6 +3,13 @@
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
source $DIR/env.sh source $DIR/env.sh
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
systemctl enable iptables
systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables
fi
COMMENT=" -m comment --comment \"PPTP\"" COMMENT=" -m comment --comment \"PPTP\""
if [[ ! -e $IPTABLES ]]; then if [[ ! -e $IPTABLES ]]; then
@ -28,7 +35,7 @@ done
# detect default gateway interface # detect default gateway interface
echo "Found next network interfaces:" echo "Found next network interfaces:"
ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d' ifconfig -a | sed 's/[: \t].*//;/^\(lo\|\)$/d'
echo echo
GATE=$(route | grep '^default' | grep -o '[^ ]*$') GATE=$(route | grep '^default' | grep -o '[^ ]*$')
read -p "Enter your external network interface: " -i $GATE -e GATE read -p "Enter your external network interface: " -i $GATE -e GATE

View File

@ -30,4 +30,10 @@ sed -i -e "/net.ipv4.icmp_ignore_bogus_error_responses/d" $SYSCTLCONFIG
echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG echo "net.ipv4.icmp_ignore_bogus_error_responses=1" >> $SYSCTLCONFIG
sysctl -p sysctl -p
service procps restart if [ "$PLATFORM" == "$DEBIANPLATFORM" ]; then
service procps restart
fi
if [ "$PLATFORM" == "$CENTOSPLATFORM" ]; then
service network restart
fi