Η μεγάλη αναμονή για την αποπροσάρτηση (unmount)

E-mail Εκτύπωση PDF
Αξιολόγηση Χρήστη: / 0
ΧείριστοΆριστο 

Μερικοί από εσάς βλέποντας τα δευτερόλεπτα αναμονής, θα σκέφτηκαν ότι είναι αρκετός χρόνος περιμένοντας να βγει μια δισκέτα. Ίσως να συγχρόνιζα τους δίσκους (sync) και να την έβγαζα προσαρτημένη, χωρίς κανείς να καταλάβει τίποτα. Επιτρέψτε μου να προτείνω ασφαλέστερους τρόπους. Πρώτα από όλα, μπορείτε να αλλάξετε το χρονικό διάστημα. Αλλά αυτό μπορεί να είναι λίγο ανεπαρκές, λέγοντας στο σύστημα να αποπροσαρτήσει κάτι μετά από μόλις 15 δευτερόλεπτα ή κάτι άλλο. Εξαρτώμενο από την δική σας εγκατάσταση, μπορεί να είστε σε θέση να εκτελέσετε την εντολή umount ως απλός χρήστης. Αλλά στην πραγματικότητα υπάρχει τρόπος να ζητήσετε από το automount πρόγραμμα να αποπροσαρτήσει. Αν στείλετε (με το πρόγραμμα kill) το σήμα (signal) SIGUSR1 προς τη διεργασία automount, θα αποπροσαρτήσει οτιδήποτε μπορεί. Αλλά προτού αρχίσετε να φτιάχνετε πλήκτρα αποπροσάρτησης στους διαχειριστές παραθύρων σας, υπάρχει ένα μικρό πρόβλημα.
Η διεργασία του automount τρέχει από τον χρήστη root, και signals θα δεχθεί μόνο από τον ίδιο χρήστη. Οι μισοί από τους λόγους για τους οποίους πιθανόν κάνετε αυτόματη προσάρτηση είναι ώστε να μπορείτε να προσαρτείτε κάτι αποπροσαρτημένο χωρίς να είστε root. Θα ήταν εύκολο να γράψετε ένα suid-root πρόγραμμα σε C το οποίο να κάνει τη βρόμικη δουλειά. Ωστόσο, χρησιμοποιώντας τη sudo είναι πιθανό να επιτρέψετε στους χρήστες να στείλουν το κατάλληλο kill signal. Το μοναδικό πρόβλημα είναι ότι η sudo δεν θα σας επιτρέψει να χρησιμοποιήσετε ` για να επεξεργαστείτε υποεντολές, που θα θέλατε να κάνετε για να βρείτε το τρέχον PID. Θα πρέπει να έχετε ένα πρόγραμμα που λέγεται killall, που θα σας επιτρέψει να κάνετε αυτό: (ευχαριστώ για τις προτάσεις)
ALL ALL=NOPASSWD:/usr/bin/killall -USR1 automount

Διαφορετικά, θα πρέπει να επιτρέψετε στους χρήστες σας να στέλνουν -SIGUSR1 σε όλες τις διεργασίες. Αυτό έχει ποικίλες επιδράσεις στα προγράμματα. Μπορεί να ανακυκλώσει αρκετούς διαχειριστές παραθύρων, αλλά θα σκοτώσει (kill) τον xemacs. Έτσι λοιπόν ελπίζετε να μην υπάρχουν ξεχειλίσματα στην ενδιάμεση μνήμη (buffer overrun) της killall...



Tags: umount  sync  kill  killall  pid  nopasswd  buffer overrun  


Μοιραστείτε αυτό το άρθρο
Reddit! Del.icio.us! Mixx! Free and Open Source Software News Google! Live! Facebook! StumbleUpon! Yahoo! Dig Me Joomla Free PHP

Σχόλια
Προσθήκη νέου Αναζήτηση RSS
Γράψτε σχόλιο
Όνομα:
Email:
 
Τίτλος:
 
Please input the anti-spam code that you can read in the image.
Τελευταία Ενημέρωση ( Σάββατο, 28 Μάρτιος 2009 23:12 )  

Seach By Google

Translate this website :

Επιλογές


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Manuals


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/flakgr/public_html/libraries/joomla/cache/handler/callback.php on line 99

Σε σύνδεση

Έχουμε 19 επισκέπτες και 1 μέλος συνδεδεμένους
  • Callbeace

Τελευταία Σχόλια