Удаление пользователей OpenVpn разных протоколов
This commit is contained in:
@ -1,35 +1,44 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Функция вывода помощи
|
||||||
|
usage() {
|
||||||
|
echo "Использовать: $0 <тип> <имя>"
|
||||||
|
echo " <тип> - Указать протокол: udp, tcp или guest(--TCP, для стронних пользователей)"
|
||||||
|
echo " <имя> - Имя удаляемого пользователя"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
# Проверяем количество аргументов
|
# Проверяем количество аргументов
|
||||||
if [ $# -ne 2 ]; then
|
if [ $# -ne 2 ]; then
|
||||||
echo "Использование: $(basename $0) <тип> <имя>"
|
usage
|
||||||
echo "Тип должен быть либо 'udp', либо 'guest'"
|
fi
|
||||||
|
|
||||||
|
revoke_client() {
|
||||||
|
echo "Процесс удаления $2"
|
||||||
|
cd /etc/openvpn/$1/easy-rsa || { echo "Директория не найдена"; return 1; }
|
||||||
|
./easyrsa revoke "$2" >/dev/null 2>&1
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
echo "Отсутствует пользователь $2 с протоколом $1"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
./easyrsa gen-crl >/dev/null 2>&1
|
||||||
|
find /etc/openvpn/$1/ccd/ -name "$2" -delete
|
||||||
|
find /etc/openvpn/$1/client-configs -name "$2.*" -delete
|
||||||
|
}
|
||||||
|
|
||||||
# Определяем протокол из аргумента
|
# Определяем протокол из аргумента
|
||||||
case "$1" in
|
case "$1" in
|
||||||
udp)
|
udp)
|
||||||
echo "Процесс удаления $2"
|
revoke_client $1 $2
|
||||||
cd /etc/openvpn/udp/easy-rsa
|
|
||||||
./easyrsa revoke $2
|
|
||||||
./easyrsa gen-crl
|
|
||||||
;;
|
;;
|
||||||
tcp)
|
tcp)
|
||||||
echo "Процесс удаления $2"
|
revoke_client $1 $2
|
||||||
cd /etc/openvpn/tcp/easy-rsa
|
|
||||||
./easyrsa revoke $2
|
|
||||||
./easyrsa gen-crl
|
|
||||||
;;
|
;;
|
||||||
guest)
|
guest)
|
||||||
echo "Процесс удаления $2"
|
revoke_client $1 $2
|
||||||
cd /etc/openvpn/guest/easy-rsa
|
|
||||||
./easyrsa revoke $2
|
|
||||||
./easyrsa gen-crl
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Ошибка! Аргумент должен быть 'udp' 'имя' или 'guest' 'имя'."
|
usage
|
||||||
exit 1
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "Сертификат $2 успешно удален!"
|
echo "Сертификат $2 успешно удален!"
|
||||||
|
|||||||
Reference in New Issue
Block a user