كيفية حذف مستخدم على Linux (وإزالة كل أثر)

يتضمن حذف مستخدم على Linux أكثر مما تعتقد. إذا كنت مسؤول النظام ، فستحتاج إلى مسح جميع آثار الحساب والوصول إليه من أنظمتك. سنوضح لك الخطوات التي يجب اتخاذها.

إذا كنت ترغب فقط في حذف حساب مستخدم من نظامك ولم تكن مهتمًا بإنهاء أي عمليات قيد التشغيل ومهام التنظيف الأخرى ، فاتبع الخطوات الموجودة في قسم "حذف حساب المستخدم" أدناه. ستحتاج إلى deluserالأمر الخاص بالتوزيعات المستندة إلى دبيان userdelوالأمر الموجود في توزيعات Linux الأخرى.

حسابات المستخدمين على Linux

منذ ظهور أنظمة مشاركة الوقت لأول مرة في أوائل الستينيات وجلبت معها القدرة على العديد من المستخدمين للعمل على جهاز كمبيوتر واحد ، كانت هناك حاجة لعزل وتقسيم ملفات وبيانات كل مستخدم عن جميع المستخدمين الآخرين. وهكذا ولدت حسابات المستخدمين - وكلمات المرور.

حسابات المستخدمين لها عبء إداري. يجب إنشاؤها عندما يحتاج المستخدم أولاً إلى الوصول إلى الكمبيوتر. يجب إزالتها عندما لم يعد هذا الوصول مطلوبًا. في نظام Linux ، هناك سلسلة من الخطوات التي يجب اتباعها من أجل إزالة المستخدم وملفاته وحسابه بشكل صحيح ومنهجي من الكمبيوتر.

إذا كنت مسؤول النظام فإن هذه المسؤولية تقع على عاتقك. إليك كيفية القيام بذلك.

السيناريو لدينا

هناك أي عدد من الأسباب التي قد تدفع إلى حذف الحساب. قد ينتقل أحد الموظفين إلى فريق مختلف أو يغادر الشركة تمامًا. ربما تم إعداد الحساب من أجل تعاون قصير المدى مع زائر من شركة أخرى. تعد مجموعات العمل الجماعي أمرًا شائعًا في الأوساط الأكاديمية ، حيث يمكن أن تمتد المشاريع البحثية إلى الأقسام والجامعات المختلفة وحتى الكيانات التجارية. في نهاية المشروع ، يتعين على مسؤول النظام إجراء التدبير المنزلي وإزالة الحسابات غير الضرورية.

السيناريو الأسوأ هو عندما يغادر شخص ما تحت سحابة بسبب جنحة. عادة ما تحدث مثل هذه الأحداث فجأة ، مع القليل من التحذير المسبق. وهذا يمنح مسؤول النظام القليل من الوقت للتخطيط ، وإلحاحًا لإغلاق الحساب وإغلاقه وحذفه - مع نسخ ملفات المستخدم احتياطيًا في حالة الحاجة إليها لأي أدلة جنائية بعد الإغلاق.

في السيناريو الخاص بنا ، سوف نتظاهر بأن المستخدم ، إريك ، قد فعل شيئًا يستدعي إزالته فورًا من المبنى. في هذه اللحظة ، هو غير مدرك لهذا ، ما زال يعمل ، وقام بتسجيل الدخول. بمجرد أن تعطي إيماءة للأمن ، سيتم اصطحابه من المبنى.

تم تعيين كل شيء. كل العيون عليك.

تحقق من تسجيل الدخول

دعنا نرى ما إذا كان قد قام بالفعل بتسجيل الدخول ، وإذا كان كذلك ، فكم عدد الجلسات التي يعمل معها. سيقوم whoالأمر بسرد الجلسات النشطة.

منظمة الصحة العالمية

تم تسجيل دخول إريك مرة واحدة. دعونا نرى ما هي العمليات التي يديرها.

مراجعة عمليات المستخدم

يمكننا استخدام psالأمر لسرد العمليات التي يشغلها هذا المستخدم. و -uيتيح الخيار (المستخدم) لنا نقول psلتقييد انتاجها لعمليات تعمل تحت ملكية حساب المستخدم.

ps -u eric

يمكننا رؤية نفس العمليات بمزيد من المعلومات باستخدام topالأمر. top لديه أيضًا خيار -U(مستخدم) لتقييد الإخراج على العمليات التي يمتلكها مستخدم واحد. لاحظ أنه هذه المرة حرف كبير "U."

أعلى U eric

يمكننا أن نرى استخدام الذاكرة ووحدة المعالجة المركزية لكل مهمة ، ويمكننا البحث بسرعة عن أي شيء به نشاط مشبوه. نحن على وشك القضاء على جميع عملياته بالقوة ، لذلك من الآمن قضاء بعض الوقت لمراجعة العمليات بسرعة ، والتحقق والتأكد من أن المستخدمين الآخرين لن يتعرضوا للإزعاج عند إنهاء ericعمليات حساب المستخدم .

لا يبدو أنه يفعل الكثير ، فقط يستخدم  lessلعرض ملف. نحن بأمان للمضي قدما. ولكن قبل أن نقتل عملياته ، سنقوم بتجميد الحساب عن طريق قفل كلمة المرور.

ذات صلة: كيفية استخدام الأمر ps لمراقبة عمليات Linux

قفل الحساب

سنغلق الحساب قبل أن نقتل العمليات لأننا عندما نقتل العمليات ، فإنه سيتم تسجيل خروج المستخدم. إذا قمنا بالفعل بتغيير كلمة المرور الخاصة به ، فلن يتمكن من تسجيل الدخول مرة أخرى.

يتم تخزين كلمات مرور المستخدم المشفرة في /etc/shadowالملف. لن تهتم عادةً بهذه الخطوات التالية ، ولكن حتى تتمكن من رؤية ما يحدث في /etc/shadow الملف عندما تغلق الحساب ، سنتخذ مسارًا بسيطًا. يمكننا استخدام الأمر التالي لإلقاء نظرة على أول حقلين من إدخال  eric حساب المستخدم.

sudo awk -F: '/ eric / {print $ 1، $ 2}' / etc / shadow

يوزع الأمر awk الحقول من الملفات النصية ويعالجها اختياريًا. نحن نستخدم خيار -F(فاصل الحقل) لنقول awkأن الملف يستخدم النقطتين ” :” لفصل الحقول. سنبحث عن خط به نقش "إيريك". لمطابقة الأسطر ، سنقوم بطباعة الحقلين الأول والثاني. هذا هو اسم الحساب وكلمة المرور المشفرة.

يتم طباعة إدخال حساب المستخدم eric لنا.

لقفل الحساب نستخدم passwdالأمر. سنستخدم -lخيار (قفل) ونمرر اسم حساب المستخدم للقفل.

sudo passwd -l eric

إذا تحققنا من /etc/passwdالملف مرة أخرى ، فسنرى ما حدث.

sudo awk -F: '/ eric / {print $ 1، $ 2}' / etc / shadow

تمت إضافة علامة تعجب إلى بداية كلمة المرور المشفرة. لا يقوم بالكتابة فوق الحرف الأول ، لقد تمت إضافته فقط إلى بداية كلمة المرور. هذا كل ما هو مطلوب لمنع المستخدم من تسجيل الدخول إلى هذا الحساب.

الآن بعد أن منعنا المستخدم من تسجيل الدخول مرة أخرى ، يمكننا قتل عملياته وتسجيل الخروج منه.

قتل العمليات

هناك طرق مختلفة لقتل عمليات المستخدم ، لكن الأمر الموضح هنا متاح على نطاق واسع وهو تطبيق أكثر حداثة من بعض البدائل. و pkillسوف تجد القيادة وعمليات القتل. نحن نمرر في إشارة القتل ، ونستخدم -uخيار (المستخدم).

sudo pkill -kill -u eric

ستتم إعادتك إلى موجه الأوامر بطريقة مناهضة للذروة. للتأكد من حدوث شيء ما ، دعنا نتحقق whoمرة أخرى:

منظمة الصحة العالمية

ذهبت جلسته. لقد تم تسجيل خروجه وتوقفت عملياته. هذا يأخذ بعض الإلحاح من الموقف. الآن يمكننا الاسترخاء قليلاً والاستمرار في بقية أعمال التنظيف حيث يتجول الأمن في مكتب إريك.

ذات صلة: كيفية قتل العمليات من Linux Terminal

أرشفة دليل المستخدم الرئيسي

ليس واردًا أنه في مثل هذا السيناريو ، سيكون الوصول إلى ملفات المستخدم مطلوبًا في المستقبل. إما كجزء من التحقيق أو ببساطة لأن من يحل محلهم قد يحتاج إلى الرجوع إلى عمل سلفهم. سنستخدم tarالأمر لأرشفة دليل المنزل بالكامل.

الخيارات التي نستخدمها هي:

  • ج : إنشاء ملف أرشيف.
  • f : استخدم اسم الملف المحدد لاسم الأرشيف.
  • j : استخدم ضغط bzip2.
  • v : توفير إخراج مطول أثناء إنشاء الأرشيف.
sudo tar cfjv eric-20200820.tar.bz / home / eric

سيتم تمرير الكثير من إخراج الشاشة في نافذة المحطة. للتحقق من إنشاء الأرشيف ، استخدم lsالأمر. نحن نستخدم خياري -l(التنسيق الطويل) و -h(المقروء من قبل الإنسان).

ls -lh eric-20200802.tar.bz

تم إنشاء ملف بحجم 722 ميغا بايت. يمكن نسخ هذا في مكان آمن للمراجعة لاحقًا.

إزالة وظائف كرون

من الأفضل التحقق من وجود أي cronوظائف مجدولة لحساب المستخدم eric. و cronظيفة هي الأوامر التي يتم تشغيلها في أوقات أو فترات زمنية محددة. يمكننا التحقق مما إذا كانت هناك أي cronوظائف مجدولة لحساب المستخدم هذا باستخدام ls:

sudo ls -lh / var / spool / cron / crontabs / eric

إذا كان أي شيء موجودًا في هذا الموقع ، فهذا يعني أن هناك cronوظائف في قائمة الانتظار لحساب المستخدم هذا. يمكننا حذفها بهذا crontabالأمر. و -rسوف خيار (إزالة) إزالة الوظائف، و -uالخيار (المستخدم) يقول crontabالذي عمل على إزالتها.

sudo crontab -r -u eric

يتم حذف الوظائف بصمت. لكل ما نعرفه ، إذا اشتبه إريك في أنه على وشك الطرد ، فربما يكون قد حدد موعدًا لوظيفة خبيثة. هذه الخطوة هي أفضل ممارسة.

إزالة مهام الطباعة

ربما كان لدى المستخدم مهام طباعة معلقة؟ فقط للتأكد ، يمكننا مسح قائمة انتظار الطباعة لأي مهام تخص حساب المستخدم eric. يقوم lprmالأمر بإزالة المهام من قائمة انتظار الطباعة. و -Uيتيح خيار (اسم المستخدم) إزالة وظيفة التي يملكها حساب مستخدم باسم:

lprm -U إيريك

يتم حذف المهام وإعادتك إلى سطر الأوامر.

حذف حساب المستخدم

لقد قمنا بالفعل بعمل نسخة احتياطية من الملفات من /home/eric/الدليل ، حتى نتمكن من المضي قدمًا وحذف حساب المستخدم وحذف /home/eric/الدليل في نفس الوقت.

يعتمد الأمر المراد استخدامه على توزيع Linux الذي تستخدمه. بالنسبة إلى توزيعات Linux القائمة على Debian ، يكون الأمر كذلك deluser، وبالنسبة لبقية عالم Linux ، فهو كذلك userdel.

في الواقع ، يتوفر كلا الأمرين في Ubuntu. توقعت نصفًا أن يكون أحدهما اسمًا مستعارًا للآخر ، لكنهما ثنائيات متميزة.

اكتب المضلل
اكتب userdel

على الرغم من أنهما متاحان ، إلا أن التوصية لاستخدامهما deluserفي التوزيعات المشتقة من دبيان:

" userdelهو أداة مساعدة منخفضة المستوى لإزالة المستخدمين. في دبيان ، يجب أن يستخدم المسؤولون عادةً deluser(8) بدلاً من ذلك. "

هذا واضح بما فيه الكفاية ، لذا فإن الأمر الذي يجب استخدامه على كمبيوتر Ubuntu هذا هو deluser. لأننا نريد أيضًا إزالة دليل المنزل الخاص بهم ، فإننا نستخدم --remove-homeالعلم:

sudo deluser - إزالة المنزل eric

الأمر الاستخدام للتوزيعات غير ديبيان هو userdel، مع --removeالعلم:

sudo userdel - إزالة ملف eric

ericتم مسح كافة آثار حساب المستخدم . يمكننا التحقق من /home/eric/إزالة الدليل:

ls / المنزل

و ericكما تم إزالة المجموعة لأن حساب المستخدم ericهو الإدخال الوحيد في ذلك. يمكننا التحقق من ذلك بسهولة تامة عن طريق تمرير محتويات من /etc/groupخلال grep:

sudo less / etc / group | grep eric

انها التفاف

لقد ذهب إريك بسبب خطاياه. لا يزال الأمن يخرجه من المبنى وقد قمت بالفعل بتأمين ملفاته وأرشفتها وحذف حسابه وتطهير النظام من أي بقايا.

الدقة تتفوق دائمًا على السرعة. تأكد من التفكير في كل خطوة قبل أن تأخذها. أنت لا تريد شخصًا يصعد إلى مكتبك ويقول "لا ، إيريك الآخر".