Δημιουργία ενός virtual network interface δυναμικά

George Notaras gnot at g-loaded.eu
Fri May 30 21:03:49 EEST 2008


George Notaras wrote:
> Έστω ότι έχουμε το παρακάτω cronjob που τρέχει το 'vif-start' κάθε ένα 
> λεπτό.
> 
> */1 * * * * johndoe /etc/vif-start
> 
> 
> Τα περιεχόμενα του /etc/vif-start:
> -----------------------------------------
> #!/bin/sh
> VMUSER=$(/usr/bin/whoami)
> interface=$(sudo /usr/sbin/tunctl -b -u "$VMUSER")
> echo "Interface: $interface" >> /home/$VMUSER/test.log
> -----------------------------------------
> 
> Κανονικά θα έπρεπε κάθε φορά που εκτελείται το script να:
> 
> 1. Δημιουργεί ένα virtual network interface με όνομα tapN (όπου N ένας 
> αριθμός)
> 2. Να σώζει το όνομα του interface στο 'interface'
> 3. Να στέλνει το όνομα του interface στο: /home/johndoe/test.log
> 
> Αυτό που συμβαίνει είναι να μην δημιουργείται κανένα tapN interface όταν 
> το script εκτελείται μέσω _cron_, αλλά να **δημιουργείται** _κανονικά_ 
> όταν εκτελείται από τον χρήστη johndoe απ'αυθείας.
> 
> Παρατηρήσεις:
> - Προβλήματα με permissions δεν υπάρχουν.
> - Το /usr/sbin/tunctl βρίσκεται κανονικά στο /etc/sudoers ώστε να μην 
> χρειάζεται password για το group 'vmusers', του οποίου μέλος είναι ο 
> johndoe.
> - Το 'tunctl -b' έχει ως αποτέλεσμα να εκτυπώνεται το όνομα του 
> δημιουργημένου interface στο stdout.
> 
> Γιατί δεν παίζει από cron?
> 
> Ευχαριστώ εκ των προτέρων.
> 

Έβγαλα το προ-ορισμένο (για όλους τους sudoers) default option 
'requiretty' για το group 'vmusers' και τώρα όλα είναι εντάξει.

Ας το έχετε υπόψη σας.

Μου είχε ξανατύχει με κάποια remote backups μέσω ssh κι ευτυχώς το 
θυμήθηκα και λύθηκε το πρόβλημα γρήγορα, γιατί είχα αρχίσει να 
εκνευρίζομαι επικίνδυνα :)




More information about the Linux-greek-users mailing list