مدیریت ساده در لینوکس:
مدیریت کاربران در لینوکس هرچند که بسیار ساده است اما جزئیات دقیقی دارد.مدیریت کاربران آنقدر ساده است
که باعث تنفر از وجود کاربر جدید نخواهد شد بهتر است یک قانون کلی برای کاربران داشته باشیم ؛ به هرچیزی
که نیاز دارند دسترسی بدهیم ، نه بیشتر ونه کمتر
هر مدیر سیستمی به شما می گوید کاربران را از طریق گروه ها مدیریت کنید اما باید ابتدا هر کاربری را ایجاد کرد.
سپس او را در گروه خاص قرار داد و دسترسی هایش را تعیین کرد این عملیات ساده است که در این پست در مورد این
موضوع بحث خواهیم کرد:
دستورات گروه :
در ابتدا به چگونگی کارکرد گروه ها خواهم پرداخت
تنظیمات گروه ها در فایل /etc /group یافت می شوند ، یک فایل لینوکس استاندارد /etc/ group شامل اطلاعات
زیر خواهد بود که به فرم نام گروه : X شناسه گروه کاربر قرار می گیرد .
متغیر X در تعریف گروه فایلی است که در واقع محل قرارگیری رمز عبور گروه در آن جا می گیرد.
برای آنکه بفهمیم در چه گروهی قرار داریم کافی است دستور زیر را وارد کنید:
Groups$
khess rdpusers
در بسیاری از سیستم های لینوکسی وقتی مدیر ،شناسه ای برای یک فرد ایجاد می کند سیستم به طور خودکار
گروهی با همان نام برای شناسه کاربر می سازد.
مدیر سیستم می تواند هنگام ایجاد حساب ، گروهی را تعیین کند که از پیش ساخته شده اس ت به دو مثال زیر
دقت کنید.
useradd fred#
grep fred/ etc/ passwd#
fred:x:504:506::/home/fred:/bin/bash
grep fred/ etc /group#
:fred:X:506
useradd-g100-c"bob alobdob#
bob
grep bob/ etc/ passwd#
b o b: x : 505:100 : bob
Alobdob:/home/bob:/bin/bash
grep bob/ etc/ group#
#
چرا وقتی دستور grep bob /etc /group را تایپ کردیم ، سیستم پاسخی نمی دهد؟ دلیل اینکار این است که
گروه کاربران گروه اصلی شناسه bob است.
اگر گروه users یک گروه فرعی بود، شناسه bob در خروجی چاپ می شد.
برای مثال ، کافی است شناسه ای با rdpusers به عنوان گروه فرعی بسازیم.
useradd -G 504 -c "Jon Shmon"john#
grep john /etc /passwd#
J o h n : X : 506 :507 : jon
Shmon:/home/john:/bin/bash
grep john / etc / group#
rdpusers:X: 504 : khess john
:john : X : 507
توجه داشته باشید که گروه را قبل از تعیین کاربرانش باید بسازیم .دستور groupadd گروه جدیدی را با شناسه
گروه ( GID ) یکتا می سازد.
groupadd - g 1040 accounting#
grep 1040 /etc/ group #
:accounting:X:1040
اگر در دستور ذکر شده ، شناسه گروه را وارد نکنیم ، خود سیستم به طور خودکار یک شناسه یکتا به آن گروه
می دهد.
دستور groupmod برای تغییر نام گروه استفاده می شود توجه داشته باشید که بعد از انجام این دستور ، مدیر
سیستم باید فایل های تنظیمات کاربران این گروه را اصلاح کند.
groupmod - n accounting bean - counters #
grep 1040 / etc / group #
:beancounters: X:1040
نکته :
دستور 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:500:500: kenneth hess :/home /khess:/bin/bash
usermod -c :"ken hess"khess#
grep khess /etc/passwd#
khess :X:500:500:ken hess :/home /khess:/bin/bash
دستور usermod را باید با احتیاط اجرا کرد چرا که تایپ ناصحیح یک دستور می تواند باعث بی استفاده شدن آن
حساب شود.مثلا اگه فرض کنیم Bob Alobdob که در مثال گروه آن را ایجاد کردیم ، بخواهد شناسه ورودی
و دایرکتوری home خود را به robert تغییر دهد.
usermod -d "/home /robert "-m-l rob-ert bob #
grep robert /etc/passwd #
robert : X : 505: 100 : bob Alobdob :/home/robert:/bin /bash
دقت کنید که چگونه عبارت / home /robert به دقت و درون گیومه وارد شده است .اگر این اتفاق نیفتد شناسه
رابرت دیگر دایرکتوری Home ندارد و در نتیجه سیستم برایش بی استفاده خواهد شد ، همانطور که در دستور
مشخص است ، دایرکتوری فعلی/ home /bob به / home /robert تغییر می کند شناسه لاگین bob به robert
تغییر می کند و گزینه _m محتوای دایرکتوری bob را به robert منتقل می کند.
نکته :
شناسه ورودی کاربری را که هم اکنون در حال کار با سیستم است نمی توان تغییر داد .
دستور userdel احتمالا واضح است اما بعد از اجرای این دستور متوجه می شوید که
دایرکتوری home کاربر دست نخورده باقی مانده است .چرا باید این اتفاق بیفتد؟
دلیل پاک نشدن این اطلاعات مکانیزم جلوگیری از اشتباهی است که در سیستم
پیاده شده است مثلا اگر شناسه کاربر از طریق یک حرف یا عدد با شناسه دیگری
متفاوت باشد.ممکن است اشتباه اطلاعات فرد دیگری به اشتباه پاک شود و باید
پیش از رویداد بحران جلوی آن را گرفت بنابراین حذف اطلاعات به صورت دستی
خواهد بود تا یه بار دیگه این مو
مدیریت ساده در لینوکس:
مدیریت کاربران در لینوکس هرچند که بسیار ساده است اما جزئیات دقیقی دارد.مدیریت کاربران آنقدر ساده است
که باعث تنفر از وجود کاربر جدید نخواهد شد بهتر است یک قانون کلی برای کاربران داشته باشیم ؛ به هرچیزی
که نیاز دارند دسترسی بدهیم ، نه بیشتر ونه کمتر
هر مدیر سیستمی به شما می گوید کاربران را از طریق گروه ها مدیریت کنید اما باید ابتدا هر کاربری را ایجاد کرد.
سپس او را در گروه خاص قرار داد و دسترسی هایش را تعیین کرد این عملیات ساده است که در این پست در مورد این
موضوع بحث خواهیم کرد:
دستورات گروه :
در ابتدا به چگونگی کارکرد گروه ها خواهم پرداخت
تنظیمات گروه ها در فایل /etc /group یافت می شوند ، یک فایل لینوکس استاندارد /etc/ group شامل اطلاعات
زیر خواهد بود که به فرم نام گروه : X شناسه گروه کاربر قرار می گیرد .
متغیر X در تعریف گروه فایلی است که در واقع محل قرارگیری رمز عبور گروه در آن جا می گیرد.
برای آنکه بفهمیم در چه گروهی قرار داریم کافی است دستور زیر را وارد کنید:
Groups$
khess rdpusers
در بسیاری از سیستم های لینوکسی وقتی مدیر ،شناسه ای برای یک فرد ایجاد می کند سیستم به طور خودکار
گروهی با همان نام برای شناسه کاربر می سازد.
مدیر سیستم می تواند هنگام ایجاد حساب ، گروهی را تعیین کند که از پیش ساخته شده اس ت به دو مثال زیر
دقت کنید.
useradd fred#
grep fred/ etc/ passwd#
fred:x:504:506::/home/fred:/bin/bash
grep fred/ etc /group#
:fred:X:506
useradd-g100-c"bob alobdob#
bob
grep bob/ etc/ passwd#
b o b: x : 505:100 : bob
Alobdob:/home/bob:/bin/bash
grep bob/ etc/ group#
#
چرا وقتی دستور grep bob /etc /group را تایپ کردیم ، سیستم پاسخی نمی دهد؟ دلیل اینکار این است که
گروه کاربران گروه اصلی شناسه bob است.
اگر گروه users یک گروه فرعی بود، شناسه bob در خروجی چاپ می شد.
برای مثال ، کافی است شناسه ای با rdpusers به عنوان گروه فرعی بسازیم.
useradd -G 504 -c "Jon Shmon"john#
grep john /etc /passwd#
J o h n : X : 506 :507 : jon
Shmon:/home/john:/bin/bash
grep john / etc / group#
rdpusers:X: 504 : khess john
:john : X : 507
توجه داشته باشید که گروه را قبل از تعیین کاربرانش باید بسازیم .دستور groupadd گروه جدیدی را با شناسه
گروه ( GID ) یکتا می سازد.
groupadd - g 1040 accounting#
grep 1040 /etc/ group #
:accounting:X:1040
اگر در دستور ذکر شده ، شناسه گروه را وارد نکنیم ، خود سیستم به طور خودکار یک شناسه یکتا به آن گروه
می دهد.
دستور groupmod برای تغییر نام گروه استفاده می شود توجه داشته باشید که بعد از انجام این دستور ، مدیر
سیستم باید فایل های تنظیمات کاربران این گروه را اصلاح کند.
groupmod - n accounting bean - counters #
grep 1040 / etc / group #
:beancounters: X:1040
نکته :
دستور 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:500:500: kenneth hess :/home /khess:/bin/bash
usermod -c :"ken hess"khess#
grep khess /etc/passwd#
khess :X:500:500:ken hess :/home /khess:/bin/bash
دستور usermod را باید با احتیاط اجرا کرد چرا که تایپ ناصحیح یک دستور می تواند باعث بی استفاده شدن آن
حساب شود.مثلا اگه فرض کنیم Bob Alobdob که در مثال گروه آن را ایجاد کردیم ، بخواهد شناسه ورودی
و دایرکتوری home خود را به robert تغییر دهد.
usermod -d "/home /robert "-m-l rob-ert bob #
grep robert /etc/passwd #
robert : X : 505: 100 : bob Alobdob :/home/robert:/bin /bash
دقت کنید که چگونه عبارت / home /robert به دقت و درون گیومه وارد شده است .اگر این اتفاق نیفتد شناسه
رابرت دیگر دایرکتوری Home ندارد و در نتیجه سیستم برایش بی استفاده خواهد شد ، همانطور که در دستور
مشخص است ، دایرکتوری فعلی/ home /bob به / home /robert تغییر می کند شناسه لاگین bob به robert
تغییر می کند و گزینه _m محتوای دایرکتوری bob را به robert منتقل می کند.
نکته :
شناسه ورودی کاربری را که هم اکنون در حال کار با سیستم است نمی توان تغییر داد .
دستور userdel احتمالا واضح است اما بعد از اجرای این دستور متوجه می شوید که
دایرکتوری home کاربر دست نخورده باقی مانده است .چرا باید این اتفاق بیفتد؟
دلیل پاک نشدن این اطلاعات مکانیزم جلوگیری از اشتباهی است که در سیستم
پیاده شده است مثلا اگر شناسه کاربر از طریق یک حرف یا عدد با شناسه دیگری
متفاوت باشد.ممکن است اشتباه اطلاعات فرد دیگری به اشتباه پاک شود و باید
پیش از رویداد بحران جلوی آن را گرفت بنابراین حذف اطلاعات به صورت دستی
خواهد بود تا یه بار دیگه این موضوع چک شود.
:: بازدید از این مطلب : 778
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0