Wachtwoord toevoegen in script

Pagina: 1
Acties:
  • 226 views sinds 30-01-2008
  • Reageer

  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
Hoi,
Ik ben op mijn stage bezig met het aanpassen van een Uninstall script voor Virex.
En we willen dit op afstand laten uitvoeren. Maar het probleem is dat je een administrator wachtwoord moet invoeren.

Is er een mogelijkheid dat je het script zodanig aanpast, dat hij het wachtwoord automatisch invult?

Het gaat om een shell script. Hier een voorbeeldje tot het stuk waar hij om het password vraagt.

#!/bin/sh

#################################################################
#
# Virex Uninstall.command
# Copyright (c) 2005 McAfee, Inc. All Rights Reserved.
#
#################################################################

echo "Virex Uninstall"
echo "-------------------"
echo "This will uninstall Virex. If you wish to"
echo "proceed, authenticate below or close this window"
echo "if you wish to cancel."
sudo echo ""

(hiertussen vraagt hij om het password.)

echo "Uninstalling Virex ..."
# Stop all the daemons that are currently running


Hoop dat jullie mij kunnen helpen.

Alvast bedankt! _/-\o_

  • PolarBear
  • Registratie: Februari 2001
  • Niet online
Hmmm het commando sudo geeft een melding waardoor je een wachtwoord moet invullen. Volgende stap:
  • www.google.com
  • zoeken naar sudo manual
  • kijken of het mogelijk is een wachtwoord als argument mee te geven.
:Y)

  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 01-02 19:30

webfreakz.nl

el-nul-zet-é-er

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 12-02 10:41

chem

Reist de wereld rond

Dat is natuurlijk een veiligheidslek van jewelste... :?

Klaar voor een nieuwe uitdaging.


  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 01-02 19:30

webfreakz.nl

el-nul-zet-é-er

chem schreef op vrijdag 12 mei 2006 @ 13:36:
Dat is natuurlijk een veiligheidslek van jewelste... :?
Lijkt mij ook, maar hoe wou je dit dan doen? Omdat automagisch password meegeven natuurlijk niet echt slim is maar wel heel erg handig kan zijn!

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
Ik zal eens even op die link kijken...

we hebben hier al in ene boek gekeken maar daar konden niks mee..

En wat bedoel je met ene veiligheid lek?

  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
webfreakz.nl schreef op vrijdag 12 mei 2006 @ 13:41:
[...]

Lijkt mij ook, maar hoe wou je dit dan doen? Omdat automagisch password meegeven natuurlijk niet echt slim is maar wel heel erg handig kan zijn!
We willen die bestand nl kunnen versturen met het programma Remote Desktop.

Maar het wachtwoord zien ze niet..want als je het intikt verschijnt er niks, dus dat is het probleem niet...

Maar ik ga is ff kijken op de gegeven links :)

  • PolarBear
  • Registratie: Februari 2001
  • Niet online
25063 schreef op vrijdag 12 mei 2006 @ 13:41:
Ik zal eens even op die link kijken...

we hebben hier al in ene boek gekeken maar daar konden niks mee..

En wat bedoel je met ene veiligheid lek?
Plaintext je Administrator wachtwoord in script zetten is een veiligheidslek. Wellicht is Apple Remote Desktop iets voor je? Kan je een Mac op afstand prima mee beheersen.

  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 01-02 19:30

webfreakz.nl

el-nul-zet-é-er

Versturen met Remote Desktop... is dat beveiligd? Zonee, dan kan je zo de stream eruit plukken, heb je het bestand/script op je hardeschijf... je opent het bestand en het wachtwoord staat ertussen...

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
webfreakz.nl schreef op vrijdag 12 mei 2006 @ 13:44:
Versturen met Remote Desktop... is dat beveiligd? Zonee, dan kan je zo de stream eruit plukken, heb je het bestand/script op je hardeschijf... je opent het bestand en het wachtwoord staat ertussen...
Qua veiligheid zal het meevallen aangezien bijna niemand weet weet hoe dat werkt enzo..
Maar zoiezo is het meer als test om te kijken of het werk als je er iets tussen zet, dat het dan doorloopt.

Ik heb zelf de ballen verstand van scripting en m'n stage begeleider ook..Dus als iemand nog wat info hebt hoor ik dit graag.

iig bedankt voor de snelle replies :) _/-\o_

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Ik zie niet in wat het aanroepen van sudo met programmeren te maken heeft? :)

PRG>>APL

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
Ik heb nu dit commando gebruikt:

echo "${PASSWD}" | sudo -S commando

Alleen nu geeft ie aan dat het password incorrect is.....

(Heb ook nog in de man. gekeken maar daar kom ik ook niet echt wijs uit. Je moet er echt in thuis zitten wil je dit snappen...)

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 07:08
het punt ligt niet in sudo mensen... het ligt in de uninstaller van Virex... heeft die niet een manier om die vanaf de commandline aan te roepen waarbij je in de commandline een commando opgeeft?

Welk commando geef je uberhaupt in voor de uninstall?

Liege, liege, liegebeest!


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
Ik hoef niks in te geven...Het is een bestandje die zich opent in de terminal.
Vanuit de terminal vraagt hij om een wachtwoord.

Het bestand zelf is te openen en te bewerken in TextEditor.
En hier zou ik graag de aanpassing willen maken dat hij niet meer om ene wachtwoord vraagd.

(Ben een behoorlijke MAC leek... :X |:( )

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 07:08
Ow, ik zie nu pas dat dat script van Virex is en dus niet door jullie zelf is schreven...

WTF? De password beveiliging bestaat uit het runnen van:
code:
1
sudo echo ""


o_O

Kan je misschien niet even het -hele- script posten, want hier heb ik niet veel aan. Ik kan me niet voorstellen dat die - sudo echo "" - het enige is wat er gebeurt qua password..

EDIT:
Desnoods e-mail je'm ff naar me als ie erg groot is. Dit soort spul is m'n dagelijks brood :)

[ Voor 16% gewijzigd door Liegebeest op 12-05-2006 19:10 ]

Liege, liege, liegebeest!


Verwijderd

Once a user
has been authenticated, a timestamp is updated and the user may then
use sudo without a password for a short period of time (5 minutes
unless overridden in sudoers).
Uit de SUDO man page

Als je ssh public key authentication gebruikt kan je volgens mij het script zo remote opstarten zonder een wachtwoord in te vullen, en je hebt gelijk sudo rechten om het script op te starten, omdat je net geauthentificeerd bent.

Dus zo iets zou moeten werken, lijkt mij?
code:
1
ssh -l gebruiker host.local /path/waar/de/uninstaller/staat

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 07:08
Helaas lees je het verkeerd. Je moet één keer je sudo password ingeven (voor het eerste commando wat je met sudo wilt runnen). Daarna mag je gedurende vijf minuten sudo gebruiken zonder password. Die "authenticated" uit de man-page slaat dus letterlijk op sudo en niet op andere authenticatie, zoals ssh :)

Liege, liege, liegebeest!


  • UltraSub
  • Registratie: Mei 2003
  • Laatst online: 12-02 21:24
Ik snap wel wat Flupzor bedoeld.
Wij draaien op het werk ook via ssh vanaf bijvoorbeeld wintel bakken op die manier scripts op aix machines. De keys staan op de betreffende machines, en tis gewoon een kwestie van met de juiste gebruiker inloggen. Als je met de user met de juiste rechten via ssh connect (en dat kan dus passwordless middels keys), is sudo toch niet meer nodig in het script?

Verwijderd

cailin_coilleach schreef op zaterdag 13 mei 2006 @ 19:38:
Helaas lees je het verkeerd. Je moet één keer je sudo password ingeven (voor het eerste commando wat je met sudo wilt runnen). Daarna mag je gedurende vijf minuten sudo gebruiken zonder password. Die "authenticated" uit de man-page slaat dus letterlijk op sudo en niet op andere authenticatie, zoals ssh :)
ah ok, had ik het verkeerd begrepen :) gaat dat dus helaas niet werken.
UltraSub schreef op zaterdag 13 mei 2006 @ 19:47:
Ik snap wel wat Flupzor bedoeld.
Wij draaien op het werk ook via ssh vanaf bijvoorbeeld wintel bakken op die manier scripts op aix machines. De keys staan op de betreffende machines, en tis gewoon een kwestie van met de juiste gebruiker inloggen. Als je met de user met de juiste rechten via ssh connect (en dat kan dus passwordless middels keys), is sudo toch niet meer nodig in het script?
Ik weet niet welke files er allemaal verwijderd moeten worden, en welke rechten daar voor nodig zijn. Maar ik ben bang dat er root toegang voor nodig is, en het root account is standaard uitgeschakeld in macosx (in tiger iig, van andere versies weet ik het niet). En is sudo dus wel nodig.

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 07:08
En sowieso moet je nooit toe staan dat root vanaf buiten toegankelijk is. Hoe veilig SSH dan ook is...

Liege, liege, liegebeest!


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
Kan dicht...


cailin_coilleach _/-\o_ heeft me geholpen...

Thnx :D

  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 01-02 19:30

webfreakz.nl

el-nul-zet-é-er

En wat was de oplossing?

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 07:08
Basically het volgende:
1. Definieer aan het begin van het script de variabele PASSWORD, met daarin je password (als plain text).
2. Vervang elke aanroep van "sudo" met "echo $PASSWORD | sudo -S" (simpel te doen met bijna elke text editor).

Kanttekeningen:
1. Het script moet alleen leesbaar zijn voor root.
2. Het script moet na uitvoering meteen worden verwijderd.
3. Het password moet op alle systemen het zelfde zijn. Anders moet je de waarde van $PASSWORD steeds aanpassen.

Liege, liege, liegebeest!


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
Oplossing:

Dit is de oude status van het script:


#!/bin/sh

#################################################################
#
# Virex Uninstall.command
# Copyright (c) 2005 McAfee, Inc. All Rights Reserved.
#
#################################################################

echo "Virex Uninstall"
echo "-------------------"
echo "This will uninstall Virex. If you wish to"
echo "proceed, authenticate below or close this window"
echo "if you wish to cancel."
sudo echo ""

echo "Uninstalling Virex ..."
# Stop all the daemons that are currently running

cd /

sudo echo "Shutting down Virex Daemons..."

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldCheck" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldBkgd" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldCore" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShield" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldMount" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldUpdate" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VirexLogin" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "./VShieldEPOInterface" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "Virex" ) {print $1} }'`
sudo kill -1 ${pid} 2>/dev/null

sudo echo "Removing Virex Application Folders..."

sudo rm -rf "/Applications/Virex.app"
sudo rm -rf "/Applications/Utilities/Virex Schedule Editor.app"
sudo rm -rf "/etc/mach_init_per_user.d/virex_login.plist"
sudo rm -rf "/usr/local/vscanx"
sudo rm -rf "/usr/share/man/man1/uvscan.1"

sudo echo "Removing Virex Support files..."

sudo rm -rf "/Library/Application Support/Virex/com.mcafee.virex.update_mod.plist"
sudo rm -rf "/Library/Application Support/Virex/com.mcafee.virex.eupdate.plist"
sudo rm -rf "/Library/Application Support/Virex/digest.plist"
sudo rm -rf "/Library/Application Support/Virex/.DS_Store"
# Don't remove if the eupdate Schedules are still there
sudo rm -df "/Library/Application Support/Virex" 2>/dev/null

sudo echo "Removing Virex Engine..."

sudo rm -rf "/Library/StartupItems/Virex"
sudo rm -rf "/Library/StartupItems/VShieldEPOInterface"
sudo rm -rf "/Library/Frameworks/AVEngine.framework"
sudo rm -rf "/Library/Frameworks/MacScanner.framework"
sudo rm -rf "/Library/NETASSOC/VIREX___7700"
sudo rm -rf "/Library/Receipts/Virex.pkg"

sudo echo "Removing Virex Support Documentation..."

sudo rm -rf "/Library/Documentation/Help/VirexHelp.help"
sudo rm -rf "/usr/share/man/man1/VShieldStatus.1"

sudo echo "Cleaning up..."

if [ -x "/System/Library/Extensions/Virex.kext" ]; then
sudo rm -rf "/System/Library/Extensions/Virex.kext"
fi
sudo echo " "
sudo echo "Virex has been successfully uninstalled."


Wat wij nu met de hulp van Thomas gedaan hebben is:

Het "password" gedefineerd. overal waar sudo staat het veranderd in: echo $PASSWORD | sudo -S

Dan krijg je het volgende (alles wat vert gedrukt is):


#!/bin/sh

#################################################################
#
# Virex Uninstall.command
# Copyright (c) 2005 McAfee, Inc. All Rights Reserved.
#
#################################################################

password="(hier het wachtwoord dan)"

echo "Virex Uninstall"
echo "-------------------"
echo "This will uninstall Virex. If you wish to"
echo "proceed, authenticate below or close this window"
echo "if you wish to cancel."

echo $PASSWORD | sudo -S

echo "Uninstalling Virex ..."
# Stop all the daemons that are currently running

cd /

echo "Shutting down Virex Daemons..."

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldCheck" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldBkgd" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldCore" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShield" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldMount" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VShieldUpdate" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "/usr/local/vscanx/VirexLogin" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "./VShieldEPOInterface" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

pid=`ps -a -U root -o "pid" -o "command" | awk -F " " '{ if ( $2 == "Virex" ) {print $1} }'`
echo $PASSWORD | sudo -S kill -1 ${pid} 2>/dev/null

echo $PASSWORD | sudo -S echo "Removing Virex Application Folders..."

echo $PASSWORD | sudo -S rm -rf "/Applications/Virex.app"
echo $PASSWORD | sudo -S rm -rf "/Applications/Utilities/Virex Schedule Editor.app"
echo $PASSWORD | sudo -S rm -rf "/etc/mach_init_per_user.d/virex_login.plist"
echo $PASSWORD | sudo -S rm -rf "/usr/local/vscanx"
echo $PASSWORD | sudo -S rm -rf "/usr/share/man/man1/uvscan.1"

echo $PASSWORD | sudo -S echo "Removing Virex Support files..."

echo $PASSWORD | sudo -S rm -rf "/Library/Application Support/Virex/com.mcafee.virex.update_mod.plist"
echo $PASSWORD | sudo -S rm -rf "/Library/Application Support/Virex/com.mcafee.virex.eupdate.plist"
echo $PASSWORD | sudo -S rm -rf "/Library/Application Support/Virex/digest.plist"
echo $PASSWORD | sudo -S rm -rf "/Library/Application Support/Virex/.DS_Store"
# Don't remove if the eupdate Schedules are still there
echo $PASSWORD | sudo -S rm -df "/Library/Application Support/Virex" 2>/dev/null

echo $PASSWORD | sudo -S echo "Removing Virex Engine..."

echo $PASSWORD | sudo -S rm -rf "/Library/StartupItems/Virex"
echo $PASSWORD | sudo -S rm -rf "/Library/StartupItems/VShieldEPOInterface"
echo $PASSWORD | sudo -S rm -rf "/Library/Frameworks/AVEngine.framework"
echo $PASSWORD | sudo -S rm -rf "/Library/Frameworks/MacScanner.framework"
echo $PASSWORD | sudo -S rm -rf "/Library/NETASSOC/VIREX___7700"
echo $PASSWORD | sudo -S rm -rf "/Library/Receipts/Virex.pkg"

echo $PASSWORD | sudo -S echo "Removing Virex Support Documentation..."

echo $PASSWORD | sudo -S rm -rf "/Library/Documentation/Help/VirexHelp.help"
echo $PASSWORD | sudo -S rm -rf "/usr/share/man/man1/VShieldStatus.1"

echo $PASSWORD | sudo -S echo "Cleaning up..."

if [ -x "/System/Library/Extensions/Virex.kext" ]; then
sudo rm -rf "/System/Library/Extensions/Virex.kext"
fi
echo $PASSWORD | sudo -S echo " "
echo $PASSWORD | sudo -S echo "Virex has been successfully uninstalled."

[ Voor 14% gewijzigd door 25063 op 17-05-2006 14:18 ]


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
In ieder gavel de rest ook bedankt voor de replies _/-\o_

  • Liegebeest
  • Registratie: Februari 2002
  • Laatst online: 07:08
Natuurlijk staat bovenin de definitie van $PASSWORD wel in hoofdletters. Anders gaat't niet werken :p

Liege, liege, liegebeest!


  • 25063
  • Registratie: December 2005
  • Laatst online: 09-06-2021
Ja staat het ook...
Maar dat in kleine letters type ik ff over...de rest was gewoon copy past uit je mail ;)

Maar hij werkt :)
Pagina: 1