| pam_mount.conf(5) | pam_mount 2.22 | pam_mount.conf(5) |
نام (NAME)
pam_mount.conf - شرح پرونده پیکربندی pam_mount
بررسی اجمالی (OVERVIEW)
پرونده پیکربندی pam_mount مقادیر پیشفرض انعطافپذیر را برای دستوراتی که pam_mount اجرا خواهد کرد، پیامهایی که نمایش خواهد داد و اینکه چه حجمهایی هنگام ورود به سیستم سوار شوند تعریف میکند. از نسخه 0.18 ماژول pam_mount، پرونده پیکربندی به زبان XML نوشته شده است تا ضمن سادهسازی پایهکد pam_mount، آزادی عمل در قالببندی را به کاربر نهایی بدهد. نویسههای ویژهای مانند <، > و & که توسط خود XML استفاده میشوند باید به ترتیب بهصورت <، > و & کدگذاری شوند؛ علاوه بر این، " باید درون یک ناحیه "" بهصورت " کدگذاری شود، اما بههرحال بعید است این سه یا چهار نماد زیاد دیده شوند.
درون عناصری که متن دقیق (verbatim) دریافت میکنند، مانند <fusermount></fusermount> از یادداشتها (کامنتها) استفاده نکنید - این مورد توسط تجزیهکننده درخت XML در pam_mount پشتیبانی نمیشود.
تعاریف حجمها (Volume definitions)
حجمها با عنصر <volume> تعریف میشوند که اساساً پارامترها را بهعنوان مشخصه (صفت) دریافت میکند، مانند:
<volume user="joe" fstype="nfs" server="fsbox" path="/home/%(USER)" mountpoint="/bigdisk/%(USER)" />
و مشخص میکنند چه چیزی برای چه کسی و چگونه سوار شود. متغیرهای تنظیمی متعددی وجود دارند که در این بخش شرح داده شدهاند.
کنترل ساده کاربر (Simple user control)
مشخصههای زیر کنترل میکنند که آیا پس از ورود کاربر به سیستم، حجم سوار شود یا خیر. بهطور پیشفرض، حجمها بر همه کاربران اعمال میشوند و مشخص کردن صفتها، آن را به شرایط دادهشده محدود میکند؛ یعنی با یکدیگر AND منطقی میشوند. سازوکار قدرتمندتر و مفصلتری برای تعیین شرایط پیچیده وجود دارد که در ادامه در بخش «کنترل گسترده کاربر» شرح داده شده است.
- user="username"
- حجم را به کاربر مشخصشده بر اساس نام محدود میکند.
- uid="number" یا uid="number-number"
- حجم را به کاربر یا کاربران مشخصشده بر اساس شناسه کاربری (UID) یا بازهای از UID محدود میکند.
- pgrp="groupname"
- حجم را به کاربرانی محدود میکند که گروه مشخصشده با نام را بهعنوان گروه اصلی خود دارند.
- gid="number" یا gid="number-number"
- حجم را به کاربرانی محدود میکند که گروه یا گروههای مشخصشده با GID یا بازهای از GID را بهعنوان گروه اصلی دارند.
- sgrp="groupname"
- حجم را به کاربرانی محدود میکند که عضوی از گروه مشخصشده با نام هستند (چه بهعنوان گروه اصلی یا ثانویه).
پیکربندی حجم (Volume configuration)
مشخصههای زیر منبع حجم، مقصد، گزینهها و موارد دیگر را انتخاب میکنند.
- fstype="type"
- نوع سیستمفایل، که میتواند هر چیزی باشد که هسته سیستمعامل، فضای کاربری و pam_mount درک میکنند. اگر fstype نوع خاصی مربوط به pam_mount را مشخص کند، pam_mount آن را مدیریت خواهد کرد. در غیر این صورت، fstype به mount(8) ارسال میشود که به نوبه خود به دنبال برنامهای کمکی در فضای کاربری بهصورت /sbin/mount.fstype میگردد و در صورت وجود آن را اجرا میکند؛ و در هر حالت دیگر، mount(8) فراخوانی سیستمی mount(2) را صدا میزند تا هسته مستقیماً آن را سوار کند. mount(8) نوع سیستمفایل auto را میشناسد که ممکن است در برخی موارد مفید باشد. مشخص نکردن مشخصه fstype به معنای fstype="auto" است. توجه داشته باشید که سوار کردن با auto ممکن است در صورتی که ماژول هستهٔ سیستمفایل هنوز بارگذاری نشده باشد با شکست مواجه شود، زیرا mount(8) مسیر /proc/partitions را بررسی خواهد کرد.
- انواع سیستمفایل cifs، smbfs، ncpfs، fuse، nfs و nfs4 توسط pam_mount بازنویسی میشوند و ما برنامههای کمکی مربوطه را مستقیماً اجرا میکنیم، به جای آنکه mount(8) را با مجموعه آرگومانهای پیشفرض اولیه که اغلب برای سیستمهای فایل شبکهای ناکافی هستند فراخوانی کنیم. برای جزئیات بیشتر به بخش «مثالها» در ادامه این صفحه راهنما مراجعه کنید.
- noroot="1"
- برنامه سوار کردن را بدون دسترسیهای ریشه (root) اجرا میکند. این مقدار برای نوع سیستمفایل fuse بهطور پیشفرض yes است، زیرا حجمهای FUSE باید بهطور پیشفرض توسط کاربری که وارد سیستم میشود سوار شوند تا دسترسی به فایلها فراهم شود.
- server="name"
- کارسازی را تعیین میکند که در صورت استفاده از انواع سیستمفایل cifs، smbfs، ncpfs و nfs باید به آن متصل شد. برای سایر انواع سیستمفایل، این مشخصه نادیده گرفته میشود. همچنین میتوانید کارساز را به جای آن در مشخصه path مشخص کنید، اما باید از قواعد نگارشی خاصی که آن نوع fstype مشخص نیاز دارد پیروی کنید. (بهعنوان مثال CIFS از "//server/path" استفاده میکند، در حالی که NFS از "server:path" استفاده میکند و غیره.)
- path="path"
- این مشخصه الزامی، مکان حجم را نسبت به کارساز (در صورت تعیین) مشخص میکند.
- mountpoint="directory"
- این مشخصه دایرکتوری مقصدی را مشخص میکند که حجم روی آن سوار میشود. "~" مطابق مفاهیم sh، به دایرکتوری خانگی کاربر همانطور که در پایگاهداده passwd موجود است باز میشود. "~name" پشتیبانی نمیشود. اگر این مشخصه حذف شود، مکان از /etc/fstab خوانده میشود که در این صورت نیز لازم است path یک دستگاه یا دایرکتوری منبع از مدخلهای fstab باشد.
- header="path"
- این مشخصه یک فایل فرادادهٔ جداگانه (منفصل) را تعیین میکند که سرآیند LUKS در آن ذخیره شده است. این با گزینه `cryptsetup --header` مطابقت دارد. اگر این مشخصه حذف شود، از ویژگی سرآیند منفصل LUKS استفاده نمیشود.
- options="..."
- گزینههای سوار کردن را مشخص میکند. اگر حذف شود و از /etc/fstab استفاده گردد (به mountpoint مراجعه کنید)، گزینهها نیز از fstab دریافت خواهند شد.
- ssh="0" یا ssh="1"
- گزینه ssh یک پوشش دستکاری ورودی (zerossh، به fd0ssh(1) مراجعه کنید) را برای این حجم فعال میکند تا گذرواژه را از طریق سازوکاری ویژه ssh به آن تحویل دهد. این گزینه را برای هر عملیات سوار کردنی که به باینری SSH مربوط است (مانند ccgfs یا sshfs) فعال کنید. آن را برای هیچ چیز دیگری فعال نکنید، در غیر این صورت به احتمال زیاد فرایند ورود متوقف (hang) خواهد شد.
- empty_pass="0" یا empty_pass="1"
- گزینه empty_pass رفتار سیستم را هنگامی که گذرواژه خالی ارائه شده یا گذرواژهای در دسترس نیست کنترل میکند. مقدار پیشفرض true در صورتی که هیچ گذرواژهای در دسترس نباشد، تلاش میکند تا قفل یک حجم را با کلید رشته خالی باز کند. هنگامی که empty_pass برابر false باشد، pam_mount تلاشی برای سوار کردن حجم نخواهد کرد مگر اینکه گذرواژهای غیرخالی در دسترس باشد.
- cipher="cipher"
- نام الگوریتم رمزنگاری cryptsetup برای حجم. همراه با fstype از نوع crypt استفاده میشود.
- fskeycipher="ciphertype"
- نام الگوریتم رمزنگاری OpenSSL برای fskey. همراه با fstype از نوع crypt (مربوط به dm-crypt و LUKS) استفاده میشود. کلمه کلیدی ویژه "none" میتواند برای ارسال مستقیم محتویات فایل به cryptsetup بدون رمزگشایی توسط OpenSSL استفاده شود.
- fskeyhash="hash"
- نام تابع درهمسازی (هش) OpenSSL برای fskey.
- fskeypath="path"
- مسیر کلید سیستمفایل.
- ignoresource="1"
- هنگام بررسی اینکه آیا حجم پیشتر سوار شده است یا خیر، مسیر منبع را نادیده میگیرد. این مورد زمانی مفید است که مسیر منبع مشخصشده در path با مسیری که در هسته ذخیره شده است متفاوت باشد. این حالت میتواند هنگام استفاده از فایلهای دستگاه by-label یا با کارسازهای NFS رخ دهد.
متغیرها (VARIABLES)
درون مشخصهها و دستورات (به بخشهای بعدی مراجعه کنید)، متغیرها یا جانگهدارندههای خاصی که با %(name) مشخص میشوند میتوانند استفاده گردند. این مقادیر هنگام فراخوانی دستور جایگزین میشوند.
- %(USER)
- به نام کاربریِ کاربری که وارد سیستم میشود باز میشود.
- %(DOMAIN_NAME), %(DOMAIN_USER)
- ابزار Winbind نامهای کاربری یونیکس ویژهای به شکل "domain\username" دارد و %(DOMAIN_NAME) و %(DOMAIN_USER) بخشهای تفکیکشده آن را فراهم میکنند. این در حالتی مفید است که نام اشتراک روی یک کارساز MSAD مشابه نام کاربری باشد؛ مانند: <volume fstype="cifs" server="fsbox" path="%(DOMAIN_USER)" />.
- %(USERUID), %(USERGID)
- شناسه عددی کاربر (UID) و گروه (GID) مربوط به گروه اصلی کاربری که وارد میشود. این از طریق ()getpw* به دست میآید، نه ()getuid. این متغیرها در ترکیب با گزینههای سوار کردن uid= یا gid= مفید هستند؛ مانند: <volume options="uid=%(USERUID)" />. توجه داشته باشید که نیازی نیست برای سوار کردن smbfs یا cifs مقدار uid=%(USERUID) را مشخص کنید، زیرا این کار قبلاً بهطور خودکار توسط pam_mount انجام شده است.
- %(GROUP)
- نام گروه متناظر با %(USERGID).
سایر متغیرهایی که ممکن است در کد مبدا پیدا کنید درونی pam_mount هستند و احتمالاً در زمانی که انتظار دارید باز نخواهند شد.
پارامترهای PAM_MOUNT (PAM_MOUNT PARAMETERS)
علاوه بر حجمها، عناصر دیگری نیز در pam_mount.conf.xml مجاز هستند که رفتار خود pam_mount را کنترل میکنند.
تنظیمات عمومی (General tunables)
- <debug enable="1" />
- خروجی پرجزئیات هنگام ورود به سیستم را به stderr و syslog فعال میکند. برخی برنامهها با خروجی ارسالشده روی stderr سازگار نیستند، برای فهرستی از آنها فایل doc/bugs.txt را ببینید. 0 اشکالزدایی را غیرفعال میکند، 1 ردیابی pam_mount را فعال میکند و 2 علاوه بر آن ردیابی را در mount.crypt فعال میسازد. مقدار پیشفرض 0 است. از آنجا که فایل پیکربندی بهصورت خطی تجزیه میشود، دستورالعمل <debug> به محض دیده شدن اعمال میشود؛ بنابراین توصیه میشود آن را نزدیک به ابتدای فایل، قبل از هرگونه تعریف <volume> قرار دهید.
- <logout wait="microseconds" hup="yes/no" term="yes/no" kill="yes/no" />
- برنامههایی وجود دارند که هنگام بسته شدن نشست خاتمه نمییابند. (این در مورد بستن «نهایی» صدق میکند، یعنی زمانی که آخرین نشست کاربر به پایان میرسد.) نمونههایی از این دست عبارتند از فرآیندهایی که همچنان در پسزمینه اجرا میشوند؛ یا یک مدیر نشست X معیوب که فرزندان خود را پاکسازی نکرده است، یا سایر برنامههای X که به اعلان خاتمه کارساز X واکنش نشان ندادهاند. میتوان pam_mount را طوری پیکربندی کرد که این فرآیندها را خاتمه دهد و در صورت تمایل قبل از ارسال سیگنالها منتظر بماند.
- <luserconf name=".pam_mount.conf.xml" />
- کاربران میتوانند حجمهای اضافی را در فایلی با name مشخصشده نسبت به دایرکتوری خانگی خود تعریف کنند. حضور <luserconf> در فایل پیکربندی اصلی این ویژگی را فعال میکند. در صورت فعال بودن، کاربران میتوانند هر حجمی را که مشخص میکنند و مالکیت آن را دارند (در مورد سوار کردنهای محلی) سوار و پیاده کنند. فرایند سوار کردن با دسترسی مدیر سیستم (superuser) اجرا میشود. این امر ممکن است پیامدهای امنیتی به همراه داشته باشد، بنابراین این ویژگی بهطور پیشفرض غیرفعال است. فایلهای luserconfig بعد از سوار شدن هرگونه حجم از فایل پیکربندی سراسری تجزیه میشوند، بهطوری که ابتدا سوار کردن دایرکتوریهای خانگی با پیکربندی سراسری و سپس سوار کردن حجمهای بیشتر از luserconfigها امکانپذیر باشد.
- <mntoptions allow="options,..." />
- عناصر <mntoptions> مشخص میکنند کدام گزینهها ممکن است در <volumes> در فایلهای پیکربندی ویژه هر کاربر مشخص شوند (به <luserconf> مراجعه کنید). این در مورد فایل اصلی اعمال نمیشود. مشخص کردن <mntoptions> در پیکربندیهای ویژه کاربر ممنوع بوده و نادیده گرفته میشود. فهرست مجاز پیشفرض شامل "nosuid,nodev" است و این پیشفرض با مشاهده اولین مشخصه allow="..." توسط تجزیهکننده پیکربندی پاک میشود. با این حال، تمام موارد بعدی allow="..." افزایشی هستند.
- <mntoptions deny="options,..." />
- هر گزینهای که در deny فهرست شود نباید در فهرست گزینههای سوار کردن مربوط به کاربر ظاهر شود. فهرست رد پیشفرض خالی است.
- <mntoptions require="options,..." />
- تمام گزینههای فهرستشده در require باید در فهرست گزینههای سوار کردن مربوط به کاربر وجود داشته باشند. فهرست الزامی پیشفرض شامل "nosuid,nodev" است و همانند allow="" هنگام مشاهده نخست توسط تجزیهکننده پاک میشود و در غیر این صورت افزایشی است.
- <path>directories...</path>
- مقدار پیشفرض متغیر محیطی PATH در توزیعهای مختلف یکسان نیست و از این رو pam_mount مجموعه پیشفرضهای مناسب خود را ارائه میدهد که میتوانید به دلخواه تغییر دهید.
مرتبط با حجم (Volume-related)
- <mkmountpoint enable="1" remove="true" />
- ایجاد و حذف خودکار نقاط سوار کردن را کنترل میکند. اگر هنگام سوار شدن حجم یک نقطه اتصال وجود نداشته باشد، میتوان با استفاده از مشخصه enable به pam_mount دستور داد که آن را بسازد. بهطور معمول دایرکتوریهایی که از این طریق ساخته میشوند پس از خروج باقی میمانند، اما remove را میتوان روی true تنظیم کرد تا نقطه سوار کردن دوباره حذف شود، اما فقط در صورتی که قبلاً در همان نشست بهطور خودکار توسط pam_mount ساخته شده باشد.
برنامههای کمکی (Auxiliary programs)
برخی برنامههای سوار کردن برای عملکرد صحیح نیاز به پارامترهای پیشفرض خاصی دارند. بهعنوان مثال، تعیین uid= برای CIFS شیوه مناسبی است، زیرا با کاربر root سوار میشود و در غیر این صورت فایلها را به جای کاربری که وارد شده است، متعلق به root نشان میدهد.
- <fd0ssh>program...</fd0ssh>
- برنامه fd0ssh ترفندی پیرامون OpenSSH است که اساساً باعث میشود تا گذرواژهها را از ورودی استاندارد (stdin) بخواند، هرچند OpenSSH معمولاً چنین کاری نمیکند.
- <fsck>fsck -p %(FSCKTARGET)</fsck>
- در صورت تنظیم این برنامه، حجمهای محلی پیش از سوار شدن بررسی خواهند شد.
- <ofl>ofl -k%(SIGNAL) %(MNTPT)</ofl>
- برنامه Open File Lister برای شناسایی فرآیندهایی استفاده میشود که از فایلهای درون زیردایرکتوری دادهشده استفاده میکنند، و در صورت تمایل سیگنالی به آن فرآیندها ارسال میکند.
- <pmvarrun>pmvarrun ...</pmvarrun>
- برنامه pmvarrun(8) برنامهای مجزا برای مدیریت شمارنده ارجاع است که نشستهای کاربر را ردیابی میکند.
برنامههای سوار کردن (Mount programs)
دستوراتی برای سوار کردن و پیاده کردن حجمها. آنها میتوانند همانطور که نشان داده شده پارامترها را دریافت کنند. میتوانید مسیرهای مطلق یا نسبی مشخص کنید که در حالت دوم متغیر PATH جستجو خواهد شد. از آنجا که برنامههای ورود مقادیر PATH پیشفرض متفاوتی دارند، pam_mount تعریف مسیر مخصوص به خود را دارد (به بالا مراجعه کنید).
- <lclmount>mount -t %(FSTYPE) ...</lclmount>
- برنامه معمولی سوار کردن.
- <umount>umount %(MNTPT)</umount>
- مگر اینکه یک برنامه umount اختصاصی برای یک نوع سیستمفایل معین وجود داشته باشد، از برنامه معمولی umount استفاده خواهد شد.
- لینوکس از پیادهسازی تنبل (lazy unmounting) با استفاده از `/sbin/umount -l` پشتیبانی میکند. این ممکن است برای حجمهای رمزنگاریشده خطرناک باشد زیرا دستگاه زیرین از حالت نگاشت خارج نمیشود (unmapped). دستگاههای Loopback نیز تحت تأثیر این موضوع هستند (وقتی فایلها هنوز باز هستند از حالت نگاشت خارج نمیشوند). همچنین پیادهسازی حجمهای SMB باید روی %(MNTPT) فراخوانی شود و نه %(VOLUME).
دستوراتی برای برنامههای مختلف سوار کردن. همه آنها ابزار کمکی اختصاصی umount ندارند زیرا برخی به آن نیاز ندارند.
- <cifsmount>mount.cifs ...</cifsmount>
- <cryptmount>mount.crypt ...</cryptmount>
- <cryptumount>umount.crypt %(MNTPT)</cryptumount>
- برنامههای کمکی سوار کردن برای حجمهای dm-crypt و LUKS.
- <fusemount>mount.fuse ...</fusemount>
- <fuseumount>fuserumount ...</fuseumount>
- <ncpmount>ncpmount ...</ncpmount>
- <ncpumount>ncpumount ...</ncpumount>
- <nfsmount>mount %(SERVER):%(VOLUME) ...</nfsmount>
- <smbmount>smbmount ...</smbmount>
- <smbumount>smbumount ...</smbumount>
پیامها (Messages)
- <msg-authpw>pam_mount password:</msg-authpw>
- هنگامی که pam_mount نتواند گذرواژهای را از طریق PAM دریافت کند، یا از ابتدا طوری پیکربندی شده باشد که این کار را نکند و برای درخواست تعاملی گذرواژه بهعنوان جایگزین تنظیم شده باشد، این اعلان (prompt) نمایش داده خواهد شد.
- <msg-sessionpw>reenter...:</msg-sessionpw>
- در صورتی که بلوک PAM مربوط به 'session' گذرواژه را نداشته باشد (مثلاً هنگام اجرای su از ریشه به کاربر)، دوباره درخواست خواهد کرد. این اعلان نیز میتواند سفارشی شود.
کنترل گسترده کاربر (Extended user control)
گاهی اوقات، مشخصههای کنترل ساده کاربر برای عنصر <volume> کافی نیستند؛ در شرایطی که ممکن است فرد بخواهد عبارات پیچیدهتری را در مورد اینکه حجم بر چه کسی اعمال میشود بسازد. به جای مشخصهها، کنترل گسترده کاربر با استفاده از عناصر اضافی درون <volume> تنظیم میشود، بهعنوان مثال:
<volume path="/dev/shm" mountpoint="~"> <and> <sgrp>students</sgrp> <not> <sgrp>profs</sgrp> </not> </and> </volume>
که به (students && !profs) تعبیر میشود.
عملگرهای منطقی (Logical operators)
- <and><elements>*</and>
- تمام عناصر درون این عنصر بهصورت منطقی با هم AND میشوند. هر تعداد عنصری میتواند قرار گیرد.
- <or><elements>*</or>
- تمام عناصر درون این عنصر بهصورت منطقی با هم OR میشوند. هر تعداد عنصری میتواند قرار گیرد.
- <xor><elements>{2}</xor>
- دو عنصر درون <xor> بهصورت منطقی با هم XOR میشوند.
- <not><element></not>
- تکعنصر درون <not> بهصورت منطقی نقیض (NOT) میشود.
انتخاب کاربر (User selection)
- <user>username</user>
- تطبیق با نام کاربری دادهشده.
- <uid>number</uid> یا <uid>number-number</uid>
- تطبیق UID کاربری که وارد میشود با یک UID یا بازهای از UID.
- <gid>number</gid> یا <gid>number-number</gid>
- تطبیق گروه اصلی کاربری که وارد میشود با یک GID یا بازهای از GID.
- <pgrp>groupname</pgrp>
- بررسی میکند که آیا کاربری که وارد میشود groupname را بهعنوان گروه اصلی دارد یا خیر.
- <sgrp>groupname</sgrp>
- بررسی میکند که آیا کاربری که وارد میشود عضوی از گروه دادهشده با name هست یا خیر (یعنی چه گروه اصلی باشد چه گروه ثانویه).
مشخصهها (Attributes)
- icase="yes" یا icase="no"
- مشخصه icase میتواند روی <user>، <pgrp> و <sgrp> برای فعال کردن (یا غیرفعال کردن) تطبیق غیرحساس به بزرگی و کوچکی حروف استفاده شود. مقدار پیشفرض آن "no" است.
- regex="yes" (یا no)
- مشخصه regex میتواند روی <user>، <pgrp> و <sgrp> استفاده شود تا تفسیر محتوای متنی تگ را بهعنوان الگوی عبارات منظم سازگار با پرل (PCRE) فعال کند. این مشخصه میتواند با "icase" (به بالا مراجعه کنید) ترکیب شود. مثال: <user regex="yes">joe</user> با هر کاربری که توالی حروف "joe" را در هر کجای نام کاربری خود داشته باشد مطابقت پیدا میکند. بنابراین، از قابلیت regex با احتیاط استفاده کنید و افزودن لنگرهای ^ و $ را برای محدود کردن غافلگیریهای امنیتی مد نظر قرار دهید. مثال: <user regex="yes">^.*joe.*$</user> اگر واقعاً میخواستید توالی را در هر موقعیتی مطابقت دهید.
مثالها (EXAMPLES)
به یاد داشته باشید که ~ میتواند در مشخصه mountpoint برای اشاره به دایرکتوری خانگی به صورتی که از طریق getpwent(3) قابل دریافت است، استفاده شود.
sshfs و ccgfs
مشخص نکردن هیچ مسیری پس از دونقطه (:) از مسیری استفاده میکند که ssh شما را در آن قرار میدهد، که معمولاً دایرکتوری خانگی است. با نصب fd0ssh (از بسته hxtools):
<volume fstype="fuse" path="sshfs#%(USER)@fileserver:" mountpoint="~" ssh="1" />
بدون fd0ssh:
<volume fstype="fuse" path="sshfs#%(USER)@fileserver:" mountpoint="~" options="nosuid,nodev,noatime,reconnect,nonempty,allow_other,default_permissions,password_stdin" ssh="0" noroot="0" />
<volume fstype="fuse" path="ccgfs-ssh-pull#%(USER)@host:directory" mountpoint="~" />
توجه داشته باشید که گزینه "password_stdin" در sshfs تلاش میکند تا رشته "assword" را در خروجی ssh پیدا کند، در حالی که fd0ssh از رابط برنامهنویسی "askpass" استفاده میکند که ممکن است با کلیدهای SSH محافظتشده با عبارت عبور (passphrase) که اعلان آنها کاملاً متفاوت است نیز کار کند.
نسخههای 1.4.x و بالاتر encfs
<volume fstype="fuse" path="encfs#/crypto/%(USER)" mountpoint="~" options="nonempty" />
(نسخه 1.3 در encfs دیگر پشتیبانی نمیشود.)
سوار کردنهای NFS
<volume fstype="nfs" server="fileserver" path="/home/%(USER)" mountpoint="~" />
سوار کردنهای CIFS
<volume user="user" fstype="cifs" server="krueger" path="public" mountpoint="/home/user/krueger" />
سوار کردنهای Bind
این مورد میتواند در ترکیب با pam_chroot مفید واقع شود:
<volume path="/bin" mountpoint="~/bin" options="bind" />
سوار کردنهای tmpfs
سوار کردن tmpfs ناپایدار با اندازه محدود (با تشکر از Mike Hommey برای این مثال):
<volume user="test" fstype="tmpfs" mountpoint="/home/test" options="size=10M,uid=%(USER),mode=0700" />
حجمهای dm-crypt
سوار کردنهای Crypt نیاز به هستهای دارند که CONFIG_BLK_DEV_DM و CONFIG_DM_CRYPT در آن فعال باشد، و همچنین تمام الگوریتمهای رمزنگاری که قرار است استفاده شوند، مانند CONFIG_CRYPTO_AES، CONFIG_CRYPTO_BLOWFISH، CONFIG_CRYPTO_TWOFISH.
<volume path="/home/%(USER).img" mountpoint="~" cipher="aes-cbc-essiv:sha256" fskeycipher="aes-256-cbc" fskeyhash="sha1" fskeypath="/home/%(USER).key" />
حجمهای LUKS
<volume path="/home/%(USER).img" mountpoint="~" cipher="aes-cbc-essiv:sha256" />
volume path="/home/%(USER).img" mountpoint="~" header="/home/%(USER)-header.img" />
حجمهای cryptoloop
رمزنگاری cryptoloop بهطور صریح توسط pam_mount پشتیبانی نمیشود. به نقل از متن راهنمای پیکربندی هسته لینوکس: "WARNING: This device [cryptoloop] is not safe for journal[l]ed filesystems[...]. Please use the Device Mapper [dm-crypt] module instead."
دایرکتوری خانگی رمزنگاریشده OpenBSD
مثال دایرکتوری خانگی رمزنگاریشده OpenBSD:
<volume path="/home/user.img" mountpoint="/home/user" options="svnd0" />
| 2025-10-30 | pam_mount 2.22 |