Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Общие вопросы
  • Search

Ограничение на количество возможных пользователей в панели.

Общие вопросы о панели управления Vesta
Post Reply
  • Print view
Advanced search
16 posts
  • Previous
  • 1
  • 2
skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Ограничение на количество возможных пользователей в панели.
  • Quote

Post by skurudo » Fri Mar 03, 2017 8:33 pm

Mr.Erbutw wrote: ладно если 3 тарифа, если в дальнейшем предоставлять от 0,5, 1, 2, 5, 8, 10 гб , думаю косячно считать общее.
Дык, П - планирование :)
Mr.Erbutw wrote:
Ну это как раз не важно, как говориться - оплочено же :)
У меня Free :/
Тем более, оплачено тобой :-)))
Top

Spyces
Posts: 3
Joined: Thu Mar 02, 2017 9:25 pm

Re: Ограничение на количество возможных пользователей в панели.
  • Quote

Post by Spyces » Sat Mar 04, 2017 1:00 pm

skurudo wrote:Если делать в лоб, то все вроде не сложно.
Итак, колбасим /usr/local/vesta/bin/v-add-user

Code: Select all

#----------------------------------------------------------#
#                    Variable&Function                     #
#----------------------------------------------------------#

# Argument definition
user=$1
password=$2; HIDE=2
email=$3
package=${4-default}
fname=$5
lname=$6

# Includes
source $VESTA/func/main.sh
source $VESTA/conf/vesta.conf

is_user_free() {
    check_sysuser=$(cut -f 1 -d : /etc/passwd | grep "^$user$" )
    if [ ! -z "$check_sysuser" ] || [ -e "$USER_DATA" ]; then
        check_result $E_EXISTS "user $user exists"
    fi
}

#наша вставка начинается здесь
numberlimit=38
is_user_nubmer() {
    check_usernumber=$(cat /etc/passwd | wc -l)
    if [[ "$numberlimit" -le "$check_usernumber" ]]; then
        check_result $E_INVALID "user room full"
        exit
    fi
}
#наша вставка заканчивается здесь
Здесь мы ориентируемся на количество записей в /etc/passwd, принимаем значение за количество пользователей. Подсчитываем их командой "cat /etc/passwd | wc -l" и считаем, сколько всего нам нужно будет держать пользователей. Количество пользователей задаем жестко в numberlimit, ориентируясь на количество строк выше. Предположим, что после установки системы и Vesta, у нас там 38 записей, соответственно сверяемся с numberlimit при добавлении пользователя. Если numberlimit меньше или раньше количеству пользователей, то выдаем ошибку - полна народу в нашей хате.

Code: Select all

#----------------------------------------------------------#
#                    Verifications                         #
#----------------------------------------------------------#

check_args '3' "$#" 'USER PASSWORD EMAIL [PACKAGE] [FNAME] [LNAME]'
is_format_valid 'user' 'email' 'package'
if [ ! -z "$fname" ]; then
    is_format_valid 'fname' 'lname'
fi
is_user_free "$user"
is_password_valid
is_package_valid
#наша вставка начинается здесь
is_user_nubmer
#наша вставка заканчивается здесь
Просто проверка нашей переменной.

PS: Работу я проверил кстати, решение вполне себе рабочее.

Code: Select all

$ v-add-user user4 user3user3user3 [email protected]
Error: user room full

Спасибо за быструю отзывчивость и помощь в решении этой проблемы, попробую так сделать. Приятно, что у бесплатной панели такие разработчики.
Top

Mr.Erbutw
Posts: 1040
Joined: Tue Apr 29, 2014 10:05 pm

Os: CentOS 6x
Web: apache + nginx
Re: Ограничение на количество возможных пользователей в панели.
  • Quote

Post by Mr.Erbutw » Mon Mar 20, 2017 8:16 pm

skurudo wrote:Если делать в лоб, то все вроде не сложно.

Здесь мы ориентируемся на количество записей в /etc/passwd, принимаем значение за количество пользователей. Подсчитываем их командой "cat /etc/passwd | wc -l" и считаем, сколько всего нам нужно будет держать пользователей. Количество пользователей задаем жестко в numberlimit, ориентируясь на количество строк выше. Предположим, что после установки системы и Vesta, у нас там 38 записей, соответственно сверяемся с numberlimit при добавлении пользователя. Если numberlimit меньше или раньше количеству пользователей, то выдаем ошибку - полна народу в нашей хате.
Немного не до понимаю в чем это реализация лучше, и попробую описать (как вижу я),
ПРИМЕР:
Пользователей на сервере + 2,5 Ка, и hdd на 4 Тб
тут происходит подсчет записей что не есть хорошо.
ну заняли 3 Тб но есть папка которая не значиться в панели управления и весит 1 Тб
ну как бы и места не осталось (по логике веще) и все данные говорят что все место уперлось в потолок.
А этот скрипт считает что еще место есть свободное.

Почему нельзя подсчитывать общее количество занятого пространства с установленным лимитом 4 Тб.
(Может я ошибаюсь, но хотелось бы увидеть что есть как).
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Ограничение на количество возможных пользователей в панели.
  • Quote

Post by skurudo » Tue Mar 21, 2017 2:09 pm

Mr.Erbutw wrote: Немного не до понимаю в чем это реализация лучше, и попробую описать (как вижу я),
Наверное потому что я уже написал и это было не сложно :)
А то что ты предлагаешь, слегка сложнее в реализации, потому что усложняется логика.
Mr.Erbutw wrote:Почему нельзя подсчитывать общее количество занятого пространства с установленным лимитом 4 Тб.(Может я ошибаюсь, но хотелось бы увидеть что есть как).
Думаешь я с тобой не согласен? Так ведь нет! Конечно идеальное решение должно учитывать и место на диске, этого не требовалось по условию задачи и я не потратил время, чтобы подумать над этим как следует. Скорее всего в добавление стоило бы втыкнуть проверку диска и лимиты, при которых бы шел отбой.
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Ограничение на количество возможных пользователей в панели.
  • Quote

Post by skurudo » Tue Mar 21, 2017 2:09 pm

Spyces wrote:Спасибо за быструю отзывчивость и помощь в решении этой проблемы, попробую так сделать. Приятно, что у бесплатной панели такие разработчики.
Просто повезло. Обычно мы более медлительные, бородатые и неразговорчивые :)
Top

Mr.Erbutw
Posts: 1040
Joined: Tue Apr 29, 2014 10:05 pm

Os: CentOS 6x
Web: apache + nginx
Re: Ограничение на количество возможных пользователей в панели.
  • Quote

Post by Mr.Erbutw » Wed Mar 22, 2017 5:10 pm

skurudo wrote: Конечно идеальное решение должно учитывать и место на диске, этого не требовалось по условию задачи и я не потратил время, чтобы подумать над этим как следует. Скорее всего в добавление стоило бы втыкнуть проверку диска и лимиты, при которых бы шел отбой.
О спасибо. Смысл понятен, так и думал.
Top


Post Reply
  • Print view

16 posts
  • Previous
  • 1
  • 2

Return to “Общие вопросы”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password