منبع اصلی نوشتار زیر در این لینک قرار دارد

بررسی فایل /etc/passwd

فایل /etc/passwd دربرگیرنده اطلاعات مربوط به کاربران سیستم است. در این فایل، به ازای هر کاربر جدیدی که تعریف میکنید، یک خط اضافه می‌شود که هر خط از هفت فیلد تشکیل شده که این فیلدها با کاراکتر ‘:’ از هم جدا میشوند.

مثل:

$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash

این فیلد ها از قرار زیر هستند:

فیلد اول: نام کاربری، از این نام برای ورود به سیستم استفاده میشود.

فیلد دوم: این فیلد حاوی کلمه عبور کاربر است. این کلمه عبور به صورت رمزنگاری شده نوشته می‌شود و انتخابی است.

فیلد سوم: UID کاربر. در سیستم‌های unix-base هر کاربری یک شماره منحصر به فرد دارد.(چیزی مثل شماره شناس‌نامه یا شماره دانشجویی)

فیلد چهارم: GID گروه کاربر. هر کاربر حداقل عضو یک گروه است و هر گروه هم یک شماره منحصر به فرد دارد.

فیلد پنجم: این فیلد خود به چند فیلد دیگر تقسیم می‌شود که با ‘,’ از هم جدا میشوند.

فیلد اول: حاوی نام کامل و واقعی کاربر است (هنگام ارسال و دریافت ایمیل، این نام نمایش داده میشود.)

فیلد دوم: شماره اتاق کاربر.

فیلد سوم: شماره تلفن محل کار کاربر

فیلد چهارم: شماره تلفن خانه کاربر

فیلد پنجم:اطلاعات دیگر

فیلد ششم: مسیر کامل دایرکتوری خانگی کاربر است.( دایرکتوری خانگی جاییست که کاربر دسترسی کامل به آن دارد و فایلهای شخصی اش را در آنجا نگهداری میکند.)

فیلد هفتم: مسیر کامل پوسته (shell) پیشفرض کاربر در این فیلد نوشته می شود.

فیلد دوم که حاوی کلمه عبور رمزنگاری شده کاربر است میتواند خالی باشد. در این صورت هیچ پسوردی برای احراز هویت از کاربر سؤال نمیشود. در صورتی که این فیلد خالی باشد، بعضی از برنامه‌ها که فایل /etc/passwd را میخوانند، ممکن است که اجازه هیچگونه دسترسی به کاربر ندهند. اگر فیلد کلمه عبور حاوی یک کاراکتر ‘x’ (به صورت کوچک) باشد، کلمه عبور واقعی کاربر در فایل /etc/shadow ذخیره میشود. در این صورت فایل /etc/shadow حتماً باید حاوی یک خط برای این کاربر باشد وگرنه این نام کاربری غیر معتبر محسوب میشود.

اگر این فیلد حاوی هر رشته دیگری باشد، با آن رشته همانند یک کلمه عبور رمزنگاری شده برخورد خواهد شد.

فیلد پنجم توسط بعضی از برنامه‌های کاربردی مثل finger استفاده میشود.

فیلد ششم نشان دهنده دایرکتوری خانگی کاربر است. دایرکتوری خانگی کاربر جاییست که وقتی کاربر به سیستم وارد می‌شود در آنجا قرار میگیرد. برنامه login از این فیلد برای مقدار دهی به متغیر محیطی $HOME استفاده میکنند.

فیلد هفتم مشخص کننده پوسته پیشفرض کاربر است. البته میتوانید آدرس هر برنامه دیگری را هم بنویسید. در این صورت آن برنامه به هنگام ورود کاربر اجرا خواهد شد. اگر این فیلد را خالی بگذارید پوسته پیشفرض که معمولاً /bin/sh است برای کاربر درنظر گرفته میشود.

فایل /etc/passwd- یک پشتیبان از این فایل است.



برچسب ها : , ,