كتيبات سطر الأوامر

Man » دليل usermod عبر الإنترنت - وثائق تفصيلية عبر الإنترنت لصفحة دليل usermod

🌍
usermod - تعديل حساب مستخدم

الملخص

usermod [خيارات] اسم_المستخدم

الوصف

يقوم الأمر usermod بتعديل ملفات حساب النظام.

الخيارات

الخيارات التي تنطبق على الأمر usermod هي:

-a، --append

أضف المستخدم إلى مجموعة (مجموعات) تكميلية. استخدمه فقط مع خيار -G.

-b، --badname

السماح بأسماء لا تتوافق مع المعايير.

-c، --comment تعليق
قم بتحديث حقل التعليق الخاص بالمستخدم في /etc/passwd، والذي يتم تعديله عادةً باستخدام الأداة chfn(1).

-d، --home الدليل_الرئيسي

الدليل الرئيسي الجديد للمستخدم.

إذا تم تحديد الخيار -m، فسيتم نقل محتويات الدليل الرئيسي الحالي إلى الدليل الرئيسي الجديد، والذي يتم إنشاؤه إذا لم يكن موجودًا بالفعل. إذا لم يكن الدليل الرئيسي الحالي موجودًا، فلن يتم إنشاء الدليل الرئيسي الجديد.

-e، --expiredate تاريخ_انتهاء_الصلاحية

يحدد التاريخ الذي سيتم فيه تعطيل حساب المستخدم. يمكن تحديد القيمة كتاريخ بتنسيق YYYY-MM-DD أو كعدد الأيام منذ 1970-01-01. يتم تفسير التاريخ باستخدام التوقيت العالمي المنسق (UTC).

يعين إدخال -1 أو سلسلة فارغة حقل انتهاء صلاحية الحساب في ملف كلمة المرور الظلي إلى فارغ. سيظل الحساب متاحًا بدون تاريخ انتهاء صلاحية.

يتطلب هذا الخيار ملف /etc/shadow. إذا لم يكن هناك إدخال في ملف /etc/shadow، فسيقوم النظام بإنشاء واحد تلقائيًا.

-f، --inactive غير_نشط

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

تعطل القيمة 0 الحساب عند انتهاء صلاحية كلمة المرور، دون تأخير.

تمسح القيمة -1 الحقل المقابل في ملف كلمة المرور الظلي، مما يعني أن فترة عدم النشاط لا يتم تطبيقها.

يتطلب هذا الخيار ملف /etc/shadow. إذا لم يكن هناك إدخال في ملف /etc/shadow، فسيقوم النظام بإنشاء واحد تلقائيًا.

-g، --gid المجموعة

اسم أو معرف رقمي للمجموعة الأساسية الجديدة للمستخدم. يجب أن تكون المجموعة موجودة.

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

يجب إصلاح ملكية المجموعة للملفات الموجودة خارج الدليل الرئيسي للمستخدم يدويًا.

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

-G، --groups المجموعة1[,المجموعة2,...[,المجموعةN]]]
قائمة بالمجموعات التكميلية التي يكون المستخدم عضوًا فيها أيضًا. يتم فصل كل مجموعة عن المجموعة التالية بفاصلة، دون مسافات بينهما. يجب أن تكون المجموعات موجودة.

إذا كان المستخدم عضوًا حاليًا في مجموعة غير مدرجة، فسيتم إزالته من المجموعة. يمكن تغيير هذا السلوك باستخدام الخيار -a، الذي يضيف المستخدم إلى قائمة المجموعات التكميلية الحالية.

-l, --login NEW_LOGIN

سيتم تغيير اسم المستخدم من LOGIN إلى NEW_LOGIN. لا يتم تغيير أي شيء آخر. على وجه الخصوص، يجب إعادة تسمية دليل المستخدم أو ملف البريد يدويًا ليعكس اسم تسجيل الدخول الجديد.

-L, --lock

يقوم بقفل كلمة مرور المستخدم. يضع هذا علامة '!' أمام كلمة المرور المشفرة، مما يعطل كلمة المرور بشكل فعال. لا يمكنك استخدام هذا الخيار مع -p أو -U.

ملاحظة: إذا كنت ترغب في قفل الحساب (وليس فقط الوصول باستخدام كلمة مرور)، فيجب عليك أيضًا تعيين EXPIRE_DATE إلى 1.

-m, --move-home

ينقل محتويات دليل المستخدم الرئيسي إلى الموقع الجديد. إذا لم يكن دليل المستخدم الحالي موجودًا، فلن يتم إنشاء دليل المستخدم الجديد.

هذا الخيار صالح فقط بالاشتراك مع الخيار -d (أو --home).

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

-o, --non-unique

يسمح بتغيير معرف المستخدم إلى قيمة غير فريدة.

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

-p, --password PASSWORD

يحدد كلمة مرور جديدة للمستخدم. من المتوقع أن تكون PASSWORD مشفرة، كما تم إرجاعها بواسطة crypt (3).

ملاحظة: تجنب استخدام هذا الخيار في سطر الأوامر لأن كلمة المرور (أو كلمة المرور المشفرة) ستكون مرئية للمستخدمين الذين يقومون بسرد العمليات.

ستتم كتابة كلمة المرور في ملف /etc/passwd أو /etc/shadow المحلي. قد يختلف هذا عن قاعدة بيانات كلمة المرور التي تم تكوينها في تكوين PAM الخاص بك.

يجب عليك التأكد من أن كلمة المرور تتوافق مع سياسة كلمة المرور الخاصة بالنظام.

-r, --remove

يزيل المستخدم من المجموعات التكميلية المحددة. استخدمه فقط مع الخيار -G.

-R, --root CHROOT_DIR

قم بتطبيق التغييرات في دليل CHROOT_DIR واستخدم ملفات التكوين من دليل CHROOT_DIR. يتم دعم المسارات المطلقة فقط.

-P, --prefix PREFIX_DIR

قم بتطبيق التغييرات داخل شجرة الدليل التي تبدأ بـ PREFIX_DIR واستخدم أيضًا ملفات التكوين الموجودة هناك. هذا الخيار لا يقوم بتغيير الجذر ومخصص لإعداد هدف التجميع المتقاطع. بعض القيود: لا يتم التحقق من مستخدمي/مجموعات NIS و LDAP. يستخدم مصادقة PAM ملفات المضيف. لا يوجد دعم SELINUX.

-s, --shell SHELL

يغير shell تسجيل الدخول الخاص بالمستخدم. يؤدي سلسلة فارغة لـ SHELL إلى إفراغ الحقل في /etc/passwd وتسجيل المستخدم في shell الافتراضي للنظام.


-u، --uid UID
القيمة الجديدة لمعرّف المستخدم.

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

سيتم تغيير معرّف المستخدم للملفات الموجودة في الدليل الرئيسي للمستخدم، وأي ملفات يمتلكها المستخدم وتقع في الدليل الرئيسي للمستخدم تلقائيًا.

يجب إصلاح ملكية الملفات الموجودة خارج الدليل الرئيسي للمستخدم يدويًا.

لا يتم أيضًا إجراء تغيير ملكية المستخدم للملفات الموجودة داخل الدليل الرئيسي للمستخدم إذا كان معرّف المستخدم الذي يمتلك الدليل الرئيسي مختلفًا عن معرّف المستخدم الحالي أو الجديد. هذا إجراء وقائي للدلائل الرئيسية الخاصة مثل /.

لن يتم إجراء أي فحوصات فيما يتعلق بـ UID\_MIN، وUID\_MAX، وSYS\_UID\_MIN، أو SYS\_UID\_MAX من /etc/login.defs.

-U، --unlock
إلغاء قفل كلمة مرور المستخدم. يؤدي هذا إلى إزالة علامة "!" الموجودة أمام كلمة المرور المشفرة. لا يمكنك استخدام هذا الخيار مع -p أو -L.

ملاحظة: إذا كنت ترغب في إلغاء قفل الحساب (وليس فقط الوصول باستخدام كلمة مرور)، فيجب عليك أيضًا تعيين EXPIRE\_DATE (على سبيل المثال، إلى 99999، أو إلى قيمة EXPIRE من /etc/default/useradd).

-v، --add-subuids FIRST-LAST
إضافة نطاق من معرّفات المستخدمين الفرعيين إلى حساب المستخدم.

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

لن يتم إجراء أي فحوصات فيما يتعلق بـ SUB\_UID\_MIN، وSUB\_UID\_MAX، أو SUB\_UID\_COUNT من /etc/login.defs.

-V، --del-subuids FIRST-LAST
إزالة نطاق من معرّفات المستخدمين الفرعيين من حساب المستخدم.

يمكن تحديد هذا الخيار عدة مرات لإزالة نطاقات متعددة من حساب المستخدم.
عند تحديد كل من --del-subuids و --add-subuids، تحدث إزالة جميع نطاقات معرّفات المستخدمين الفرعيين قبل إضافة أي نطاق لمعرّف مستخدم فرعي.

لن يتم إجراء أي فحوصات فيما يتعلق بـ SUB\_UID\_MIN، وSUB\_UID\_MAX، أو SUB\_UID\_COUNT من /etc/login.defs.

-w، --add-subgids FIRST-LAST
إضافة نطاق من معرّفات المجموعات الفرعية إلى حساب المستخدم.

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

لن يتم إجراء أي فحوصات فيما يتعلق بـ SUB\_GID\_MIN، وSUB\_GID\_MAX، أو SUB\_GID\_COUNT من /etc/login.defs.

-W، --del-subgids FIRST-LAST
إزالة نطاق من معرّفات المجموعات الفرعية من حساب المستخدم.

يمكن تحديد هذا الخيار عدة مرات لإزالة نطاقات متعددة من حساب المستخدم.
عند تحديد كل من --del-subgids و --add-subgids، تحدث إزالة جميع نطاقات معرّفات المجموعات الفرعية قبل إضافة أي نطاق لمعرّف مجموعة فرعية.

لن يتم إجراء أي فحوصات فيما يتعلق بـ SUB\_GID\_MIN، وSUB\_GID\_MAX، أو SUB\_GID\_COUNT من /etc/login.defs.

-Z، --selinux-user SEUSER
يحدد مستخدم SELinux الذي سيتم تعيينه لـ LOGIN. ستؤدي سلسلة فارغة ("") إلى إزالة الإدخال ذي الصلة (إن وجد). لاحظ أن نظام الظلال لا يخزن مستخدم SELinux، بل يستخدم semanage(8) لهذا الغرض.

--selinux-range SERANGE
يحدد نطاق SELinux MLS للحساب الجديد. لاحظ أن نظام الظلال لا يخزن نطاق SELinux، بل يستخدم semanage(8) لهذا الغرض.

هذا الخيار صالح فقط إذا تم تحديد الخيار -Z (أو --selinux-user).

تحذيرات

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

يجب تغيير مالك أي ملفات crontab أو مهام at يدويًا.

يجب إجراء أي تغييرات تتعلق بـ NIS على خادم NIS.

التكوين

تؤثر متغيرات التكوين التالية في /etc/login.defs على سلوك هذه الأداة:

`LASTLOG_UID_MAX` (رقم)
أعلى رقم لمعرف المستخدم الذي يجب تحديث إدخالات `lastlog` له. نظرًا لأن معرفات المستخدم الأعلى عادةً ما يتم تتبعها بواسطة خدمات هوية ومصادقة المستخدم عن بُعد، فلا داعي لإنشاء ملف `lastlog` كبير ومُفرَّغ لها.

عدم وجود خيار `LASTLOG_UID_MAX` في التكوين يعني أنه لا يوجد حد لمعرف المستخدم لكتابة إدخالات `lastlog`.

`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) المجموعات المقسمة. لا يجب عليك استخدام هذا المتغير إلا إذا كنت بحاجة إليه حقًا.

`SUB_GID_MIN` (رقم)، `SUB_GID_MAX` (رقم)، `SUB_GID_COUNT` (رقم)
إذا كان `/etc/subuid` موجودًا، فإن الأوامر `useradd` و `newusers` (ما لم يكن لدى المستخدم بالفعل معرفات مجموعة فرعية) تقوم بتخصيص `SUB_GID_COUNT` من معرفات المجموعة غير المستخدمة من النطاق `SUB_GID_MIN` إلى `SUB_GID_MAX` لكل مستخدم جديد.

القيم الافتراضية لـ `SUB_GID_MIN` و `SUB_GID_MAX` و `SUB_GID_COUNT` هي على التوالي 100000 و 600100000 و 65536.

`SUB_UID_MIN` (رقم)، `SUB_UID_MAX` (رقم)، `SUB_UID_COUNT` (رقم)
إذا كان `/etc/subuid` موجودًا، فإن الأوامر `useradd` و `newusers` (ما لم يكن لدى المستخدم بالفعل معرفات مستخدم فرعية) تقوم بتخصيص `SUB_UID_COUNT` من معرفات المستخدم غير المستخدمة من النطاق `SUB_UID_MIN` إلى `SUB_UID_MAX` لكل مستخدم جديد.

القيم الافتراضية لـ `SUB_UID_MIN` و `SUB_UID_MAX` و `SUB_UID_COUNT` هي على التوالي 100000 و 600100000 و 65536.

الملفات

/etc/group
معلومات حساب المجموعة

/etc/gshadow
معلومات حساب المجموعة الآمنة

/etc/login.defs
تكوين مجموعة أدوات كلمة المرور الظلية

/etc/passwd
معلومات حساب المستخدم

/etc/shadow
معلومات حساب المستخدم الآمنة

/etc/subgid
معرفات المجموعة الفرعية لكل مستخدم

/etc/subuid
معرفات المستخدم الفرعية لكل مستخدم

انظر أيضًا

chfn(1)، chsh(1)، passwd(1)، crypt(3)، gpasswd(8)، groupadd(8)، groupdel(8)، groupmod(8)، login.defs(5)، subgid(5)، subuid(5)، useradd(8)، userdel(8).