script for parental control (внутри)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Prometei
Сообщения: 139
ОС: i love Linux & macosx

script for parental control

Сообщение Prometei »

вообщем вот скрипт для установки
tinyproxy dansguardian clamav iptables( transparent proxy web filtr)

Код: Выделить всё

#!/bin/bash
#

# Script to install parental control in slackware

ex=`/usr/bin/whoami`
ran="echo "Please use right key [Y/N]""
squid=`which squid`
MY_OS=`uname -s`


install ()
{

# installation programms block --------------------
# loggin log files not complete yet
install_tiny ()
{
    if [ -f $squid != ""  ]; then
    echo "It seems you  have squid installed"
    echo "Please remove squid first for tinyproxy install"
    echo "or reconfigure squid for dansguardian"
    echo "aborting"
    menu
    else
    tar -zxvf tinyproxy-1.6.3.tar.gz
    cd tinyproxy-1.6.3
    ./configure --prefix=/usr \
            --localstatedir=/var \
        --sysconfdir=/etc \
        --enable-xtinyproxy \
        --enable-filter \
        --enable-upstream \
        --enable-reverse \
        --enable-transparent-proxy \
        --program-prefix="" \
        --program-suffix=""
    make
    make install
    cd ..
    menu
    fi
}

            install_dans ()
            {
            tar -zxvf dansguardian-2.9.9.4.tar.gz
            cd dansguardian-2.9.9.4
            ./configure --prefix=/usr \
                        --localstatedir=/var \
                        --sysconfdir=/etc \
                        --enable-pcre \
                        --enable-clamd \
                        --enable-email \
                        --enable-commandline \
                        --with-proxyuser=nobody \
                        --with-proxygroup=nobody
            make
            make install
            cd ..
            menu
            }

                install_clam ()
                {
                tar -zxvf clamav-0.95.3.tar.gz
                cd clamav-0.95.3
                groupadd clamav
                useradd -g clamav -s /bin/false clamav
                ./configure --prefix=/usr \
                            --localstatedir=/var \
                            --sysconfdir=/etc \
                            --with-user=clamav --with-group=clamav \
                            --with-dbdir=/usr/share/clamav \
                            --with-libcurl \
                            --with-tcpwrappers \
                            --enable-milter \
                            --enable-id-check
                make
                make install
                cd ..
                menu
                }

configs()
{
    if [ -x /etc/rc.d/ ]; then
    clear
    echo "Copying files ....."
    cp rc.firewall /etc/rc.d/
    cp rc.dansguardian /etc/rc.d/
    cp rc.clamav /etc/rc.d/
    chmod +x /etc/rc.d/rc.firewall
    chmod +x /etc/rc.d/rc.dansguardian
    chmod +x /etc/rc.d/rc.clamav
    else
    echo "I cant find /etc/rc.d/ folder"
    fi

        if [ -x /etc/dansguardian/dansguardian.conf ]; then
        cp dansguardian.conf /etc/dansguardian/
        else
        echo "I cant find /etc/dansguardian folder"
        fi

            if [ -x /etc/tinyproxy/tinyproxy.conf ]; then
            cp tinyproxy /etc/tinyproxy/
            else
            echo "I cant find /etc/tinyproxy folder"
            fi

                killall tinyproxy
                if [ -x /usr/sbin/tinyproxy ]; then
                /usr/sbin/tinyproxy start
                else
                echo "I cant find program tinyproxy"
                fi
menu
}

#--------------------------------------------------

tiny()
{
clear
echo "Do you want install tinyproxy [Y/N]?"
read ans1
case $ans1 in
Y*|y*) install_tiny
;;
N*|n*) menu
;;
*) $ran tiny
;;
esac
}

    dans ()
    {
    clear
    echo "Do you want to install dansguardian [Y/N]?"
    read ans3
    case $ans3 in
    Y*|y*) install_dans
;;
    N*|n*) menu
;;
    *) $ran dans
;;
    esac
    }

        clam ()
        {
        clear
        echo "Do you want to install dansguardian [Y/N]?"
        read ans2
        case $ans2 in
        Y*|y*) install_clam
    ;;
        N* | n*) menu
    ;;
        *) $ran clam
    ;;
        esac
        }


            check()
            {
            if [ $ex ! "root" ]; then
            clear
            echo "IT seems you are not root user"
            echo "please execute this script as root user"
            exit 1
            else
                case "$MY_OS" in
                Linux*)   MY_OS="linux"
                mkdir /root/pcontrol
                cd /root
                tiny
            ;;
                SunOS*)  exit 1 # MY_OS="solaris"
            ;;
                Darwin*) exit 1 # MY_OS="macosx"
            ;;
                FreeBSD*) exit 1 # MY_OS="freebsd"
            ;;
                *) echo "$MY_OS is not supported"; exit 1;;
                esac
            fi
            }

                main()
                {
                clear
                echo "Do you want execute script [Y/N]?"
                read ans
                case "$ans" in
                Y*|y*) check
            ;;
                N*|n*) exit 0
            ;;
                *) $ran main
            ;;
                esac
                }



                        menu()
                        {
                        echo "    Main menu"
                        echo "variants to install"
                        echo "1. tinyproxy-1.6.5"
                        echo "2. dansguardian-2.10"
                        echo "3. clamav-0.95.3"
                        echo "4. copy/add config files/add user/group"
                        echo "5. silent install (install all by default and copy configs"
                        echo
                        echo "6. exit"
                        read menu
                        case $menu in
                        1) tiny
                    ;;
                        2) dans
                    ;;
                        3) clam
                    ;;
                        4) config
                    ;;
                        5) install_tiny install_dans install_clam
                    ;;
                        6) exit 0
                    ;;
                        esac
}
main
# end of installation mass
}
install
exit 0


делал по етому туториалу slackware parental control

в чем сдесь проблема
и почему в скрипте я не могу переходить в другую папку

wget http://fs04n3.sendspace.com/dl/84c601ed2f3...6/installpc.jar

complete variant

:drunk:
M$ Windows для пользователей и геймеров
MacosX для дизайнеров и музыкантов
Linux для программистов и хакеров
*BSD для серверов
Спасибо сказали:
sendmoreinfo
Сообщения: 50

Re: script for parental control

Сообщение sendmoreinfo »

вопрос-то где?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: script for parental control

Сообщение drBatty »

Prometei писал(а):
31.10.2009 18:23
и почему в скрипте я не могу переходить в другую папку

а как вы переходите?
Prometei писал(а):
31.10.2009 18:23
в чем сдесь проблема

это вам виднее... вы хоть симптоматику объяснили-бы...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Prometei
Сообщения: 139
ОС: i love Linux & macosx

Re: script for parental control

Сообщение Prometei »

drBatty писал(а):
01.11.2009 02:32
Prometei писал(а):
31.10.2009 18:23
и почему в скрипте я не могу переходить в другую папку

а как вы переходите?
Prometei писал(а):
31.10.2009 18:23
в чем сдесь проблема

это вам виднее... вы хоть симптоматику объяснили-бы...



вообщем вот пример мне надо распаковать архив перейти в него сконфигурировать с компилировать потом выйти из него
но все должно быть в той папку из которой архив вытащили имеется сам скрипт
но проблема в том что етого не происходит почему незнаю
вообще в любом скрипте

т.е. я пишу
#!/bin/bash
#
mkdir folder
cd folder
cd ..

он только делает папку, заходить не хочет
извините меня не программист и скрипты писать тоже не умею , а ето просто от нечего делать сделал
M$ Windows для пользователей и геймеров
MacosX для дизайнеров и музыкантов
Linux для программистов и хакеров
*BSD для серверов
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: script for parental control

Сообщение drBatty »

Prometei писал(а):
01.11.2009 11:27
он только делает папку, заходить не хочет

попробуйте полный путь, проверяйте код возврата, читайте отладочные сообщения, используйте трассировку...

$

drb@localhost:tmp$ cat tst.bash #!/bin/bash -x mkdir test_dir echo "error code '$?'" cd test_dir echo "error code '$?'" echo "\$PWD = '$PWD'" touch test_file ls -lar exit 0 drb@localhost:tmp$ ./tst.bash + mkdir test_dir + echo 'error code '\''0'\''' error code '0' + cd test_dir + echo 'error code '\''0'\''' error code '0' + echo '$PWD = '\''/home/drb/tmp/test_dir'\''' $PWD = '/home/drb/tmp/test_dir' + touch test_file + ls -lar итого 8 -rw-r--r-- 1 drb users 0 2009-11-01 16:06 test_file drwxr-xr-x 3 drb users 4096 2009-11-01 16:06 .. drwxr-xr-x 2 drb users 4096 2009-11-01 16:06 . + exit 0

ы?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: script for parental control

Сообщение sash-kan »

Prometei писал(а):
01.11.2009 11:27
cd ..
переход на уровень выше.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: