سلیب و علیرضا و عرشیا اینبار برای تمرین خود به سراغ کاری جدید رفتند. آنها اینبار میخواهد جزئیات ساختن یوزر و گروه و دسترسی را درون لینوکس تمرین کنند. علیرضا سناریویی را مطرح میکند:
او از تیم میخواهد که درون سیستم، دو کاربر با نامهای user1
و user2
بسازند. همچنین گروه مشترکی با نام shared
بسازند و هر دو کاربر بالا را به آن اضافه کنند. هر یک از این کاربران باید مشخصات زیر را داشته باشند:
- پوشهی خانهی (یا همان home directory) مخصوص به خود را داشته باشند.
- نیازی به نوشتن کامنت برای کاربران وجود ندارد.
- هیچکدام از یوزرها نیازی به پسورد ندارند و نباید پسورد داشته باشند.
- هر دو یوزر باید عضو گروه
shared
هم باشند. یعنی گروهshared
باید به گروههای یوزر اضافه شود.
نکته
پوشه خانه هر یوزر باید هم وجود داشته باشد و هم به او اختصاص داده شده باشد. همچنین شما مجاز به استفاده از دستورات ساخت دایرکتوری مانند mkdir
و غیره نیستید و باید از آپشن مخصوص به ساخت دایرکتوری خانه برای یوزر استفاده کنید.
از آنجایی که گروه shared
باید به لیست گروههای هر دو یوزر اضافه شود، شما نمیتوانید از آپشن -g
استفاده کنید!
سپس تیم باید دایرکتوریای با اسم shared_files
در روت (/
) بسازند. پس از ایجاد دایرکتوری، یک فایل با اسم shared_file
در این دایرکتوری بسازند. در نهایت نیز گروهی که صاحب این فایل و این دایرکتوری است را گروه shared
قرار دهند و کاربر صاحب فایل و دایرکتوری را user1
قرار دهند. همچنین تنها دسترسی خواندن و نوشتن را برای گروه و کاربر صاحب این فایل بدهند و به سایر کاربران هیچ دسترسیای ندهند. بعد از اتمام کار نیز کاربران و گروه و همه فایلهای آنان را پاک کنند!
از آنجایی که سلیب درون تیم نمیتواند در این تمرین به تنهایی شرکت کند از شما خواسته تا به او کمک کنید تا پیش از تمامی افراد تیم، این تمرین را تمام کند.
پروژه اولیه
برای دریافت پروژه اولیه این لینک را دانلود کنید. درون لینک ساختار فایلی زیر را مشاهده میکنید:
Where_is_Who
└── solution.sh
راهحل خود را درون فایل solution.sh
پیادهسازی کنید. برای اطمینان نسبی از پاسختان میتوانید از تستهای نمونه مسئله استفاده کنید. برای این کار کافیست از طریق دکمه «اجرای تست نمونه» پاسختان را برای کوئرا ارسال کنید.
توجه کنید
- فراموش نکنید که اسکریپتی کامل را در پاسختان تحویل دهید.
- فراموش نکنید که اسکریپت خود را درون فایلی با نام
solution.sh
وارد نمایید. - برای ارسال پاسخ خود کافیست فایل
solution.sh
را آپلود کنید.
ارسال پاسخ برای این سؤال