Product SiteDocumentation Site

8.4. پایگاه‌داده‌های کاربران و گروه‌ها

فهرست کاربران معمولا در فایل /etc/passwd ذخیره می‌شود، در صورتی که فایل /etc/shadow گذرواژه‌های رمزگذاری‌شده را ذخیره می‌کند. هر دو فایل، از نوع متنی هستند که به سادگی با استفاده از یک ویرایشگر متن قابل خواندن و تغییر هستند. هر کاربر در خط جداگانه‌ای به همراه فیلد‌هایی که با : از یکدیگر جدا شده‌اند، قرار دارد.

8.4.1. فهرست کاربران: /etc/passwd

فیلدهای مورد استفاده در فایل /etc/passwd عبارتند از:
  • نام کاربری، برای نمونه rhertzog؛
  • گذرواژه: این گذرواژه‌ای است که توسط تابع crypt و مبتنی بر استانداردهای DES، MD5، SHA-256 یا SHA-512 تولید شده است. مقدار ویژه “x” به این معنا است که گذرواژه رمزگذاری شده در فایل /etc/shadow قرار دارد؛
  • uid: شناسه منحصربفرد هر کاربر؛
  • gid: شناسه منحصربفرد گروه هر کاربر (دبیان به صورت پیش‌فرض برای هر کاربر یک گروه خاص قرار می‌دهد)؛
  • GECOS: فید داده‌ای که معمولا نام کامل کاربر را شامل می‌شود؛
  • دایرکتروی حساب کاربری، که برای ذخیره‌سازی فایل‌های شخصی هر کاربر اختصاص می‌یابد (متغیر محلی $HOME معمولا به اینجا اشاره می‌کند)؛
  • برنامه‌ای که هنگام ورود کاربر اجرا می‌شود. این معمولا یک مفسر خط‌فرمان (پوسته) است که کنترل آزاد را در اختیار کاربر می‌گذارد. اگر گزینه /bin/false را استفاده کنید به این معنا است که کاربر نمی‌تواند لاگین کند.

8.4.2. فایل رمزگذاری‌شده و مخفی گذرواژه‌ها: /etc/shadow

فایل /etc/shadow شامل فیلدهای زیر است:
  • نام کاربری؛
  • گذرواژه رمزگذاری‌شده؛
  • تعدادی فیلد که مدت زمان اعتبار گذرواژه را تعیین می‌کنند.

8.4.3. تغییر یک حساب کاربری موجود یا گذرواژه آن

دستورات زیر امکان تغییر اطلاعات موجود در پایگاه‌داده کاربران و فیلدهای مرتبط با آن را می‌دهند: passwd به یک کاربر عادی اجازه تغییر گذرواژه خود را می‌دهد که این عملیات منجر به بروزرسانی فایل /etc/shadow می‌گردد؛ chfn یا CHange Full Name، که مختص به کاربر root است، فیلد GECOS را تغییر می‌دهد. chsh یا CHange SHell به کاربران امکان تغییر پوسته یا مفسر خط‌فرمان را می‌دهد، اگرچه گزینه‌های ممکن در فایل /etc/shells موجود هستند؛ مدیرسیستم، از طرف دیگر، شامل این محدودیت نمی‌شود و می‌تواند پوسته را به هر برنامه دیگری تغییر دهد.
در نهایت، دستور chage یا CHange AGE به مدیرسیستم امکان تغییر زمان اعتبار گذرواژه را می‌دهد (گزینه -l user تنظیمات فعلی را نمایش می‌دهد). می‌توانید برای مجبور کردن کاربر به تغییر گذرواژه خود از دستور passwd -e user استفاده کنید تا در هنگام ورود بعدی به سیستم، گذرواژه جدید را وارد کند.

8.4.4. غیرفعال‌سازی یک حساب‌کاربری

ممکن است بخواهید “یک حساب‌کاربری را غیرفعال کنید” (قفل‌کردن یک کاربر)، به عنوان یک عمل انضباطی، به منظور تحقیقات بیشتر روی یک موضوع یا در صورتی که کاربر مدت زمان طولانی حضور نداشته باشد. یک حساب‌کاربری غیرفعال‌شده به این معنی است که وی نمی‌تواند وارد سیستم شود و به آن دسترسی داشته باشد. محتویات این حساب‌کاربری بدون کوچکترین تغییری روی سیستم باقی می‌مانند؛ تنها به سادگی دسترسی به آن وجود ندارد. این کار با استفاده از دستور passwd -l user انجام می‌شود (lock). فعال‌سازی مجدد آن نیز با استفاده از گزینه -u در همان دستور صورت می‌گیرد (unlock).

8.4.5. فهرست گروه: /etc/group

گروه‌ها در فایل /etc/group فهرست می‌شوند، یک پایگاه‌داده ساده متنی درست مانند /etc/passwd که شامل فیلدهای زیر است:
  • نام گروه؛
  • گذرواژه (اختیاری): این فیلد برای الحاق یک گروه استفاده می‌شود که یک عضو معمولی به حساب نمی‌آید (با دستورات newgrp یا sg، قسمت بازگشت به مقدمات کار با چندین گروه را مشاهده کنید)؛
  • gid: شناسه منحصربفرد هر گروه؛
  • فهرست اعضا: فهرستی از نام کاربرانی که عضو این گروه هستند، که با کاما جدا شده‌اند.
دستورات addgroup و delgroup یک گروه را اضافه یا حذف می‌کنند، به همین شکل دستور groupmod اطلاعات مربوط به یک گروه را تغییر می‌دهد (gid یا شناسه گروه). دستور passwd -g group گذرواژه مربوط به گروه را تغییر می‌دهد، در صورتی که دستور passwd -r -g group آن گذرواژه را پاک می‌کند.