این راهنما به شما نشان می دهد چگونه می توانید گروه ها را با استفاده از دستور gpasswd مدیریت کنید. هر فایل و پوشه در لینوکس دارای مجوز کاربر، گروه و مالک است. با کنترل افرادی که به گروه دسترسی دارند می توانید کنترل کنید که چه اتفاقی برای فایل ها و پوشه ها در سیستم شما می افتد بدون نیاز به تنظیم مجوز برای هر کاربر.
کمی درباره مجوزها
یک ترمینال را باز کنید و در داخل پوشه خانه شما یک پوشه به نام حساب ها با استفاده از دستور mkdir به صورت زیر ایجاد کنید:
حساب های mkdirحالا دستور زیر را اجرا کنید که به شما اجازه میدهد پوشه ای که تازه ایجاد کرده اید را به شما نشان دهد.
ls -ltشما چیزی شبیه به این خواهید دید:
drwxr-xr-x 2 yourname yourname 4096 حساب های تاریخیبیت هایی که ما علاقه مندیم مجوز هایی هستند که در مثال بالا drwxr-xr-x هستند. ما همچنین به 2 ارزش "yourname" علاقه مندیم.
ابتدا درباره مجوزها صحبت کنید. "d" دایرکتوری است و به ما اطلاع میدهد که حسابها دایرکتوری هستند.
بقیه مجوزها به سه بخش تقسیم می شوند: "rwx"، "rx"، "rx". بخش اول از 3 کاراکتر، مجوزهایی است که مالک یک جسم دارد. بخش دوم از 3 کاراکتر، مجوزهایی است که هر کسی که متعلق به گروه است و در نهایت، آخرین بخش مجوزهایی است که هر کس دیگری دارد.
"r" برای "خواندن"، "w" برای "نوشتن" و "x" برای "execute" است.
بنابراین در مثال بالا صاحب مجوز ها را برای پوشه حساب ها خواندن، نوشتن و اجرا می کند در حالی که گروه و هر کس فقط مجوز ها را خوانده و اجرا می کند.
در مثال، اولین "yourname" صاحب مورد است و دوم "yourname" گروه اصلی برای پوشه حساب ها است.
برای ایجاد این راهنما مفید تر، با استفاده از دستورات adduser زیر، چند حساب دیگر را به سیستم خود اضافه کنید :
sudo adduser توم sudo adduser توماز شما خواسته می شود برای هر یک از آنها یک رمز عبور تنظیم کنید و اطلاعات دیگر را وارد کنید. شما می توانید تنها با رمز عبور بروید و از طریق بقیه زمینه ها بازگردید.
اکنون که 3 حساب دارید، دستور زیر را برای تغییر مالک پوشه حساب خود اجرا کنید.
sudo chown تام حساب هاحالا دستور ls را دوباره اجرا کنید.
ls -ltمجوزها در حال حاضر به شرح زیر است:
drwxr-xr-x tom yournameشما می توانید با استفاده از دستور cd به زیر پوشه حساب بروید:
حساب های سی دیحالا با استفاده از دستور زیر یک فایل ایجاد کنید:
تست لمسیشما خطای زیر را دریافت خواهید کرد:
touch: نمیتوان لمس کرد 'test': اجازه رد شددلیل این امر این است که تام مالک است و خواندن، نوشتن و اجرای مجوزهاست، اما شما فقط بخشی از گروه هستید و فقط مجوزهای گروهی دارید.
با تایپ کردن دستورات زیر، مسیر را به پوشه home تغییر دهید و مجوزهای حساب را تغییر دهید:
cd .. sudo chmod 750 accountsحالا دستور ls را دوباره اجرا کنید:
ls -ltمجوز پوشه حساب ها در حال حاضر به شرح زیر است:
drwxr-x ---این بدان معنی است که مالک دارای مجوز کامل، کاربران با گروه "yourname" خواهد خواندن و اجرای مجوز ها و هر کس دیگری مجوز ندارد.
آن را امتحان کنید به پوشه حساب بروید و دوباره دستور لمس را اجرا کنید:
حساب های سی دی لمسی آزمونشما هنوز مجوز هایی برای حرکت به پوشه دارید اما مجوز هایی برای ایجاد فایل ها ندارید. اگر فقط یک کاربر عادی بودید، حتی نمی توانید به پوشه حساب دسترسی پیدا کنید.
برای امتحان این سوئیچ را به کاربر تایم بروید و به پوشه حساب بروید به شرح زیر است:
su - tim cd / home / yourname / accountsشما یک خطا را مجددا دریافت خواهید کرد
پس چرا از مجوزهای گروه استفاده میکنید و مجوزهای فردی را برای همه کاربران تنظیم نمیکنید؟ اگر یک دفتر حسابداری داشته باشید که همه باید به صفحات و اسناد خاصی دسترسی داشته باشند، اما هیچ کس دیگری در شرکت نباید به جای تعیین مجوز برای تمام افراد در حساب ها، شما می توانید مجوز های مربوط به پوشه را به گروهی به نام حساب ها تنظیم کنید و سپس کاربران را به گروه اضافه کنید.
چرا این بهتر از تنظیم مجوزهای کاربر خاص است؟ اگر یک کاربر از بخش خارج شود، می توانید آنها را از گروه حذف کنید، در غیر اینصورت مجوز های خود را در یک مجموعه از پوشه ها برطرف کنید.
چگونه یک گروه ایجاد کنیم
شما می توانید برای ایجاد یک گروه از دستور زیر استفاده کنید:
sudo addgroup accountsچگونه می توان یک کاربر را به گروه اضافه کرد
sudo gpasswd-حساب کاربری نام کاربریدستور بالا می تواند برای افزودن یک کاربر به گروه حساب استفاده شود.
برای اضافه کردن لیستی از کاربران به عنوان اعضای گروه، دستور زیر را اجرا کنید:
sudo gpassword -m yourname، tom، tim accountsهنگامی که یک کاربر به یک حساب اضافه می شود، کاربر می تواند این گروه را به لیستی از گروه های ثانویه اضافه کند با اجرای دستور زیر:
حساب های جدیدهر کاربری که به گروه تعلق ندارد، خواسته خواهد شد که وارد رمز عبور گروه شود.
چگونه می توان گروه اصلی را برای یک پوشه تغییر داد
حالا که ما یک گروه با یک کاربر داریم، می توانید این گروه را به پوشه حساب ها با استفاده از دستور chgrp زیر اعطا کنید:
حساب های سودا chgrp حسابحسابهای اول نام گروه است و حسابهای دوم نام پوشه است.
چگونگی بررسی اینکه آیا یک کاربر متعلق به یک گروه است
شما می توانید با اجرای دستور زیر، آیا کاربر متعلق به یک گروه است:
گروه هااین لیست گروه هایی را که کاربر به آن تعلق دارد، بازگشت می دهد.
چگونه رمز عبور گروه را تغییر دهید
برای تغییر رمز عبور گروه شما می توانید دستور زیر را اجرا کنید:
sudo gpasswdاز شما خواسته خواهد شد که یک رمز عبور برای گروه وارد کنید و آن را تکرار کنید.
اکنون می توانید کاربران را به یک گروه در روش فوق اضافه کنید یا یک کاربر جدید می تواند به راحتی با اجرای دستور زیر و ارسال رمز عبور صحیح به گروه بپیوندد:
newgrpبدیهی است، شما نمی خواهید رمز عبور گروه را به کسی بدهید، بنابراین بهتر است که کاربر خود را به گروه اضافه کنید.
چگونه می توان گروه را فقط به اعضای مشخص محدود کرد
اگر شما نمی خواهید کسی که قانع می داند رمز عبور برای پیوستن به یک گروه شما می توانید دستور زیر را اجرا کنید:
sudo gpasswd -Rیک کاربر به عنوان یک مدیر تنظیم کنید
شما می توانید کاربران را به عنوان مدیران یک گروه تنظیم کنید. این اجازه می دهد تا کاربر برای اضافه کردن و حذف کاربران از یک گروه خاص و همچنین تغییر رمز عبور
برای انجام این کار دستور زیر را اجرا کنید:
sudo gpasswd-حساب های تامچگونه رمز عبور گروهی را حذف کنیم
شما می توانید رمز عبور را از یک گروه با استفاده از دستور زیر حذف کنید:
sudo gpasswd -r حسابنحوه حذف یک کاربر از گروه
برای حذف یک کاربر از گروه، دستور زیر را اجرا کنید:
sudo gpassword -d حسابهای کاربریچگونه می توان یک گروه خواندن، نوشتن و اجرای مجوز ها بر روی یک فایل یا پوشه انجام داد
تا کنون کاربران در گروه حساب ها دسترسی به پوشه حساب دارند، اما آنها واقعا می توانند هر کاری را انجام دهند، زیرا فقط خواندن و اجرای مجوز ها را انجام می دهند.
برای ارائه مجوزهای نوشتن به گروه، می توانید دستور زیر را اجرا کنید:
sudo chmod g + w accountsخلاصه
این راهنمای چند دستور را برای کمک به شما برای تنظیم مجوزها در سیستم لینوکس شما معرفی کرده است. شما همچنین می توانید از دستور useradd برای تنظیم کاربران و کاربران گروه استفاده کنید.