پنجشنبه, ۲۰ دی, ۱۴۰۳ / 9 January, 2025
مدیریت ساده کاربران
مدیریت کاربران در لینوکس، هر چند که بسیار ساده است، اما جزئیات دقیقی دارد. مدیریت کاربران آنقدر ساده است که باعث تنفر از وجود کاربر جدید نخواهد شد. بهتر است یک قانون کلی برای کاربران داشته باشیم؛ به هرچیزی که نیاز دارند دسترسی بدهیم، نه بیشتر و نه کمتر.
هر مدیر سیستمی، به شما میگوید کاربران را از طریق گروهها مدیریت میکند و راست هم میگوید. اما باید هر کاربری را در ابتدا ایجاد کرد، سپس او را در گروه خاص قرار داد و دسترسیهایش را تعیین کرد. این عملیات ساده است که در این مطلب به آن خواهیم پرداخت.
● دستورات گروه
در ابتدا به چگونگی کارکرد گروهها خواهیم پرداخت. تنظیمات گروهها در فایل /etc/group یافت میشوند. یک فایل لینوکس استاندارد /etc/group شامل اطلاعات زیر خواهد بود که به فرم نام گروه: x: شناسه گروه: کاربر قرار میگیرد.
متغیر x در تعریف گروه، فایلی است که درواقع محل قرارگیری رمز عبور گروه در آن جای میگیرد.
برای اینکه بفهمیم در چه گروهی قرار داریم، کافی است دستور زیر را اجرا کنیم:
khess rdpusers
در بسیاری از سیستمهای لینوکسی، وقتی مدیر، شناسهای برای یک فرد ایجاد میکند، سیستم بهطور خودکار گروهی با همان نام برای شناسه کاربر میسازد.
مدیر سیستم میتواند هنگام ایجاد حساب، گروهی را تعیین کند که از پیش ساخته شده است. به دو مثال زیر دقت کنید:
# useradd fred
# grep fred /etc/passwd
fred:x:۵۰۴:۵۰۶::/home/fred:/bin/bash
# grep fred /etc/group
fred:x:۵۰۶:
# useradd ـg ۱۰۰ ـc "Bob Alobdob" bob
# grep bob /etc/passwd
bob:x:۵۰۵:۱۰۰:Bob Alobdob:/home/bob:/bin/bash
# grep bob /etc/group
#
چرا وقتی دستور grep bob /etc/group را تایپ کردیم، سیستم پاسخی به ما نداد؟ دلیل این کار این است که گروه کاربران گروه اصلی شناسه bob است. اگر گروه users یک گروه فرعی بود، شناسه bob در خروجی چاپ میشد. برای مثال، کافی است شناسهای با rdpusers بهعنوان گروه فرعی بسازیم.
# useradd ـG ۵۰۴ ـc "Jon Shmon" john
# grep john /etc/passwd
john:x:۵۰۶:۵۰۷:Jon Shmon:/home/john:/bin/bash
# grep john /etc/group
rdpusers:x:۵۰۴:khess,john
john:x:۵۰۷:
توجه داشته باشید که گروه را قبل از تعیین کاربرانش باید بسازیم. دستور groupadd گروه جدیدی را با شناسه گروه (GID) یکتا میسازد.
# groupadd ـg ۱۰۴۰ accounting
# grep ۱۰۴۰ /etc/group
accounting:x:۱۰۴۰:
اگر در دستور ذکر شده، شناسه گروه را وارد نکنیم، خود سیستم بهطور خودکار یک شناسه یکتا به آن گروه میدهد.
دستور groupmod برای تغییر نام گروه استفاده میشود. توجه داشته باشید که بعد از انجام این دستور، مدیر سیستم باید فایلهای تنظیمات کاربران این گروه را اصلاح کند.
# groupmod ـn accounting beancounters
# grep ۱۰۴۰ /etc/group
beancounters:x:۱۰۴۰:
نکته: دستور chgrp (دسترسی گروه) را نباید با دستور groupmod (تغییر نام گروه) اشتباه گرفت.
با دستور groupdel نیز میتوان یک گروه را بهطور کلی پاک کرد.
# groupdel beancounters
اگر ترجیح میدهید بهصورت مستقیم فایلهای پیکربندی تنظیمات گروه را ویرایش کنید (هر چند نیازی به انجام این کار نیست)، دستور vigr فایل /etc/group را با قراردادن یک قفل روی فایل ویرایش میکند. بهاین ترتیب تنها یک مدیر در لحظه میتواند فایل را ویرایش کند و تداخل تنظیمات بهوجود نمیآید.
بهتر است کلا از دستورات مخصوص group برای مدیریت گروهها استفاده شود.
● دستورات کاربر
این دستورات بهاین علت در این بخش قرار گرفتهاست که عملکرد آنها بیشتر در حوزه کاربرها واضح خواهد بود. حتی اگر یک کاربر بداند که این دستورها کجاست (/usr/sbin) باز هم نمیتواند بدون دسترسی root به آنها دست یابد.
برای مثال اگر یک کاربر بخواهد شناسه جدیدی را با استفاده از دستور useradd و vipw ایجاد کند، با پیغام زیر روبهرو میشود:
$ /usr/sbin/useradd steve
useradd: Only root may add a user or group to the system.
$ /usr/sbin/vipw
vipw: Couldn۰۳۹;t lock file: Permission denied
vipw: /etc/passwd is unchanged
میتوان یک کاربر را با دستور useradd ایجاد کرد، شناسه آن را از طریق usermod عوض کرد و با کمک دستور userdel شناسه کاربر را از سیستم حذف کرد. همچنین ویرایش فایل /etc/passwd را مستقیما از طریق دستور vipw انجام داد. دستور useradd و شیوه اجرای آن را در مثالهای قبلی دیدهاید.
دستور usermod میتواند اطلاعات یک کاربر از جمله نام واقعی، محل دایرکتوری Home، تاریخ اتمام اعتبار این شناسه، کارکردهای آن، افزودن یا تغییر گروه، نام ورودی به سیستم، قفل یا باز کردن شناسه و تغییر پوسته کاربر را انجام دهد.
# grep khess /etc/passwd
khess:x:۵۰۰:۵۰۰:Kenneth Hess:/home/ khess:/bin/bash
# usermod ـc "Ken Hess" khess
# grep khess /etc/passwd
khess:x:۵۰۰:۵۰۰:Ken Hess:/home/khess:/ bin/bash
دستور usermod را باید با احتیاط اجرا کرد چرا که تایپ ناصحیح یک دستور میتواند باعث بیاستفادهشدن آن حساب شود. مثلا اگر فرض کنیم Bob Alobdob که در مثال گروه آن را ایجاد کردیم، بخواهد شناسه ورودی و دایرکتوری home خود را به robert تغییر دهد.
# usermod ـd "/home/robert" ـm ـl robert bob
# grep robert /etc/passwd
robert:x:۵۰۵:۱۰۰:Bob Alobdob:/home/ robert:/bin/bash
دقت کنید که چطور عبارت /home/robert بدقت و درون گیومه وارد شده است. اگر این اتفاق نیفتد، شناسه رابرت دیگر دایرکتوری Home ندارد و در نتیجه سیستم برایش بیاستفاده خواهد شد. همانطور که در دستور مشخص است، دایرکتوری فعلی /home/bob به /home/robert تغییر میکند. شناسه لاگین bob نیز به robert تغییر میکند و گزینه ـm محتوای دایرکتوری bob را به robert منتقل میکند.
نکته: شناسه ورودی کاربری را که هماکنون در حال کار با سیستم است نمیتوان تغییر داد.
دستور userdel احتمالا واضح است، اما بعد از اجرای این دستور متوجه میشوید که دایرکتوری home کاربر دست نخورده باقیمانده است.
چرا باید این اتفاق بیفتد؟ دلیل پاکنشدن این اطلاعات مکانیزم جلوگیری از اشتباهی است که در سیستم پیاده شده است. مثلا اگر شناسه کاربر از طریق یک حرف یا عدد با شناسه دیگری متفاوت باشد، ممکن است اشتباه اطلاعات فرد دیگری به اشتباه پاک شود و باید پیش از رویداد بحران، جلوی آن را گرفت. بنابراین حذف اطلاعات بهصورت دستی خواهد بود تا یک بار دیگر نیز این موضوع چک شود.
محمدرضا قربانی
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست