Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 21-02-2002, 11:38
Marc S
Marc S is offline
Het probleem:
Ik heb hier een printer gedeeld via SAMBA. Op het moment wordt deze gebruikt door 5 Windows 2000 workstations. Nu komt het regelmatig voor dat iemand 50 (of zelfs meer) documenten naar de printer verstuurt en iemand anders graag tussendoor een documentje print.

Tot nu toe ben ik dan altijd degene die inlogt op de server en met het commando "lpc topq <printer> <gebruiker>" voorrang verleen aan het document. So far so good, maar ik ben niet meer voor lang onder de week aanwezig en voor de rest kan niemand hier met Linux / *BSD omgaan.

Ook lijkt het me beter als dat zo blijft, omdat het niet de bedoeling is dat iedereen hier met de server rotzooit. Het wachtwoord geef ik dus ook niet vrij.

Maar hoe stel ik mensen nu in staat eenvoudig voorrang te verlenen aan een document, zonder dat zij directe toegang tot de server hebben? Vanuit hun Windows systeem via een HTML interface (PHP) lijkt me tot nu toe de enigste oplossing :/

Probleem is wel dat het "lpc topq" commando een privileged command is, waardoor het alleen met de super-user werkt *zucht*

De oplossing:
Wil ik graag horen!

Ik zocht eerst naar een oplossing via SAMBA, want de printer is immers een gedeelde SAMBA printer, maar kon er niets over vinden. Hoe kan ik dit via PHP regelen?
Met citaat reageren
Advertentie
Oud 21-02-2002, 13:35
dystopia
dystopia is offline
Bestaat vast wel een tooltje voor. Check FM 'ns.
__________________
The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently - Steve Jobs
Met citaat reageren
Oud 21-02-2002, 13:46
Marc S
Marc S is offline
Citaat:
dystopia schreef:
Bestaat vast wel een tooltje voor. Check FM 'ns.
Ik kon zoiets dergelijks niet vinden op Freshmeat :/
Met citaat reageren
Oud 22-02-2002, 07:29
Marc S
Marc S is offline
Hmmz, bij GoT schijnt het ook niemand te weten... of niemand te boeien, 1 van beide :/
Met citaat reageren
Oud 22-02-2002, 07:35
Doc
Avatar van Doc
Doc is offline
Citaat:
Marc S schreef:
Hmmz, bij GoT schijnt het ook niemand te weten... of niemand te boeien, 1 van beide :/


Misschien wordt 't tijd om zelf een module te gaan schrijven, of SourceForge stond ook niet veel
__________________
Ik ontken met kracht dat ik erkenning geef aan mensen die onkennen te erkennen onkennend miskend te zijn...:p
Met citaat reageren
Oud 22-02-2002, 07:55
Marc S
Marc S is offline
Citaat:
Doc schreef:
Misschien wordt 't tijd om zelf een module te gaan schrijven, of SourceForge stond ook niet veel


Mjah, misschien maak ik wel iets leuks

Ik heb al ideeen voor:

1)
Een console programma dat de queue toont en het toelaat voorrang te verlenen en vooral niets anders. Dit vanwege de veiligheid, want het moet als suid-root draaien (vanwege lpc topq).

2)
Een PHP interface die deze binary aanstuurt en er een grafisch frontend voor vormt.

Na ja, dit wordt weer een lang weekend

Gefeliciteerd trouwens
Met citaat reageren
Oud 22-02-2002, 08:05
Marc S
Marc S is offline
Hmm, Linuxconf heeft een printermodule met queue management

Misschien kan ik die wel isoleren en er een apart programma van maken :/
Met citaat reageren
Oud 22-02-2002, 08:29
Marc S
Marc S is offline
Shit, die kan niet genoeg

Zie de sourcecode van de printerqueue manager :/

Dat ding kan amper wat
Met citaat reageren
Oud 22-02-2002, 08:42
Marc S
Marc S is offline
Ach ja, ik denk dat ik zelf een LPC clone maak met beperkte mogelijkheden, dan lukt het wel

Main

Subroutines

Moet te doen zijn
Met citaat reageren
Oud 22-02-2002, 08:45
Marc S
Marc S is offline
Hmm... de code manipuleert alleen bestanden uit de spooldirectory... dat kan ik misschien ook direct doen :/
Met citaat reageren
Oud 22-02-2002, 08:48
Marc S
Marc S is offline
Haha, hij verandert alleen de timestamp van het betreffende item
Met citaat reageren
Oud 22-02-2002, 09:07
Koen
Avatar van Koen
Koen is offline
Citaat:
Marc S schreef:
Haha, hij verandert alleen de timestamp van het betreffende item


En bevalt dat, zo'n 2e persoonlijkheid waar je lekker tegenaan kan lullen?
Met citaat reageren
Oud 22-02-2002, 09:12
Marc S
Marc S is offline
Citaat:
Koen schreef:
En bevalt dat, zo'n 2e persoonlijkheid waar je lekker tegenaan kan lullen?
Whaha

Ik constateer dingen en leg deze vast, zij het mentaal en / of schriftelijk. Waar ik het maar kwijt kan

Update:
Kan ik om onnodig werk te voorkomen niet gewoon het lpc programma erin luizen door mezelf voor te doen als root? Het controleert mijn identiteit alleen maar met de getuid() functie namelijk

Wie weet het?
Met citaat reageren
Oud 22-02-2002, 09:15
Doc
Avatar van Doc
Doc is offline
WOW wat een mooie monoloog *applaus*

Bedankt voor de felicitatie
__________________
Ik ontken met kracht dat ik erkenning geef aan mensen die onkennen te erkennen onkennend miskend te zijn...:p
Met citaat reageren
Oud 22-02-2002, 09:17
Marc S
Marc S is offline
Citaat:
Doc schreef:
WOW wat een mooie monoloog *applaus*


Ik denk dat ik zelf een programma moet schrijven dat lpc forked en met seteuid doorgeeft dat hij als caller zelf root is en dan alleen de commando's uitvoert die per se noodzakelijk zijn om de veiligheid enigzins te handhaven.

Citaat:
Bedankt voor de felicitatie

Met citaat reageren
Oud 22-02-2002, 09:57
Marc S
Marc S is offline
Hmm, ik kan hem wel verneuken zodat ik alle permissies heb, maar wordt nog steeds geidentificeerd als user :/

*gaat ff iets op GoT vragen*
Met citaat reageren
Oud 22-02-2002, 11:40
Marc S
Marc S is offline
Na ja, ik ben er zelf uitgekomen

In het forkende programma: setuid(geteuid());

En dan op het programma zelf:

# chown root.root myprog
# chmod +s myprog

En daarna werkt het

De rest is formeel, gewoon uitwerken
Met citaat reageren
Oud 22-02-2002, 12:07
DEChengst
Avatar van DEChengst
DEChengst is offline
Waarom wil je de gebruikers dit zelf laten doen ? Het valt namelijk precies te voorspellen hoe het gaat. Gebruikers weten op een gegeven moment dat dit kan, en gaan dan altijd hun jobjes omhoog pushen.

Ik zou gewoon een shell script bouwen op de server zelf en die laten schedulen.

Je kijkt wat er aan opdrachtjes in de queue staat. Aan de hand voor de mtime bepaal je wat de print volgorde is. Heeft 1 bepaalde gebruiker te veel jobs achter elkaar dan touch je een aantal van zijn jobs, zodat ze later uitgeprint worden.

-Desecrator
__________________
PDP, VAX en Alpha fanaat ; HP-Compaq is de Satan! ; Bidt u allen dagelijks richting Maynard! ; Ernie==lief ; Het leven begint bij 150 km/u ; aka Desje
Met citaat reageren
Oud 22-02-2002, 12:47
Marc S
Marc S is offline
Citaat:
Desecrator schreef:
Waarom wil je de gebruikers dit zelf laten doen?
Omdat er situaties zijn waar iemand wel voorrang nodig heeft en andere keren weer niet. De situatie is niet constant, maar variabel en moet daardoor dus flexibel zijn.
Met citaat reageren
Oud 22-02-2002, 12:51
Marc S
Marc S is offline
Ik ga er wel een authenticatieproces aanhangen, zodat alleen een paar bevoegde mensen dit kunnen doen (zonder nadere kennis van Linux / *BSD te hebben via webinterface).
Met citaat reageren
Oud 22-02-2002, 14:10
Marc S
Marc S is offline
Het console programma

Het volgende wordt een PHP interface die dit programma aanstuurt en dan kom eindelijk in de buurt van wat ik wil.

Als mensen nog een manier zien om met dit programma andere systeemcommando's uit te voeren, meldt dit gaarne hier of mail me op mas2401@yahoo.com
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 18:43.