[PHP] Script om Linux mee te beheren, niet beschikbaar ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben driftig opzoek naar een PHP based applicatie welke Linux users kan aanmaken en beheren. De users moeten de beschikking hebben om een programma te starten, dit is verder redelijk basic.

Let wel, dit is geen script request, ik probeer te begrijpen waarom dit niet bestaat of ik het niet vinden kan.

Natuurlijk heb ik gezocht, en uiteraard is er webmin, dit vind ik alleen niet geweldig omdat ik niet met de webmin scripting bekend ben. Ik kan me er altijd in verdiepen natuurlijk en het me eigen maken.

Er is ook een php-webmin variant, dit gaat al de goede kant op, deze ben ik aan het onderzoeken.

Wat ik alleen niet snap is dat er vrijwel geen enkel project te vinden is, via google of waar je ook zoekt wat een simpele frontend heeft en waarmee je gebruikers aan kunt maken welke een homedirectory krijgen en eventueel een eigen programma kunnen starten.

Het klinkt erg simpel, en dat is het naar mijn idee ook, dus ik neig ernaar dit zelf te gaan schrijven. Toch vind ik het vaak een fijn gevoel in zo'n geval een voorbeeld te hebben gezien, of de manier waarom een ander het bouwt te aanschouwen, je skills wat verder uit te bouwen op die manier.

De vraag die ik dus hier wil stellen, waarom zijn dergelijke simpele scripts, desnoods met een MySQL DB erachter om wat meer zaken te kunnen instellen en bewaren voor een gebruiker ? Je zou zeggen dat hier veel vraag naar is en er allang iemand geweest is die dit geschreven zou moeten hebben. Iedere keer kom ik weer terug op Webmin, dit vind ik qua layout en aanpassingen gewoon niet je vanhet, dus zoek ik het in de PHP hoek.

Bestaat dit gewoon werkelijk niet of weet ik niet hoe Google werkt ?

Anders ga ik zelf maar fijn aan de schrijftafel zitten :)

Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 22:05
Je hoeft voor Webmin niets te scripten, want er is al een module voor gemaakt: http://doxfer.com/Webmin/UsersAndGroups ;). Ik ga er vanuit dat je gewoon bedoeld dat je Unix gebruikers aanmaakt in /etc/passwd. Er is ook een module om gebruikers aan te maken in LDAP :).

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 14:16

Super_ik

haklust!

waarom er niet zoiets simpels is?
omdat een form tekenen met 3 input velden en dan sudo adduser $naam $homedir $blaat aanroepen niet het meest geavanceerde truukje is natuurlijk.

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Super_ik schreef op maandag 27 augustus 2007 @ 19:29:
waarom er niet zoiets simpels is?
omdat een form tekenen met 3 input velden en dan sudo adduser $naam $homedir $blaat aanroepen niet het meest geavanceerde truukje is natuurlijk.
Ja dat is duidelijk, maar een user dan rechten te geven om een programmaatje te starten is wel wat meer.

Ik denk overigens dat wanneer je in de userfolder het programmaatje of script zet dat het veel makkelijker te beheren valt, maar toch... rechten rechten rechten, en je moet met screen om kunnen gaan.

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Waarom er zoiets niet is is nogal logisch, web interfaces staan niet bekend om hun hoge security niveau.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 20:37
Verwijderd schreef op maandag 27 augustus 2007 @ 19:40:
Ja dat is duidelijk, maar een user dan rechten te geven om een programmaatje te starten is wel wat meer.
Wat bedoel je met "rechten te geven om een programmaatje te starten", dat een user een bepaald programma kan starten is toch gewoon chmod +x programma && chown blaat programma oid?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Grijze Vos schreef op maandag 27 augustus 2007 @ 19:45:
Waarom er zoiets niet is is nogal logisch, web interfaces staan niet bekend om hun hoge security niveau.
Ben ik deels met je eens, maar hier is een beheerder zelf ook deels verantwoordelijk voor.

Je kan niet eens echte ideeën vinden van mensen welke hetzelfde gingen doen en een blog of iets dergelijks hebben aangemaakt, het is echt vreselijk sumier te noemen wat voor en info hier over is.

Best gek vond ik.

Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 22:05
robbert schreef op maandag 27 augustus 2007 @ 19:46:
[...]

Wat bedoel je met "rechten te geven om een programmaatje te starten", dat een user een bepaald programma kan starten is toch gewoon chmod +x programma && chown blaat programma oid?
Het is niet zo'n goed idee om een gewone gebruiker toegang te geven tot adduser/ useradd. In Debian staat adduser in /usr/sbin. Oftewel, het programma is alleen bedoeld voor de super-user :).

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 20:37
Jaap-Jan schreef op maandag 27 augustus 2007 @ 19:51:
[...]
Het is niet zo'n goed idee om een gewone gebruiker toegang te geven tot adduser/ useradd. In Debian staat adduser in /usr/sbin. Oftewel, het programma is alleen bedoeld voor de super-user :).
Waar in mijn post zeg ik dat ik een gebruiker rechten wil geven tot useradd of tot andere programma welke voor de superuser bedoeld zijn.

[ Voor 7% gewijzigd door robbert op 27-08-2007 19:59 ]


Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 22:05
robbert schreef op maandag 27 augustus 2007 @ 19:58:
[...]

Waar in mijn post zeg ik dat ik een gebruiker rechten wil geven tot useradd of tot andere programma welke voor de superuser bedoeld zijn.
Dat stukje van RutgerM: 'user dan rechten te geven om een programmaatje te starten', sloeg op een programma om users te beheren, oftewel useradd/ adduser :). Sowieso zijn programma's die zich daarmee bezighouden bedoeld voor root en niet voor normale gebruikers.

[ Voor 11% gewijzigd door Jaap-Jan op 27-08-2007 20:07 ]

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Jaap-Jan schreef op maandag 27 augustus 2007 @ 20:04:
[...]
Dat stukje van RutgerM: 'user dan rechten te geven om een programmaatje te starten', sloeg op een programma om users te beheren, oftewel useradd/ adduser :).
Ja klopt, je zou dus een MySQL database kunnen runnen welke de user verifieerd welke het script mag gebruiken dat adduser aanstuurt.

met if() kom je een heel eind ;)

Ik ben nog steeds aan het zoeken of er uberhaubt iets bestaat, het lijkt er niet op.

Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 20:37
Jaap-Jan schreef op maandag 27 augustus 2007 @ 20:04:
[...]
Dat stukje van RutgerM: 'user dan rechten te geven om een programmaatje te starten', sloeg op een programma om users te beheren, oftewel useradd/ adduser :).
Ok, ik kon het er in ieder geval niet uit ophalen.

Maar ik wens hem veel plezier met zijn webserver als root of sudoer om useradd uit te kunnen laten voeren. Dat kan waarschijnlijk leuke security problemen opleveren.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Jaap-Jan schreef op maandag 27 augustus 2007 @ 20:04:
Dat stukje van RutgerM: 'user dan rechten te geven om een programmaatje te starten', sloeg op een programma om users te beheren, oftewel useradd/ adduser :). Sowieso zijn programma's die zich daarmee bezighouden bedoeld voor root en niet voor normale gebruikers.
Volgens mij wil de TS gewoon gebruikers kunnen toevoegen en per gebruiker kunnen opgeven welke programma's die moet mogen starten.
Beetje als applicatiegroepen in AD... ;) Maar dan webbased... :)
robbert schreef op maandag 27 augustus 2007 @ 20:08:
Maar ik wens hem veel plezier met zijn webserver als root of sudoer om die useradd uit te kunnen laten voeren. Dat kan waarschijnlijk leuke security problemen opleveren.
Dat is natuurlijk ook maar op welke manier je hem draaid... :)
Is het voor intern-only gebruik, dan zie ik het security probleem niet zo... :)
Een webinterface hoef je niet perse aan het internet te hangen hoor... ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GJ-tje schreef op maandag 27 augustus 2007 @ 20:13:
[...]
Volgens mij wil de TS gewoon gebruikers kunnen toevoegen en per gebruiker kunnen opgeven welke programma's die moet mogen starten.
Beetje als applicatiegroepen in AD... ;) Maar dan webbased... :)
Inderdaad,, php based, dat ligt me gewoon. Ik heb al een idee voor een database om wat zaken makkelijker te kunnen zetten, hoef je niet alles van de machine zelf te halen voor de user.
Dat is natuurlijk ook maar op welke manier je hem draaid... :)
Is het voor intern-only gebruik, dan zie ik het security probleem niet zo... :)
Een webinterface hoef je niet perse aan het internet te hangen hoor... ;)
Internet of niet, zelfs dan hoeft het niet insecure te zijn.

Maar intern is een pre inderdaad.

Acties:
  • 0 Henk 'm!

Verwijderd

Je kan een webbased shell maken, maar dan kan je misschien net zo goed via ssh werken ipv http.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op maandag 27 augustus 2007 @ 20:17:
Je kan een webbased shell maken, maar dan kan je misschien net zo goed via ssh werken ipv http.
Kijk als een user zijn programmatje of script wil starten is een startstop knop erg handig, vandaar dat je dan voor webbased gaat.

Zeker voor een commandline noob geweldig natuurlijk.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op maandag 27 augustus 2007 @ 20:15:
Inderdaad,, php based, dat ligt me gewoon. Ik heb al een idee voor een database om wat zaken makkelijker te kunnen zetten, hoef je niet alles van de machine zelf te halen voor de user.
Toch vraag ik me af of Webmin dit niet al kan, lijkt mij namelijk wel... ;) En anders kan je de LDAP module gebruiken van Webmin, dan kan het zeker denk ik... ;)
Maak je namelijk gebruikersgroepen aan, hang je je applicaties aan en specifieke applicaties hang je dan eventueel aan de user, klaar ben je, hoef je alleen maar aan te geven van welke groep(en) de nieuwe gebruiker lid hoeft te zijn, heb je geeneens een *SQL database voor nodig... ;)
Internet of niet, zelfs dan hoeft het niet insecure te zijn.

Maar intern is een pre inderdaad.
Ik zou in ieder geval niemand van het internet vertrouwen, dus zou het alleen voor intern gebruik gebruiken... :)

Acties:
  • 0 Henk 'm!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Verwijderd schreef op maandag 27 augustus 2007 @ 20:07:
[...]


Ja klopt, je zou dus een MySQL database kunnen runnen welke de user verifieerd welke het script mag gebruiken dat adduser aanstuurt.
Waarom dan niet gewoon de users in een database opslaan in plaats van zo omslachtig?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GJ-tje schreef op maandag 27 augustus 2007 @ 20:19:
[...]
Toch vraag ik me af of Webmin dit niet al kan, lijkt mij namelijk wel... ;) En anders kan je de LDAP module gebruiken van Webmin, dan kan het zeker denk ik... ;)
Maak je namelijk gebruikersgroepen aan, hang je je applicaties aan en specifieke applicaties hang je dan eventueel aan de user, klaar ben je, hoef je alleen maar aan te geven van welke groep(en) de nieuwe gebruiker lid hoeft te zijn, heb je geeneens een *SQL database voor nodig... ;)
Webmin kan dit, in combinatie met Usermin. Webmin opzich, de scripting ligt me niet. Ik zou dan voor phpwebmin kunnen gaan, hoewel ik toch een frontend prefereer waarbij niet alle userinfo van het systeem gehaalf hoeft te worden, met een DB erachter kan het veel sneller en dynamischer zijn.
[...]
Ik zou in ieder geval niemand van het internet vertrouwen, dus zou het alleen voor intern gebruik gebruiken... :)
OK, ik vertrouw je niet :+

Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 20:37
Zoals al een paar keer gezegd moet de TS maar geen gaan kijken naar LDAP. Vanuit php kun je iig makkelijk met een LDAP server communiceren.
GJ-tje schreef op maandag 27 augustus 2007 @ 20:19:
[...]
En anders kan je de LDAP module gebruiken van Webmin, dan kan het zeker denk ik... ;)
Maak je namelijk gebruikersgroepen aan, hang je je applicaties aan en specifieke applicaties hang je dan eventueel aan de user, klaar ben je, hoef je alleen maar aan te geven van welke groep(en) de nieuwe gebruiker lid hoeft te zijn, heb je geeneens een *SQL database voor nodig... ;)
Met GT'tje dus :)

[ Voor 57% gewijzigd door robbert op 27-08-2007 20:28 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
robbert schreef op maandag 27 augustus 2007 @ 20:28:
Zoals al een paar keer gezegd moet de TS maar geen gaan kijken naar LDAP. Vanuit php kun je iig makkelijk met een LDAP server communiceren.
LDAP, ben er wel eens mee bezig geweest. LDAP moet je willen denk ik, zolang het niet hoeft... liever niet.

Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 20:37
Verwijderd schreef op maandag 27 augustus 2007 @ 20:28:
LDAP, ben er wel eens mee bezig geweest. LDAP moet je willen denk ik, zolang het niet hoeft... liever niet.
Volgens mij maak je jezelf het er uiteindelijk wel een stuk makkelijker mee. Dat geklooi (nofi) wat je nu van plan bent, lijkt me nou ook niet echt veel toekomst perspectief hebben...

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op maandag 27 augustus 2007 @ 20:21:
Webmin kan dit, in combinatie met Usermin. Webmin opzich, de scripting ligt me niet. Ik zou dan voor phpwebmin kunnen gaan, hoewel ik toch een frontend prefereer waarbij niet alle userinfo van het systeem gehaalf hoeft te worden, met een DB erachter kan het veel sneller en dynamischer zijn.
Usermin is inderdaad een module van Webmin, wat overigens geschreven is in ik dacht Perl. Je hoeft toch niet zélf in de scripting te kijken, een applicatie kies je vaak omdat het bepaalde functionaliteiten biedt, wat kan jou het dan schelen, op welke manier het gemaakt / gescript is? Ik snap je DB verhaal, daarom noem ik (en anderen) LDAP, dat is voor zover ik weet ook een beetje DB achtig... ;)
OK, ik vertrouw je niet :+
Tja, dat is aan jezelf natuurlijk... ;)
Verwijderd schreef op maandag 27 augustus 2007 @ 20:28:
LDAP, ben er wel eens mee bezig geweest. LDAP moet je willen denk ik, zolang het niet hoeft... liever niet.
LDAP kan precies wat jij wilt, dus wou je daarmee zeggen dat je niet perse een applicatie (al dan niet webbased) hoeft te hebben, die kan wat je zoekt? :?

Het streven om het in een SQL database te zetten is leuk, maar dan zit je wel met de gebakken peren als je SQL op zijn gat licht, dan kan niemand iets doen namelijk... ;)
Plus dat je dan (theoretisch gezien) niet meer je PC kan herstarten, omdat je SQL nodig hebt om de rechten te bepalen (als dat überhaupt al mogelijk is).

[ Voor 68% gewijzigd door CH4OS op 27-08-2007 20:40 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GJ-tje schreef op maandag 27 augustus 2007 @ 20:31:
[...]
Usermin is inderdaad een module van Webmin, wat overigens geschreven is in ik dacht Perl. Je hoeft toch niet zélf in de scripting te kijken, een applicatie kies je vaak omdat het bepaalde functionaliteiten biedt, wat kan jou het dan schelen, op welke manier het gemaakt / gescript is? Ik snap je DB verhaal, daarom noem ik (en anderen) LDAP, dat is voor zover ik weet ook een beetje DB achtig... ;)


[...]
Tja, dat is aan jezelf natuurlijk... ;)

[...]
LDAP kan precies wat jij wilt, dus wou je daarmee zeggen dat je niet perse een applicatie (al dan niet webbased) hoeft te hebben, die kan wat je zoekt? :?

Het streven om het in een SQL database te zetten is leuk, maar dan zit je wel met de gebakken peren als je SQL op zijn gat licht, dan kan niemand iets doen namelijk... ;)
Plus dat je dan (theoretisch gezien) niet meer je PC kan herstarten, omdat je SQL nodig hebt om de rechten te bepalen (als dat überhaupt al mogelijk is).
Wat ik weet is dat men gewoon bash scripts aanroept waarbij een user eerst geverifieerd wordt aan de hand van zijn ID in de DB bijvoorbeeld.

Met if() kun je dan zo bepalen wat een user kan en mag. je kunt nog SUDO gebruiken, net wat je wil.

Zo werken veel van die panels die al bestaan maar voor hosting enzo geschikt zijn... zoek ik niet :)

Acties:
  • 0 Henk 'm!

  • robbert
  • Registratie: April 2002
  • Laatst online: 20:37
Verwijderd schreef op maandag 27 augustus 2007 @ 20:44:
[...]


Wat ik weet is dat men gewoon bash scripts aanroept waarbij een user eerst geverifieerd wordt aan de hand van zijn ID in de DB bijvoorbeeld.
Om eerlijk te zijn snap ik niet echt wat je nou van plan bent met bash scripting, een sql database, php, unix users, etc. Wat ga je waar mee doen en wat ga je waar opslaan? Als je dat eens helder uit zou kunnen leggen komen we misschien een stuk verder.
Met if() kun je dan zo bepalen wat een user kan en mag. je kunt nog SUDO gebruiken, net wat je wil.
Dat je met een if geval-onderscheidingen kan maken is nogal logisch. Dat is een van de basis principes van (imperatief) programmeren.

[ Voor 4% gewijzigd door robbert op 27-08-2007 20:57 ]


Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 22:05
Je hebt op zich hetzelfde probleem als je LDAP server op zijn gat licht ;). En ik heb zowel OpenLDAP als MySQL nog niet zien crashen op mijn bak, al begrijp ik dat dat niet representatief is :).

Maargoed, ikzelf zou ook LDAP doen. Het is geloof ik veel gebruikelijker. Echter, zowel PAM en NSS hebben modules om te kunnen werken met MySQL en PostgreSQL, dus ook dat is niet direct een reden om voor de één of de ander te kiezen. Ook zijn er genoeg webservers en mailservers (zowel MTA's als IMAP- en POP3- servers) die authenticatie via een SQL- database ondersteunen.

Met LDAP heb je wel een stuk meer tools tot je beschikking. Onder andere LDAP Account Manager (LAM) en phpLDAPadmin en dat is eigenlijk precies wat jij lijkt te zoeken :P.

Een OpenLDAP server opzetten is trouwens ook niet verschrikkelijk moeilijk. Ik heb zelf deze howto gebruikt: http://home.subnet.at/~max/ldap :).

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett

Pagina: 1