Search This Blog

Wednesday, October 22, 2014

שכחתי את הסיסמא שלי ? מה עושים בסביבת לינוקס מינט 15 (ובעצם בכל נגזרות הדביאן)

חבר פנה אליי, מעט כועס. הוא מצא עצמו מתמודד עם מכונה וירוטואלית שמריצה לינוקס מינט ישן שפעם עזרתי בקונפיגורציה שלה (15, הגירסא הזכורה לטוב בשם olivia). הבעיה - סיסמת המכונה נשכחה, הוא נזקק לגישה מהירה לתכניה.
למה הוא כעס? הרי לא אני שכחתי בשבילו את הסיסמא.
הוא שכח, כי הוא ניסה להתמודד בעצמו עם הבעיה, ולא הצליח. 
בראשית הוא ניסה לחפש באינטרנט הוראות להתמודדות עם מינט שסיסמתו נשכחה באינטרנט. מצא הוראות שכאלה. אבל המכונה לא התנהלה בהתאם להוראות. לא הצליח. 
לאחר מכן, בנחישות, הוא ניסה לעקוב אחרי ההוראות שמצא בבלוג שלי בפוסט Forgot your linux CentOS root password. וגם זה לא הצליח לו.
בשלב הזה, מתוסכל, החליט להתקשר. למרבה המזל לא זכרתי את הסיסמא בעצמי, כך שהדיון התמקד בשאלות הטכניות: 1) מדוע העצות שמצא באינטרנט ובבלוג שלי לא עבדו. 2) איך משנים סיסמא במינט אם אין גישה לאף משתמש?

מדוע העצות לא עבדו?
הסיבה שבגללה ההוראות שמצא באינטרנט לא עבדו, היתה שמדובר היה בהוראות שהתאימו לגירסאות מהעבר הרחוק של Linux Mint (בהתחשב במעגל הrelease של מינט, העבר הרחוק הזה הוא לא כ"כ רחוק במונחי הפצות שמרניות יותר). הסיבה שבגללה ההוראות שמצא בבלוג לא עבדו, היתה שמדובר בהוראות שהתאימו לCentOS ולמשפחת ההפצות של היצרן הצפון-האמריקאי ההוא....

איך משנים סיסמא בלינוקס מינט 15 כשלא זוכרים סיסמאות של אף משתמש?
1. לאתחל את המכונה. כשהמכונה עולה ללחוץ על Shift, ואז במקום שמינט יעלה ישר אל מסך הלוגין הגרפי, הוא יציג את התפריט של Grub:

2. לוחצים e כשעומדים על השורה הראשונה, כדי לערוך אותה. 
3. במסך אליו עוברים, יורדים (עם החץ) עד שרואים שורה שמתחילה עם linux (שורה שלישית מהסוף במסך שלמטה)


4. זזים עם הסימן עד לסוף השורה, ושם להוסיף  init=/bin/bash . התוצאה צריכה להראות דומה למה שנראה במסך הבא.

5. ואז לוחצים על שילוב המקשים CTRL-x (או על מקש הפונקציה f10) - כדי שהמכונה תמשיך בboot ותעלה עם האפשרות החדשה.

(אגב, אם נבהלים במהלך העריכה או עושים איזו טענות נוראה אפשר ללחוץ ESC כדי לבטל את העריכה, שממילא לא תישמר מעצמה, אלא תשפיע רק על האתחול הקרוב).

6. כשהמכונה מסיימת לעלות, לעשות mount מחדש בצורה שתאפשר שמירת המידע -
mount -o remount,rw / 
7. ואז לשנות את הסיסמא של מי שרוצים - 
passwd userX
8. ואז לוודא שכל המידע נשמר לדיסקים -
sync 
9. ואז להמשיך בעליית המכונה על ידי - 
exec /sbin/init 
המכונה תעלה, ואפשר יהיה להיכנס ולעבוד. 

מה בעצם קרה כאן ? 
בעצם נתנו הוראה לגרעין של לינוקס (linux kernel) להריץ את bash שתחת התיקיה "bin/" במקום להריץ את init
(למי שלא מכיר, זה הדיימון הראשון שעולה במהלך העלייה של לינוקס ואחראי לכל עליית המערכת ויצירת סביבת מערכת ההפעלה).

לאחר מכן עשינו mount בצורה שתאפשר לגשת לדיסק בגישת קריאה-כתיבה. אפשר היה לתת גם הוראה לקרנל. מסורתית הגרעין מעלה את הדיסק במצב של readonly ומאוחר יותר אמור לרוץ תהליך שיבדוק את השלמות (integrity) של הדיסק לפני המעבר למצב קריאה-כתיבה. אני סבור שהגישה של הmount מחדש נותנת יותר הבנה ושליטה בתהליך (אבל מודה בכך שזה בעיקר עניין של טעם וריח).

הערה לפני סיום
עד כמה שידיעתי ונסיוני מגעת, השיטה שמתוארת כאן תעבוד גם לגבי משפחת ההפצות של CentOS, RedHat וכו'

לקריאה נוספת


Saturday, October 11, 2014

שאלת אנדרואיד למשתמש החדש (והחלש): איך מאפסים אפליקציה שלא מציעה את האפשרות הזו?


מצאתי את עצמי, כמו שקרה לי בעבר עם מכשירי iOS, נדרש לתת תמיכה למכשירי אנדרואיד שמסתובבים בבית. וכך אני מוצא עצמי עם מקבצי שאלות כאלה ואחרות שעולות וצריך למצוא להן פתרון.החלטתי לנסות ולרכז בבלוג את התשובות שיעלו מעת לעת כך שאו שאוכל להפנות את השואל/ת/ים אל הבלוג או שלפחות יהיה לי קל להיזכר.
(בחרתי בפתרון התיעוד הזה, בהסתמך על נסיוני כסיס-אדמין אד-הוק לענייני אייפון של הבית, נסיון עצוב שלימד שאת רוב שאלות האייפון שפתרתי מצאתי עצמי נדרש לשוב ולפתור מחדש, מאפס, כי לא רשמתי לעצמי כלום. גרוע מזה, אותו נסיון לימד ששאלות אחרות, נדירות יותר, אבדו בתהום הנשיה של הזכרון שלי. וזה חבל כי היו כמה מקרים בהם התמודדתי בצורה יפה (לדעתי) עם בעיות שהפתרונות שחיפוש-הגוגל הביא עמו לא עזרו או לא היו אלגנטיים מספיק בעיני).

השאלה:
הורדתי בשביל הילד אפליקציה, והתחלתי לשחק בה, אבל אין אפשרות להתחיל מחדש או להיכנס עם משתמש אחר. מה עושים? אני רוצה שהילד יראה את הפתיחה של האפליקציה ושלא יפסיד את מה שכבר פתרתי אבל לא מצאתי שום אפשרות באפליקציה עצמה.

התשובה:
לכי אל הגדרות. שם לכי אל יישומים. מצאי היישום הרלוונטי. שם בד"כ יש אפשרות של נקה נתונים או מחק קובץ מקומי. אחד משני אלה בד"כ יחזיר את האפליקציה אל המצב שבו היתה עם התקנתה ולפני שהתחלת להשתמש בה. (אגב, זו גם אחת הדרכים להגיע אל אפשרות מחיקת אפליקציה באנדרואיד)