צפריר : |
נחזור אחורה לרגע. על איזו מערכת מדובר: מערכת מרובת משתמשים או משתמש יחיד? לחלק מהמשתמשים יש הרשאות root?
מהם השינויים שאתה מגדיר כסבירים? מה לגבי עריכה ידנית של קובץ תצורה?
אני נוהג לשמור את etc עם git (בעזרת החבילה etckeeper). למרות שזה לא עוסר לענות על השאלות (אלא אם כן יש שמירה אוטומטית - ר' האינטגרצה שיש לחבילה עם apt). |
מדובר על מערכת נטולת משתמשים - לצורך העניין סגנון התקנה של מערכת embedded, רק שזה PC רגיל.
הסיפור הוא כזה: לקוח פוטנציאלי ביקש ממני להתקין לו קופסא כזאת לשימוש מסוים (לצורך העניין, לא בדיוק אבל בערך: + Web Server + IM Server + Router + Mail Server ועוד כל מני דברים - אבל שאין עליו אף משתמש מקומי, ואף אחד לא אמור לעשות Login אלא למטרות אדמיניסטרציה). אותו לקוח רוצה גם משתמש+סיסמא כדי שיוכל לנהל בעצמו אם יש בעיה -- הגיוני ולגטימי, אני מאוד בעד.
רק שאני בטוח שמתישהו בהמשך, הוא (או יותר סביר, אחד העובדים שלו) אכן יעשה Login וישנה משהו, לא יעדכן אותי (לא מכוונת זדון .. פשוט כי לא תמיד זוכרים), ואז אני אצטרך להיות גשש בלש בפעולה ולהבין למה פתאום דברים הפסיקו לעבוד. הייתי כבר בסרט הזה (וגם בסדרת הטלויזיה, ובסרט ההמשך, ובגרסת התלת-ממד). אז אני מנסה להקדים תרופה למכה, ולעשות את הבילוש עניין של 2 דקות של חיפוש בלוגים, ולא של יום עבודה של טלפונים לעובדים לשעבר שלא רוצים לספר שהם התקינו שרת Torrent אחרי שהם כבר לא עובדים שם.
אז, כדי לפשט את העניין: ישנו משתמש uid אחד, בלי יותר מדי הרשאות ישירות, אבל מותר לו לעשות sudo מספיק רחב כדי לערוך כל קובץ מערכת (אולי לא ישירות, אבל בשני צעדים כן), להרוג תהליכים, להעלות/להוריד שרותים וכו'. יש כמה אנשים שיכולים לעשות Log-in בעזרת public keys שוניפ, כך שבעקרון יש תיעוד של "מי עשה" אם מחפשים, למרות שיש רק משתמש יחיד.
עריכה של קובץ תצורה היא כמובן שינוי סביר, רק שאני רוצה תיעוד של מתי (ואם אפשר, מי) ומה. אכן יש etckeeper מותקן, ובנוסף לאינטגרציה עם apt (מובנית) יש גם cron job שמעדכן כל שעה אם יש שינוי (ואולי עדיף להעביר ל - inotify, אבל כרגע זה cron).
כרגע, כאשר אני חובש כובע של גשש בלש, אני מרכיב את התיעוד מהרבה חלקים (etckeeper שהוזכר, auth.log daemon.log וכאלה - וגם sudosh). אבל, לדוגמא, זה לא כולל הרשאות של polkit (לדוגמא udisksctl בהגדרות default).
ושוב נשאלת השאלה - האם יש הפצה או סקריפט שדואגים:
א) שכל הדברים יתועדו (נגיד, מתקין sudosh, מתקין etckeeper, וכו')?
ב) שכל התיעוד הזה יהיה נוח לקריאה, ולא מפוזר בין 100 כלים שונים?