Toon posts:

[Linux] script gebruikers toevoegen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb nu een programma geschreven onder vb om een script voor linux te genereren.

Dit script word gegenereerd uit een cvs bestand. wanneer het programma klaar is krijg ik de volgende output in het bestand "linuxscript"

----------------------------------------
#!/bin/sh

/usr/sbin/useradd ln12345
/usr/sbin/passwd ln12345
1211 wq
1211 wq
/usr/sbin/useradd ln54321
/usr/sbin/passwd ln54321
6541 QQ
6541 QQ
----------------------------------------

Wanneer ik dit script uitvoer op de linux machine als root krijg ik de volgende melding:

bash : ./linuxscript : bad interpreter: permission denied

wat moet ik veranderen in het script zodat het goed werkt ?

MvG.

RM

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 25-04 11:59

TrailBlazer

Karnemelk FTW

tik eens which sh in. Vul dat in op de bovenste regel van je script. Wat zijn de rechten van je scriptje.
BTW wel een beetje basic dit. maar ja je bent ook niet hier.

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:51
Heb je execute permissions op dat script?

Deze vraag hoort trouwens eerder thuis in NOS

P&W -> NOS

https://fgheysels.github.io/


Verwijderd

Topicstarter
als ik via ls -l de gegevens opvraag zie ik dat ik de volgende rechten op het bestand heb:

-rwxr-xr-x

ik heb dus execute rechten.... 8)7

  • DiedX
  • Registratie: December 2000
  • Laatst online: 12:15
als je whoami invult. Wat komt er dan terug?

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


Verwijderd

Topicstarter
Als ik het script aanpas naar:

----------------------------------------

which sh
#!/bin/sh

/usr/sbin/useradd ln12345
/usr/sbin/passwd ln12345
1211 wq
1211 wq
/usr/sbin/useradd ln54321
/usr/sbin/passwd ln54321
6541 QQ
6541 QQ
----------------------------------------

bash : ./linuxscript: permission denied

Ik ben wel de melding bad interpreter kwijt, dus het wordt al beter :)

Als ik whoami in tik krijg ik "root" terug

Verwijderd

Topicstarter
heeft het er misschien mee te maken dat er een * achter de bestandsnaam staan ?

via ls -l zie ik dat het bestand linuxscript* heet

  • Hmzaniac
  • Registratie: Januari 2002
  • Laatst online: 05-08-2023

Hmzaniac

Evil Admin

Weet je uberhaupt wel wat je aan het doen bent?

which sh hoort dus NIET in je script..

kijk verder eens naar het feit dat je bij passwd niet zomaar het password erachteraan mag gooien, en lees eens op google over "shell scripting howto"

verder bestaat er man adduser/useradd, lees dit door i guess

[ Voor 16% gewijzigd door Hmzaniac op 19-05-2003 12:07 . Reden: het is nog vroeg... ]

Ik heb een WOS-post!


Verwijderd

Topicstarter
Wanneer je gewoon bent ingelogt kan je via die commandos gebruikers aanmaken en wachtwoorden geven. Ik heb ingesteld dat een standaard aangemaakte gebruiker geen shell heeft. Ik d8 wanneer ik deze commandos nu achterelkaar kan laten invoeren door een script hoef ik niet alle gebruikers zelf in te voeren.
het moeten er zo'n 1200 worden namelijk :)

  • Hmzaniac
  • Registratie: Januari 2002
  • Laatst online: 05-08-2023

Hmzaniac

Evil Admin

Ik weet wel hoe ik gebruikers kan aanmaken hoor...

als je nou eens gewoon man useradd doet, en man passwd, dan zal je lezen dat je via passwd standaard NIET over de stdin je passwords mee kan geven (tenzij je redhat gebruikt) , en zeker niet op de manier hoe jij het doet.

Bovendien zou je dan kunnen lezen in de man van useradd:
-p passwd
The encrypted password, as returned by crypt(3). The default is
to disable the account
Et voila.

[ Voor 3% gewijzigd door Hmzaniac op 19-05-2003 12:18 ]

Ik heb een WOS-post!


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 14:42

odysseus

Debian GNU/Linux Sid

Met visual basic zei je? Dan heb je waarschijnlijk Windows-regeluiteinden. Draai maar eens 'od -c /mijn/script'...je moet iets als het volgende krijgen:
code:
1
0000000   #   !   /   b   i   n   /   s   h  \n  \n

Daarbij zijn vooral de twee regeleindes (\n\n) van belang. Ik gok dat jij er maar één hebt :). Je kunt met dos2unix en unix2dos de regeleindes wijzigen (kan ook met tr) en dan zal het wel werken :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.

Pagina: 1