در دو مطلب آشنایی با مدیریت کاربران در لینوکس مجوز ها در یونیکس – بخش اولوآشنایی با مدیریت کاربران در لینوکس – بخش دومبا ۲ فایل login.defs و passwd و کاربر آنها اشنا شدیم.تمام کاربران سیستم حق خواندن را از این ۲ فایل دارند ( یعنی همه کاربران سیستم می توانند این ۲ فایل را با دستور های زیر بخوانند) اما تنها کاربر root است که هم می تواند این فایل را بخواند و هم بر روی آن بنویسد(آنرا تغییر دهد).برای اطلاع از حق مالکیت ها لطفن این لینک را بخوانید.
همچنین در بخش نخست مدیریت کاربران با چند فایل که در دایرکتوری خانگی هر کاربر وجود دارد مانند bashrc و … نیز آشنا شدیم. اما دو فایل دیگری که هر کاربر و اکانت های آنها با آن ۲ فایل درگیر هستند فایل های group و shadow نام دارند که در ادامه با این دو فایل و محتویات آنها آشنا خواهیم شد.
فایل group :
در بخش دوم مدیریت کاربران در لینوکس با دستور های مدیریت گروه ها آشنا شدیم اما پس از ایجاد یک گروه اطلاعات در کجا ذخیره می شوند.فایلی به نام group در مسیر etc/ قرار دارد که همه کاربران مجوز خواندن از آن را دارند اما تنها کاربر ریشه می تواند هم از آن بخواند و هم بر آن بنویسد.هر خط این فایل شامل اطلاعات تمامی گروه ها در سیستم است.دستور زیر را اجرا کنید:
cat /etc/group
هر خط آن بصورت زیر خواهد بود.
groupname:password:groupid:memberlist
یک خط از آن بصورت زیر خواهد بود :
root:x:0:root
که x معرف password ایجاد شده با سیستم shadow و root آخر یک عضو از گروه root که همان کاربر ریشه خودمان هست.در خط بالا root نام گروه است که شناسه گروه آن 0 است.دستوری در یونیکس به نام groups وجود دارد که نام گرو های یک کاربر را نشان خواهد داد.اگر به تنهایی استفاده شود گروه کاربر فعلی یعنی شما را نشان خواهد داد و همچنین می تواند برای یک کاربر خاص بصورت زیر باشد:
groups username
فایل shadow :
فیلد 1 – (User name) : نام کاربری که با آن Login می کنید.
فیلد 2 – (Password) : گذرواژه رمز شده.
فیلد 3 – (Last password change) : زمان آخرین باری که گذرواژه تغییر کرده است.
فیلد 4 : (Minimum) : حداقل تعداد روز هایی که لازم است برای تغییر گذرواژه.
فیلد 5 – (Maximum) : حداکثر تعداد روزهایی که گذرواژه معتبر است(این زمان تعداد روز هایی را مشخص می کند که یک کاربر باید گذرواژه اش را از زمانی که مجبور به تغییر دارد را تعین می کن و باید تا قبل این زمان حتمن اقدام به تغییر گذرواژه خود کند).
فیلد 6 – (warned) : تعداد روز هایی که تا قبل اینکه گذرواژه منقضی یا Expire شود.
فیلد 7 – (Inactive ) : تعداد روز های پس از منقض شدن گذرواژه که اکانت غیر فعال است.
فیلد 8 – (Expire) تعداد روز های از اول ژانویه سال 1970 که اکانت غیر فعال است.
جمع بندی مطالب سه بخش مدیریت کاربران در لینوکس :
- در لینوکس هر کاربر دارای یک شناسه منحصر به فرد به نام UserID یا UID است که فقط مختص به اوست. همچنین در لینوکس با ایجاد هر کاربر یک گروه همنام با آن کاربر ساخته می شود و کاربر در آن قرار می گیرد. الته می توان کاربر را با دستور زیر می توان یک کاربر را عضو گروه دیگری کرد.
useradd -G {group-name} username
- هر گروه دارای یک شناسه مختص به خود و منحصر به فرد است که Group ID یا GID نام دارد.
- UID کاربر ریشه 0 و GID آن نیز 0 است و نام کاربری و نام گروه آن root است.(مفهوم کاربر root در لینوکس)
- با ایجاد هر کاربر بصورت پیش فرض یک دایرکتوری به آن در زیر دایرکتوری home/ همنام با نام خودش داده می شود. با ایجاد هر کاربر یک سری از متغیر ها که هر کدام دارای مقادیر و کاربرد های خاص هستند داده می شود که لینوکس از آنها برای کاربرد های خاص استفاده می کنند. بطور مثال وجه تمایز میان یک کاربر معمولی و ریشه در اجرای دستور ها در متغیر PATH آن است.
فایل های مرتبط با کاربران و گروه ها بصورت زیر هستند :
- فایل etc/passwd/ : که پایگاه داده اصلی اطلاعات کاربران است : اطلاعاتی همچون نام کاربری و دایرکتوری خانگی و پوسته مورد استفاده کاربر. نکته مهم این است که فیلد دوم که بیان گر گذرواژه است اصلن دارای گذروازه نیست بلکه شامل x است که این فیلد اشاره به مدخلی در فایل etc/shadow/ که حاوی تمام گذرواژه هاست دارد. و این بیان می کند که به ازای هر کاربر در فایل passwd یک خط در فایل shadow وجود دارد که گذرواژه آن کاربر را ذخیره کرده است.
- فایل etc/group/ : مانند فایل بالا اما اطلاعات گروه ها و در فیلد آخر اعضای آن گروه ها را دارد.
- فایل etc/shadow/ : پایگاه داده گذرواژه ها
دستور های زیر در ارتباط با کاربران و گروه ها هستند :
- useradd, usermod, userdel
- groupadd, groupmod, groupdel
انواع کاربر ها :
در لینوکس دو نوع کاربر وجود دارد :
- کاربران سیستمی که دارای گذرواژه نیستند و نمی توانند به سیستم Login کنند و تنها برای مدیریت سرویس ها استفاده می شوند. بطور مثال با نصب اوراکل یک کاربر سیتمی به نام oracle ساخته خواهد شد که پایگاه داده اوراکل را مدیریت می کند. معمولا دارای UID زیر 100 هستند.
- کاربرانی که دارای گذرواژه بوده و می توانند به سیستم وارد شوند.(مثل من و شما)
- مدیریت کاربران در لینوکس – بخش سوم
- آشنایی با مدیریت کاربران در لینوکس – بخش دوم
- مجوز ها در یونیکس – بخش اول