Удаление пользователей OpenVpn разных протоколов

This commit is contained in:
2025-08-07 15:25:25 +03:00
parent a7d48963e6
commit 3052dd69eb

View File

@ -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 успешно удален!"