userdel - حذف حساب مستخدم والملفات المرتبطة به
ملخص
userdel [خيارات] اسم_المستخدم
الوصف
userdel هي أداة منخفضة المستوى لإزالة المستخدمين. في Debian، يجب على المسؤولين عادةً استخدام [deluser]({filename}../../deluser)(8) بدلاً من ذلك.
يقوم الأمر userdel بتعديل ملفات حساب النظام، وحذف جميع الإدخالات التي تشير إلى اسم المستخدم اسم_المستخدم. يجب أن يكون المستخدم المحدد موجودًا.
الخيارات
الخيارات التي تنطبق على الأمر userdel هي:
-f، --force
يقوم هذا الخيار بفرض إزالة حساب المستخدم وأي إجراءات أخرى مطلوبة، مع تخطي أي فحوصات أمان.
ملاحظة: هذا الخيار خطير وقد يترك نظامك في حالة غير متسقة.
-h، --help
عرض رسالة المساعدة والخروج.
-r، --remove
سيتم إزالة الملفات الموجودة في دليل المستخدم الرئيسي بالإضافة إلى الدليل الرئيسي نفسه و بريد المستخدم. يجب البحث عن الملفات الموجودة في أنظمة الملفات الأخرى وحذفها يدويًا.
يتم تعريف بريد المستخدم بواسطة متغير MAIL_DIR في ملف login.defs.
-R، --root CHROOT_DIR
تطبيق التغييرات في دليل CHROOT_DIR واستخدام ملفات التكوين من دليل CHROOT_DIR . يتم دعم المسارات المطلقة فقط.
-P، --prefix PREFIX_DIR
تطبيق التغييرات في دليل PREFIX_DIR واستخدام ملفات التكوين من دليل PREFIX_DIR . هذا الخيار لا يقوم بعمل chroot وهو مخصص لإعداد هدف تجميع متقاطع. بعض القيود: لا يتم التحقق من مستخدمي/مجموعات NIS و LDAP. يستخدم مصادقة PAM ملفات المضيف. لا يوجد دعم لـ SELINUX.
-Z، --selinux-user
إزالة أي تعيين مستخدم SELinux لاسم تسجيل دخول المستخدم.
التكوين
تؤدي متغيرات التكوين التالية في /etc/login.defs إلى تغيير سلوك هذه الأداة:
MAIL_DIR (سلسلة نصية)
دليل بريد المستخدم. هذا مطلوب لمعالجة صندوق البريد عندما يتم تعديل أو حذف حساب المستخدم المقابل. إذا لم يتم تحديده، فسيتم استخدام قيمة افتراضية في وقت التجميع. يحدد المعامل CREATE_MAIL_SPOOL في /etc/default/useradd ما إذا كان يجب إنشاء صندوق البريد أم لا.
MAIL_FILE (سلسلة نصية)
يحدد موقع ملفات بريد المستخدم بالنسبة لدليلها الرئيسي.
يتم استخدام المتغيرين MAIL_DIR و MAIL_FILE بواسطة useradd و usermod و userdel لإنشاء أو نقل أو حذف بريد المستخدم.
MAX_MEMBERS_PER_GROUP (رقم)
الحد الأقصى لعدد الأعضاء لكل إدخال مجموعة. عندما يتم الوصول إلى الحد الأقصى، يتم بدء إدخال مجموعة جديد (سطر) في /etc/group (بنفس الاسم وكلمة المرور ونفس GID).
القيمة الافتراضية هي 0، مما يعني أنه لا توجد حدود لعدد الأعضاء في المجموعة.
تتيح هذه الميزة (تقسيم المجموعة) تحديد طول الأسطر في ملف المجموعة. هذا مفيد للتأكد من أن الأسطر الخاصة بمجموعات NIS ليست أطول من 1024 حرفًا.
إذا كنت بحاجة إلى فرض هذا الحد، فيمكنك استخدام 25.
ملاحظة: قد لا يتم دعم المجموعات المقسمة بواسطة جميع الأدوات (حتى في مجموعة أدوات Shadow). لا يجب عليك استخدام هذا المتغير إلا إذا كنت بحاجة إليه حقًا.
USERDEL_CMD (سلسلة نصية)
إذا تم تحديده، فسيتم تشغيل هذا الأمر عند إزالة مستخدم. يجب أن يقوم بإزالة أي مهام at/cron/print مملوكة للمستخدم المراد إزالته (يتم تمريره كوسيطة أولى).
لا يتم أخذ رمز الإرجاع للبرنامج النصي في الاعتبار.
إليك مثال على برنامج نصي، والذي يزيل مهام cron و at وطباعة المستخدم:
#! /bin/sh
# التحقق من وجود الوسيطة المطلوبة.
if [ $# != 1 ]; then
echo "الاستخدام: $0 اسم المستخدم"
exit 1
fi
# إزالة مهام cron.
crontab -r -u $1
# إزالة مهام at.
# لاحظ أنه سيؤدي إلى إزالة أي مهام مملوكة لنفس UID،
# حتى لو تمت مشاركتها بواسطة اسم مستخدم مختلف.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \;
# إزالة مهام الطباعة.
lprm $1
# انتهى.
exit 0
USERGROUPS_ENAB (قيمة منطقية)
إذا تم تعيينه على نعم، فسيقوم userdel بإزالة مجموعة المستخدم إذا لم يكن بها المزيد من الأعضاء، وسيقوم useradd بإنشاء مجموعة باسم المستخدم افتراضيًا.
الملفات
/etc/group
معلومات حساب المجموعة.
/etc/login.defs
تكوين مجموعة أدوات كلمة مرور Shadow.
/etc/passwd
معلومات حساب المستخدم.
/etc/shadow
معلومات حساب المستخدم الآمن.
/etc/shadow-maint/userdel-pre.d/*, /etc/shadow-maint/userdel-post.d/*
ملفات الجزء المراد تشغيلها أثناء حذف المستخدم. سيتم ملء متغير البيئة ACTION بـ userdel و SUBJECT باسم المستخدم. سيتم تنفيذ userdel-pre.d قبل أي حذف للمستخدم. سيتم تنفيذ userdel-post.d بعد حذف المستخدم. إذا خرج البرنامج النصي برمز غير صفري، فسيتم إنهاء التنفيذ.
/etc/subgid
معرفات مجموعة فرعية لكل مستخدم.
/etc/subuid
معرفات مستخدم فرعية لكل مستخدم.
قيم الخروج
يخرج الأمر userdel بالقيم التالية:
0 نجاح
1 لا يمكن تحديث ملف كلمة المرور
2 بناء جملة الأمر غير صالح
6 المستخدم المحدد غير موجود
8 المستخدم مسجل الدخول حاليًا
10 لا يمكن تحديث ملف المجموعة
12 لا يمكن إزالة الدليل الرئيسي
تحذيرات
لن يسمح لك userdel بإزالة حساب إذا كانت هناك عمليات قيد التشغيل تنتمي إلى هذا الحساب. في هذه الحالة، قد تحتاج إلى قتل هذه العمليات أو قفل كلمة مرور المستخدم أو حسابه وإزالة الحساب لاحقًا. يمكن للخيار -f أن يفرض حذف هذا الحساب.
يجب عليك التحقق يدويًا من جميع أنظمة الملفات للتأكد من عدم بقاء أي ملفات مملوكة لهذا المستخدم.
قد لا تتمكن من إزالة أي سمات NIS على عميل NIS. يجب إجراء ذلك على خادم NIS.
إذا تم تعريف USERGROUPS_ENAB على نعم في /etc/login.defs، فسيقوم userdel بحذف المجموعة بنفس اسم المستخدم. لتجنب حدوث تناقضات في قواعد البيانات passwd و group، سيتحقق الأمر userdel من أن هذه المجموعة لا تُستخدم كمجموعة أساسية لمستخدم آخر، وسيقوم فقط بإظهار تحذير دون حذف المجموعة. يمكن للخيار -f أن يفرض حذف هذه المجموعة.
انظر أيضًا
chfn(1)، chsh(1)، passwd(1)، login.defs(5)، gpasswd(8)، groupadd(8)، groupdel(8)، groupmod(8)، subgid(5)، subuid(5)، useradd(8)، usermod(8).