یک اسکریپت Bash بنویسید که نام کاربری را از ورودی دریافت کند، بررسی کند آیا کاربر وجود دارد و در صورت عدم وجود، کاربر را ایجاد کرده، دایرکتوری خانگی را تنظیم کند، او را به گروه "developers" اضافه کند و رمز عبور را تنظیم نماید.

7.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:45

0.0

برای حل این مسئله از دستورات مانند getent یا id برای بررسی وجود کاربر، useradd یا useradd -m برای ایجاد کاربر با دایرکتوری خانگی، groupadd (در صورت نیاز) یا usermod/useradd -G برای افزودن به گروه، و chpasswd یا passwd --stdin برای تنظیم غیرتعاملى رمز عبور استفاده کنید. اسکریپت را به‌صورت اجرایی زیر کاربر root اجرا کنید (یا با بررسی UID==0) و ورودی‌ها را validate کنید (خالی نبودن نام کاربری و رمز). نکات: از getent passwd username برای تشخیص وجود کاربر استفاده کنید، اگر گروه developers وجود ندارد آن را بسازید، و پس از ایجاد دایرکتوری خانگی مالک و مجوزها را با chown و chmod تنظیم نمایید.

توسط پژوهشگر در 202 روز قبل ساعت 02:45
دسته بندی ها: Bash Scripting Bash Scripting for beginner
sara در 202 روز قبل ساعت 08:36

برای ایمن و قابل اعتماد بودن، حتماً بررسی کنید که اسکریپت با کاربر root اجرا می‌شود (UID=0). استفاده از getent passwd یا id برای چک کردن وجود کاربر خوب است، اما بهتر است ورودی‌ها را پاکسازی کنید تا از ناخواسته‌ها جلوگیری شود. اگر گروه developers وجود ندارد، آن را ایجاد کنید و پس از ایجاد کاربر، مالکیت خانه کاربر را با chown کاربر:developers و مجوزهای مناسب (مثلاً 750 یا 700) تنظیم کنید. همچنین رمز عبور را به‌صورت غیرتعاملی از طریق chpasswd تنظیم کنید و مطمئن شوید ورودی رمز خالی نیست و اعتبارسنجی لازم انجام می‌شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری