Mivel szeretnék Shell parancsokat is használni, kellet egy import os, abból is főként a system.os().
Aztán felmerült egy olyan probléma hogy, ha nem rendszergazda ként futtatom az Openvpn-t, akkor nem jön létre a kapcsolat.
Az openvpn azonban erre nem figyelmeztet semmilyen módon. Szóval szeretném ezt is meg tenni.(checkSudo())
Kb ezzel le is tudva a script.
Jöhet a console:
[heckles@casterly-rock ~]$ sudo mkdir /opt/OpenVpn && cp start_vpn.py /opt/OpenVpn
[heckles@casterly-rock ~]$ sudo nano /opt/OpenVpn/start.sh
A file tartalma:
#!/bin/bash
python /opt/OpenVpn/start_vpn.py
Még két parancs
[heckles@casterly-rock ~]$ sudo chmod +x start_vpn.py start.sh
[heckles@casterly-rock ~]$ sudo ln -s /opt/OpenVpn start.sh /bin/startvpn
A python script:
#!/usr/bin/env python # így felesleges a shell script. Thanx for E-medve && LovagX
import os
def checkSudo():
if os.geteuid() != 0:
exit("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.")
else:
return True
def connectVpn():
if (checkSudo()):
print ("hello world ")
cmd = 'openvpn /opt/OpenVpn/CasterlyRock.ovpn'
os.system(cmd)
def main():
connectVpn()
if __name__ == "__main__":
main()
- heckles04 blogja
- A hozzászóláshoz be kell jelentkezni
- 685 megtekintés
Hozzászólások
Bash szkript nélkül is megy, a python szkript legelső sorába - az import sor elé - írd be: #!/usr/bin/python (vagy ahol épp a python van)
- A hozzászóláshoz be kell jelentkezni
inkabb:
#!/usr/bin/env python
- A hozzászóláshoz be kell jelentkezni
Jogos, viszont most megyek és főzök egy kávét.
- A hozzászóláshoz be kell jelentkezni
Uhh köszönet mindkettőtöknek, ezt nem tudtam.
-------------------------------------------------------------------------
Nem, de lehetne.
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy a fun része nem az, hogy minél egyszerűbb legyen, hanem inkább próbálgatni a pythont, de ehhez szerintem egy shell alias is elég :)
alias startvpn='sudo openvpn /opt/OpenVpn/CasterlyRock.ovpn'
Vagy ugyanugy beleirod egy shellscriptbe :)
--
HUP Firefox extension | Hupper hibajelentés
- A hozzászóláshoz be kell jelentkezni
Igen, az elsődleges cél a python tanulása volt.
Az előző script még ennyit se tudott.
from random import *
def main():
rand = randint(1,6)
print(rand)
if __name__ == "__main__":
main()
-------------------------------------------------------------------------
Nem, de lehetne.
- A hozzászóláshoz be kell jelentkezni
[subscribe]
- A hozzászóláshoz be kell jelentkezni