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

George Notaras gnot at g-loaded.eu
Fri May 30 19:47:58 EEST 2008


Έστω ότι έχουμε το παρακάτω 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?

Ευχαριστώ εκ των προτέρων.




More information about the Linux-greek-users mailing list