| USERADD(8) | دستورهای مدیریت سیستم (System Management Commands) | USERADD(8) |
نام (NAME)
useradd - ایجاد یک کاربر جدید یا بهروزرسانی اطلاعات پیشفرض کاربر جدید
خلاصه دستور (SYNOPSIS)
useradd [options] LOGIN
useradd -D
useradd -D [options]
توضیحات (DESCRIPTION)
useradd یک ابزار سطح پایین برای افزودن کاربران است. در دبیان، مدیران سیستم معمولاً باید به جای آن از adduser(8) استفاده کنند.
هنگامی که بدون گزینهٔ -D فراخوانی شود، دستور useradd یک حساب کاربری جدید با استفاده از مقادیر مشخصشده در خط فرمان به همراه مقادیر پیشفرض سیستم ایجاد میکند. بسته به گزینههای خط فرمان، دستور useradd فایلهای سیستم را بهروزرسانی کرده و ممکن است دایرکتوری خانگی کاربر جدید را نیز ایجاد کند و فایلهای اولیه را کپی نماید.
بهطور پیشفرض، یک گروه نیز برای کاربر جدید ایجاد خواهد شد (گزینههای -g، -N، -U و USERGROUPS_ENAB را ببینید).
گزینهها (OPTIONS)
گزینههایی که برای دستور useradd اعمال میشوند عبارتند از:
--badname
-b, --base-dir BASE_DIR
اگر این گزینه مشخص نشود، useradd از دایرکتوری پایهٔ مشخصشده توسط متغیر HOME در /etc/default/useradd، یا بهطور پیشفرض از /home استفاده خواهد کرد.
-c, --comment COMMENT
-d, --home-dir HOME_DIR
-D, --defaults
-e, --expiredate EXPIRE_DATE
در صورت مشخص نشدن، useradd از تاریخ انقضای پیشفرض مشخصشده توسط متغیر EXPIRE در /etc/default/useradd، یا بهطور پیشفرض از یک رشتهٔ خالی (بدون انقضا) استفاده خواهد کرد.
-f, --inactive INACTIVE
در صورت مشخص نشدن، useradd از دورهٔ غیرفعال بودن پیشفرض مشخصشده توسط متغیر INACTIVE در /etc/default/useradd، یا بهطور پیشفرض از -1 استفاده خواهد کرد.
-F, --add-subids-for-system
-g, --gid GROUP
در صورت مشخص نشدن، رفتار useradd به متغیر USERGROUPS_ENAB در /etc/login.defs بستگی خواهد داشت. اگر این متغیر روی yes تنظیم شده باشد (یا -U/--user-group در خط فرمان مشخص شده باشد)، گروهی برای کاربر با همان نام ورود او ایجاد خواهد شد. اگر متغیر روی no تنظیم شده باشد (یا -N/--no-user-group در خط فرمان مشخص شده باشد)، useradd گروه اصلی کاربر جدید را روی مقدار مشخصشده توسط متغیر GROUP در /etc/default/useradd، یا بهطور پیشفرض 100 تنظیم خواهد کرد.
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
-h, --help
-k, --skel SKEL_DIR
این گزینه تنها در صورتی معتبر است که گزینهٔ -m (یا --create-home) مشخص شده باشد.
اگر این گزینه تنظیم نشود، دایرکتوری اسکلت توسط متغیر SKEL در /etc/default/useradd یا بهطور پیشفرض /etc/skel تعریف میشود.
در صورت امکان، ACLها و ویژگیهای توسعهیافته (extended attributes) کپی میشوند.
-K, --key KEY=VALUE
مثال: -K PASS_MAX_DAYS =-1 میتواند هنگام ایجاد یک حساب کاربری برای خاموش کردن محدودیت زمانی گذرواژه (aging) استفاده شود. چندین گزینهٔ -K میتواند مشخص شود، برای مثال: -K UID_MIN =100 -K UID_MAX=499
برای سازگاری با نسخهٔ قبلی useradd دبیان، گزینهٔ -O نیز پشتیبانی میشود.
-l, --no-log-init
بهطور پیشفرض، مدخلهای کاربر در پایگاههای داده lastlog و faillog بازنشانی میشوند تا از استفاده مجدد از مدخل یک کاربر حذفشده در گذشته جلوگیری شود.
اگر این گزینه مشخص نشود، useradd همچنین متغیر LOG_INIT را در /etc/default/useradd بررسی خواهد کرد؛ اگر روی no تنظیم شده باشد، کاربر به پایگاههای داده lastlog و faillog اضافه نخواهد شد.
-m, --create-home
بهطور پیشفرض، اگر این گزینه مشخص نشود و CREATE_HOME فعال نباشد، هیچ دایرکتوری خانگی ایجاد نمیشود.
دایرکتوریای که دایرکتوری خانگی کاربر در آن ایجاد میشود باید وجود داشته باشد و دارای بافتار SELinux و مجوزهای مناسب باشد. در غیر این صورت، دایرکتوری خانگی کاربر نمیتواند ایجاد شود یا در دسترس قرار گیرد.
-M, --no-create-home
-N, --no-user-group
رفتار پیشفرض (اگر گزینههای -g، -N و -U مشخص نشده باشند) توسط متغیر USERGROUPS_ENAB در /etc/login.defs تعریف میشود.
-o, --non-unique
این گزینه تنها در ترکیب با گزینهٔ -u معتبر است. از آنجا که هویت کاربر به عنوان کلیدی برای نگاشت بین کاربران از یک سو و مجوزها، مالکیت فایلها و سایر جنبههایی که رفتار سیستم را از سوی دیگر تعیین میکنند عمل میکند، بیش از یک نام ورود به حساب با UID مشخص دسترسی خواهد داشت.
-p, --password PASSWORD
بدون این گزینه، حساب جدید قفل خواهد بود و هیچ گذرواژهای برای آن تعریف نشده است، یعنی یک علامت تعجب تکی در فیلد مربوطه در /etc/shadow. این وضعیتی است که در آن کاربر قادر به دسترسی به حساب یا تعریف گذرواژه توسط خودش نخواهد بود.
توجه: از این گزینه در خط فرمان خودداری کنید زیرا گذرواژه (یا گذرواژهٔ رمزگذاریشده) برای کاربرانی که پردازهها را فهرست میکنند قابل مشاهده خواهد بود.
باید مطمئن شوید که گذرواژه با خطمشی گذرواژهٔ سیستم مطابقت دارد.
-r, --system
کاربران سیستمی بدون اطلاعات انقضا و کهنگی در /etc/shadow ایجاد خواهند شد، و شناسههای عددی آنها در محدودهٔ SYS_UID_MIN-SYS_UID_MAX تعریفشده در /etc/login.defs انتخاب میشود، به جای UID_MIN-UID_MAX (و مقادیر متناظر GID برای ایجاد گروهها).
توجه داشته باشید که useradd صرفنظر از تنظیمات پیشفرض در /etc/login.defs (CREATE_HOME)، دایرکتوری خانگی برای چنین کاربری ایجاد نخواهد کرد. اگر میخواهید یک دایرکتوری خانگی برای یک حساب سیستمی ایجاد شود، باید گزینهٔ -m را مشخص کنید.
توجه داشته باشید که این گزینه فایلهای /etc/subuid و /etc/subgid را بهروزرسانی نخواهد کرد. اگر میخواهید فایلها برای یک حساب سیستمی که ایجاد میشود بهروزرسانی شوند، باید گزینهٔ -F را مشخص کنید.
-R, --root CHROOT_DIR
-P, --prefix PREFIX_DIR
-s, --shell SHELL
-u, --uid UID
همچنین گزینهٔ -r و توضیحات UID_MAX را ببینید.
-U, --user-group
رفتار پیشفرض (اگر گزینههای -g، -N و -U مشخص نشده باشند) توسط متغیر USERGROUPS_ENAB در /etc/login.defs تعریف میشود.
-Z, --selinux-user SEUSER
تغییر مقادیر پیشفرض (Changing the default values)
هنگامی که فقط با گزینهٔ -D فراخوانی شود، useradd مقادیر پیشفرض فعلی را نمایش میدهد. هنگامی که با -D به همراه گزینههای دیگر فراخوانی شود، useradd مقادیر پیشفرض را برای گزینههای مشخصشده بهروزرسانی خواهد کرد. گزینههای معتبر تغییر پیشفرض عبارتند از:
-b, --base-dir BASE_DIR
این گزینه متغیر HOME را در /etc/default/useradd تنظیم میکند.
-e, --expiredate EXPIRE_DATE
این گزینه متغیر EXPIRE را در /etc/default/useradd تنظیم میکند.
-f, --inactive INACTIVE
این گزینه متغیر INACTIVE را در /etc/default/useradd تنظیم میکند.
-g, --gid GROUP
این گزینه متغیر GROUP را در /etc/default/useradd تنظیم میکند.
-s, --shell SHELL
این گزینه متغیر SHELL را در /etc/default/useradd تنظیم میکند.
نکات (NOTES)
مدیر سیستم مسئول قرار دادن فایلهای پیشفرض کاربر در دایرکتوری /etc/skel/ (یا هر دایرکتوری اسکلت دیگری که در /etc/default/useradd یا در خط فرمان مشخص شده است) میباشد.
هشدارها (CAVEATS)
شما نمیتوانید کاربری را به یک گروه NIS یا LDAP اضافه کنید. این کار باید روی سرور مربوطه انجام شود.
به طور مشابه، اگر نام کاربری از قبل در یک پایگاه داده خارجی کاربران مانند NIS یا LDAP وجود داشته باشد، useradd درخواست ایجاد حساب کاربری را رد خواهد کرد.
نامهای کاربری تنها میتوانند شامل حروف کوچک و بزرگ، ارقام، زیرخط یا خط تیره باشند. آنها میتوانند با علامت دلار پایان یابند. استفاده از خط تیره در ابتدای نام کاربری مجاز نیست. نامهای کاربری کاملاً عددی و نامهای کاربری . یا .. نیز مجاز نیستند. استفاده از نامهای کاربری که با نویسهٔ . شروع میشوند توصیه نمیشود زیرا دایرکتوریهای خانگی آنها در خروجی ls پنهان خواهد شد.
در دبیان، تنها محدودیتها این است که نامهای کاربری نباید با خط تیره ('-')، مثبت ('+') یا مدک ('~') آغاز شوند و نباید حاوی دو نقطه (':')، کاما (',') یا فاصله خالی (فاصله: ' '، پایان خط: '\n'، تب: '\t'، و غیره) باشند. توجه داشته باشید که استفاده از اسلش ('/') ممکن است الگوریتم پیشفرض برای تعریف دایرکتوری خانگی کاربر را مختل کند.
طول نامهای کاربری تنها میتواند تا ۳۲ نویسه باشد.
پیکربندی (CONFIGURATION)
متغیرهای پیکربندی زیر در /etc/login.defs رفتار این ابزار را تغییر میدهند:
CREATE_HOME (boolean)
این تنظیم برای کاربران سیستمی اعمال نمیشود و میتواند در خط فرمان بازنویسی شود.
GID_MAX (number), GID_MIN (number)
مقدار پیشفرض برای GID_MIN (به ترتیب GID_MAX) 1000 (به ترتیب 60000) است.
HOME_MODE (number)
useradd و newusers از این متغیر برای تنظیم حالت دسترسی دایرکتوری خانگیای که ایجاد میکنند استفاده مینمایند.
LASTLOG_UID_MAX (number)
نبود گزینهٔ LASTLOG_UID_MAX در پیکربندی به این معنی است که هیچ محدودیتی در شناسه کاربری برای نوشتن مدخلهای lastlog وجود ندارد.
MAIL_DIR (string)
MAIL_FILE (string)
متغیرهای MAIL_DIR و MAIL_FILE توسط useradd، usermod، و userdel برای ایجاد، انتقال یا حذف صف دریافت ایمیل کاربر استفاده میشوند.
MAX_MEMBERS_PER_GROUP (number)
مقدار پیشفرض 0 است، به این معنی که هیچ محدودیتی در تعداد اعضای یک گروه وجود ندارد.
این ویژگی (گروه تفکیکشده) اجازه میدهد طول خطوط در فایل گروه محدود شود. این برای اطمینان از اینکه خطوط گروههای NIS طولانیتر از 1024 نویسه نباشند مفید است.
اگر نیاز به اعمال چنین محدودیتی دارید، میتوانید از 25 استفاده کنید.
توجه: گروههای تفکیکشده ممکن است توسط همه ابزارها پشتیبانی نشوند (حتی در مجموعه ابزار Shadow). نباید از این متغیر استفاده کنید مگر اینکه واقعاً به آن نیاز داشته باشید.
PASS_MAX_DAYS (number)
PASS_MIN_DAYS (number)
PASS_WARN_AGE (number)
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
مقادیر پیشفرض برای SUB_GID_MIN، SUB_GID_MAX و SUB_GID_COUNT به ترتیب 100000، 600100000 و 65536 است.
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
مقادیر پیشفرض برای SUB_UID_MIN، SUB_UID_MAX و SUB_UID_COUNT به ترتیب 100000، 600100000 و 65536 است.
SYS_GID_MAX (number), SYS_GID_MIN (number)
مقدار پیشفرض برای SYS_GID_MIN (به ترتیب SYS_GID_MAX) 101 (به ترتیب GID_MIN-1) است.
SYS_UID_MAX (number), SYS_UID_MIN (number)
مقدار پیشفرض برای SYS_UID_MIN (به ترتیب SYS_UID_MAX) 101 (به ترتیب UID_MIN-1) است.
UID_MAX (number), UID_MIN (number)
مقدار پیشفرض برای UID_MIN (به ترتیب UID_MAX) 1000 (به ترتیب 60000) است.
UMASK (number)
useradd و newusers از این ماسک برای تنظیم حالت دایرکتوری خانگیای که ایجاد میکنند استفاده مینمایند اگر HOME_MODE تنظیم نشده باشد.
همچنین توسط pam_umask به عنوان مقدار پیشفرض umask استفاده میشود.
USERGROUPS_ENAB (boolean)
فایلها (FILES)
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/etc/default/useradd
/etc/shadow-maint/useradd-pre.d/*, /etc/shadow-maint/useradd-post.d/*
/etc/skel/
/etc/subgid
/etc/subuid
/etc/login.defs
مقادیر خروج (EXIT VALUES)
دستور useradd با مقادیر زیر خارج میشود:
0
1
2
3
4
6
9
10
12
14
نویسنده (AUTHOR)
نوشته شده توسط Julianne Frances Haugh.
گزارش باگها (REPORTING BUGS)
برای
گزارش
باگها به
سامانه
پیگیری باگ
توزیع خود
یا به پروژه
shadow-utils در آدرس
زیر مراجعه
کنید:
https://github.com/shadow-maint/shadow/issues
حق نشر (COPYRIGHT)
حق نشر © 1991 - 1994
Julianne Frances Haugh.
حق نشر © 1996 - 2000 Marek
Michałkiewicz.
حق نشر © 2000 - 2006 Tomasz
Kłoczko.
حق نشر © 2007 - 2025 Nicolas
François.
همچنین ببینید (SEE ALSO)
chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8), groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5), userdel(8), usermod(8).
| 12/14/2025 | shadow-utils 4.13 |