Титла: Ограничаване на потребители Публикувано от: Ekspert в Feb 06, 2008, 07:29 Налага ми се да огранича ползването на определени програми за потребител(и), като идеята е въпросните програми да могат да се ползват не повече от 3 часа дневно, като времето за ползване да не е строго фиксирано от/до часа, а до изчерпване на лимита му, като при това се извежда съобщение за въпросната забрана. Нямам и най малка представа как да се направи това. Ще съм благодарен ако някой сведущ в програмирането ме осветли по въпроса, или дори да напише въпросния скрипт.
Благодаря ви предварително. P.S. идеята е да се ограничат игрите в службата където работя, защото малуомниците не ползват компа за работа ами само за карти и шах. Дистрото е ubuntu 7.10 службата ми е ... в полицията ![]() То от повечето ченгета не може и друго да се очаква ама все пак... Титла: Ограничаване на потребители Публикувано от: zeridon в Feb 06, 2008, 09:50 /etc/security/time.conf изглежда обещаващо.
Друго което може да помогне е някакъв вид kiosk софтуер. А и с него ще спечелиш доста повече. Титла: Ограничаване на потребители Публикувано от: Ekspert в Feb 06, 2008, 11:03 Благодаря ти, ще го разгледам.
Титла: Ограничаване на потребители Публикувано от: p3tzata_ в Feb 06, 2008, 14:35
Здравейте, aко може да се включа към тази тема понеже ме заинтрегува следния ред
Не би ли трябвало да забрани всичко на юзер "nina" по всяко време. Но не се получава Титла: Ограничаване на потребители Публикувано от: zeridon в Feb 06, 2008, 15:17 p3tzata_: тъй като този файл се чете от pam системата най вероятно при логването трябва да се проверява конкретният модул а именно time.so
Конфигурацията на самият модул идва от /etc/pam.d/ Ekspert: За кде: kiosktool, За гном: pessulus. Само да отбележа че песулуса изглежда все още недовършен. Титла: Ограничаване на потребители Публикувано от: p3tzata_ в Feb 06, 2008, 16:38
Може ли да попитам как става това... Използвам fedora---2.6.23.9-85.fc8 Титла: Ограничаване на потребители Публикувано от: neter в Feb 06, 2008, 17:17 Тъй като ми стана интересно, пък и нещо хич не ми се занимава със сървъри днес, реших да драсна едно решение за целите на Ekspert да се поразсея. Ако на някой ще му свърши работа, да го ползва без да пита може ли
![]() За да работи, нужно е да имате инсталиран php на всяка локална машина и един (всъщност колкото си искате, но не е нужно да са повече от един) mysql сървър. Правите някаква база данни и връзвате към нея някакъв mysql потребител. После импортвате в нея ето това
След това на всяка машина добавяте в crontab следните два скрипта
Сложете го да се изпълнява на всяка минута. Следващият е
Него го сложете да се изпълнява веднъж на денонощие (например в 4 през нощта). Първият скрипт обхожда базата, проверява за включени програми, на които им е изтекло времето и ако има такива, ги изключва. Вторият изчиства таблицата от записите през изтеклия ден, за да е чиста за новия ден. Следва скриптът за включване на програмите
За всяка отделна програма създавайте по един такъв скрипт. Заложете програмите да се стартират чрез него (чрез alias-и или в symlink-овете на десктопа и менютата). Това е. Приемам критики, ако има такива, за функциалността и изпълнението на скриптовете. Ако някой има някакви затруднения с пускането и използването на скриптовете, да каже, за да помагам ![]() edit: За program_id в скрипта, който включва програмата, въведете точно пълния път до програмата, а не (както бях писал) каквото си искате. Забравих, че накрая оставих program_id да се използва в exec() за включване на въпросната програма. Бях забравил и да отбележа, че user_id е идентификатор за всяка отделна машина, която се връзва към mysql сървъра, за да пази отчетите си там. Върши работа, когато един mysql сървър се използва от повече от една машина. Когато всяка машина си ползва свой mysql сървър, този идентификатор не е задължителен, но трябва да присъства като променлива, пък макар и празна, освен ако не ви се редактира кода на скрипта. Титла: Ограничаване на потребители Публикувано от: Ekspert в Feb 06, 2008, 22:28
Прегледах ги и двете но не стават за задачата която съм си поставил, трябва не да забраняват достъпа до определени приложения а да го ограничават по време. Относно pessulus наистина има още какво да се желае в тази програмка. neter е дал най-доброто предложение до момента, не мога да кажа дали е и единственото възможно тъй като не съм програмист. Не съм много наясно относно инсталирането на php4 или php5, т.е. само този пакет ли да инсталирам или има още някакви зависмости (apache2-mpm-prefork, apache2-utils и другите дето си ги иска synaptic), на въпросния компютър няма интернет и ще се наложи всичко да нося на флашка. Същото се отнася и за mysql. Чудя се не може ли да се опрости целия процес, за сега съм се спрял на много незадоволително решение timeout, но програмата не става за тази задача, но временно ще я ползвам докато разбера как да се преборя с php и mysql или нещо друго. Благодаря на всички за бързите отговори. Поздрави. Титла: Ограничаване на потребители Публикувано от: gat3way в Feb 06, 2008, 22:49 Добре де, кое гарантира, че няма да ги изпълни директно, защо точно този скрипт трябва да извика?
Титла: Ограничаване на потребители Публикувано от: neter в Feb 07, 2008, 00:50
Гарантира го това, че ще се използва от хора, които не са "на ти" с компютрите (полицаи). Скриптът не е универсален (писах го специално за случая на Exspert) или поне не в тази схема на приложение, в която го описах и може би не точно с тази структура. Но дори човек, който има някакъв опит с компютри и Линукс (не дълбок, но някакъв) може да бъде заблуден като скриптът не се постави за изпълнение като alias или в symlink-овете, а се постави на мястото на реалните изпълними файлове на програмата (в примера с kcalc от скрипта, преименуваме /usr/bin/kcalc на /usr/bin/ne6to_nerazbiraemo и слагаме наш скрипт с име /usr/bin/kcalc, след което в скрипта за изпълним файл на програмата използваме /usr/bin/ne6to_nerazbiraemo или, ако програмата поради някаква причина изисква да си е на оригиналното място с оригиналното име, то можем да сложим нашия скрипт в /bin със същото име като оригиналния файл и да махнем /usr/bin от пътищата на системата, с което си усложняваме работата, защото трябва да се направи схема за директно изпълнение и на другите приложения в /usr/bin, но не е невъзможна задача). С цел да объркаме потребителя, можем да преправим cron задачите в демони, като кръстим демоните така, че потребителят да не се усети, че това им е целта и да не тръгне да ги проверява какво правят всъщност. Ако на някой му потрябват като демони, ще му ги преправя. Но както казах, скриптът не е универсален, писал съм го така, както ми се вижда най-добре за дадения случай. Рядко пиша универсални скриптове, тъй като всяка система и цел изискват своите специфики и рядко универсалните решения вършат работа на 100%. Все едно да вземеш защитната стена от един сървър и да я сложиш на друг, без да преправиш нищо. Рядко върши работа, тъй като отделните машини са подложени на различни атаки и някои от правилата се оказват излишни, а се оказва че има нужда от още правила. Та... да не се отплесвам много, че пак взех да изписвам фермани ![]() Ekspert, съжалявам да прочета, че тези машини нямат нет, защото задачата ти се усложнява. Все пак е хубаво, че всички системи са еднакви. Препоръчвам ти да си качиш една виртуална машина с Ubuntu 7.10, да й инсталираш php и mysql и след това да вземеш всички използвани по време на инсталациите deb пакети от /var/cache/apt/archives и да си ги сложиш на флашката. След това, за да качиш php, слагаш файловете за php-то в една папка на машината и ги инсталираш с команда "dpkg -i *.deb", за да се качват наведнъж и да не пищят за зависимости. За да качиш mysql-а на машината, която ще ползваш за сървър, правиш същото упражнение, но с пакетите, които са нужни на mysql. Успех, независимо кое решение ще предпочетеш. Знам каква мъка е да администрираш машини, които ще се ползват от хора (просто защото имат най-различни прищявки за излишни неща), затова реших да ти дам още едно решение на проблема, за да имаш по-богат избор ![]() Титла: Ограничаване на потребители Публикувано от: Ekspert в Feb 07, 2008, 06:59 Всъщност машината е само една (стария ми компютър) понеже начлниците на ченгетата в Бургас са толкова калпави че не могат един читав компютър да ни дадат, но какво да очакваш от курбанджии ;-) дай им далаверка и ще са първи. Та затова има linux с police-то заради моите прищевки, иначе всички са на уиндос с изключение на няколко ченгета като мен, ама една ръка има много пръсти че да дам сравнение. Благодаря ти пак, започвам да се боря от утре че днес няма да имам време.
|