Jump to content

скрипты в папках ползователей


Recommended Posts

трабла со скриптами в папках ползователей т.е. кладу скрипты OnConnect и OnDisconnect в папку пользователей напр (/var/stargazer/users/SFINKS/) но они не исполняются в документации говорится что должны.

Link to post
Share on other sites
в скрипте онконкет пишите

 

.....

стандартно

......

/usr/billing/users/$login/Onconnect

Все понятно спасибо большое, просто я думал что в программе реализована эта функция, и боялся что если в скрипте допишу что нить подобное то потом скрипты в папках юзверей будут исполнятся два раза.

Link to post
Share on other sites

Можно еще использовать такой вариант:

 

test -x /var/stargazer/users/$login/OnConnect

if [ $? eq 0 ]

then

/var/stargazer/users/$login/OnConnect

exit 0

fi

 

... дальнейший текст дефолтового скрипта ...

Link to post
Share on other sites

Проблемму решил таким образом. Может кому понадобится.

 

Скрипт OnConnect

#путь к базе юзверей
us_path="/usr/local/stargazer/users"
file=$us_path/$LOGIN/OnConnect
LOGIN=$1
CASH=$3
fwcmd="/sbin/ipfw"
int_if="rl1"
ip=$2
login=$1
id=$4



if [ -s $file ]
then

$file $*
echo "OK $file $*" >> ~/log.disconnect
else

${fwcmd} delete `expr $id '*' 10 + 30008`
${fwcmd} queue `expr $id + 50` config pipe 2 queue 100 gred 0.002/10/30/0.1
${fwcmd} queue `expr $id + 300` config pipe 1 queue 100 gred 0.002/10/30/0.1
${fwcmd} add `expr $id '*' 10 + 30001` queue `expr $id + 50` tcp from not 192.168.0.0/16 to $ip
${fwcmd} add `expr $id '*' 10 + 30004` fwd 172.17.0.2,3128 tcp from $ip to not 192.168.0.0/16 dst-port 80
${fwcmd} add `expr $id '*' 10 + 30005` allow udp from $ip to any keep-state
${fwcmd} add `expr $id '*' 10 + 30006` allow tcp from $ip to any setup
${fwcmd} add `expr $id '*' 10 + 30007` allow icmp from $ip to any keep-state

echo "C `date +%Y.%m.%d-%H.%M.%S` $ip $CASH" >> /var/stargazer/users/$LOGIN/connect.log

fi

 

OnDisconnect

 

LOGIN=$1
IP=$2
CASH=$3
id=$4
fwcmd="/sbin/ipfw"
#путь к базе юзверей
us_path="/usr/local/stargazer/users"
file=$us_path/$LOGIN/OnDisconnect


if [ -s $file ]
then

$file $*
else

${fwcmd} delete `expr $id '*' 10 + 30000`
${fwcmd} delete `expr $id '*' 10 + 30001`
${fwcmd} delete `expr $id '*' 10 + 30002`
${fwcmd} delete `expr $id '*' 10 + 30003`
${fwcmd} delete `expr $id '*' 10 + 30004`
${fwcmd} delete `expr $id '*' 10 + 30005`
${fwcmd} delete `expr $id '*' 10 + 30006`
${fwcmd} delete `expr $id '*' 10 + 30007`
${fwcmd} add `expr $id '*' 10 + 30008` deny ip from any to $IP

echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log

fi

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...