Δημιουργία ενός 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