.\" $OpenBSD: doas.conf.5,v 1.45 2020/10/09 10:24:33 jmc Exp $ .\" .\"Copyright (c) 2015 Ted Unangst .\" .\"Permission to use, copy, modify, and distribute this software for any .\"purpose with or without fee is hereby granted, provided that the above .\"copyright notice and this permission notice appear in all copies. .\" .\"THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\"WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\"MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\"ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\"ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\"OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .Dd $Mdocdate: October 9 2020 $ .Dt DOAS.CONF 5 .Os .Sh "نام (NAME)" .Nm doas.conf .Nd فایل پیکربندی doas .Sh "توضیحات (DESCRIPTION)" ابزار .Xr doas 1 دستورها را با هویت سایر کاربران بر اساس قواعد تعریف‌شده در فایل پیکربندی .Nm اجرا می‌کند. .Pp قواعد دارای قالب زیر هستند: .Bd -ragged -offset indent .Ic permit Ns | Ns Ic deny .Op Ar options .Ar identity .Op Ic as Ar target .Op Ic cmd Ar command Op Ic args No ... .Ed .Pp قواعد از بخش‌های زیر تشکیل شده‌اند: .Bl -tag -width 11n .It Ic permit Ns | Ns Ic deny عملیاتی که در صورت تطابق این قاعده باید انجام شود. .It Ar options گزینه‌ها عبارتند از: .Bl -tag -width keepenv .It Ic nopass کاربر ملزم به وارد کردن گذرواژه نیست. .It Ic nolog اجرای موفقیت‌آمیز دستور در .Xr syslogd 8 ثبت نشود. .It Ic persist پس از آنکه کاربر با موفقیت احراز هویت شد، تا مدتی دوباره از او گذرواژه خواسته نشود. .It Ic keepenv متغیرهای محیطی، غیر از موارد فهرست‌شده در .Xr doas 1 ، هنگام ایجاد محیط برای فرآیند جدید حفظ شوند. .It Ic setenv { Oo Ar variable ... Oc Oo Ar variable=value ... Oc Ic } متغیرهای مشخص‌شده را که با فاصله از هم جدا شده‌اند، حفظ یا تنظیم کند. همچنین می‌توان متغیرها را با پیشوند .Sq \- حذف کرد یا با استفاده از ساختار دوم مقداردهی نمود. اگر نویسه نخست .Ar value برابر با .Ql $ باشد، مقداری که تنظیم می‌شود از متغیر محیطیِ موجود با همین نام گرفته خواهد شد. این گزینه پس از ایجاد محیط پیش‌فرض پردازش می‌شود. .El .It Ar identity نام کاربری مورد نظر برای تطابق. گروه‌ها را می‌توان با قرار دادن یک دونقطه .Pq Sq \&: در ابتدای نام مشخص کرد. شناسه‌های عددی نیز پذیرفته می‌شوند. .It Ic as Ar target کاربر مقصدی که کاربر اجراکننده مجاز است دستور را با هویت او اجرا کند. حالت پیش‌فرض تمام کاربران است. .It Ic cmd Ar command دستوری که کاربر مجاز یا غیرمجاز به اجرای آن است. حالت پیش‌فرض تمام دستورها است. توجه داشته باشید که بهتر است مسیرهای مطلق مشخص شوند. اگر یک مسیر نسبی مشخص شود، تنها یک متغیر .Ev PATH محدود جستجو خواهد شد. .It Ic args Op Ar argument ... آرگومان‌های دستور. آرگومان‌های ارائه‌شده برای دستور توسط کاربر باید با موارد مشخص‌شده مطابقت داشته باشند. کلیدواژه .Ic args به‌تنهایی به این معناست که دستور باید بدون هیچ آرگومانی اجرا شود. .El .Pp آخرین قاعده منطبق، اقدام انجام‌شده را تعیین می‌کند. اگر هیچ قاعده‌ای مطابقت نداشته باشد، اقدام رد (denied) می‌شود. .Pp توضیحات (کامنت‌ها) را می‌توان با استفاده از علامت هش .Pq Sq # در هر کجای فایل قرار داد، و تا انتهای خط جاری امتداد می‌یابند. .Pp قواعد نقل‌قول زیر اعمال می‌شوند: .Bl -dash .It متن میان یک جفت علامت نقل‌قول دوتایی .Pq Sq \&" دقیقاً همان‌گونه که هست در نظر گرفته می‌شود. .It نویسه اسلش وارونه (بک‌اسلش) .Pq Sq \e نویسه بعدی، از جمله نویسه‌های خط جدید را در خارج از توضیحات اسکیپ می‌کند؛ در نتیجه، توضیحات نمی‌توانند در چندین خط امتداد یابند. .It اگر در یک کلمه از نقل‌قول یا بک‌اسلش استفاده شود، آن کلمه به عنوان کلیدواژه در نظر گرفته نمی‌شود. .El .Sh "فایل‌ها (FILES)" .Bl -tag -width /etc/examples/doas.conf -compact .It Pa /etc/doas.conf فایل پیکربندی .Xr doas 1 . .It Pa /etc/examples/doas.conf نمونه فایل پیکربندی. .El .Sh "مثال‌ها (EXAMPLES)" مثال زیر به کاربر aja اجازه می‌دهد بسته‌ها را از یک مخزن آینه‌ای ترجیحی نصب کند؛ به گروه wheel اجازه می‌دهد دستورها را با هویت هر کاربری اجرا کند و در عین حال متغیرهای محیطی .Ev PS1 و .Ev SSH_AUTH_SOCK را حفظ کرده و متغیر .Ev ENV را حذف کند؛ به tedu اجازه می‌دهد procmap را بدون گذرواژه با دسترسی ریشه (root) اجرا کند؛ و همچنین به root اجازه می‌دهد دستورهای نامحدود را با هویت خودش اجرا کند در حالی که متغیر اصلی PATH را حفظ می‌نماید. .Bd -literal -offset indent permit persist setenv { PKG_CACHE PKG_PATH } aja cmd pkg_add permit setenv { -ENV PS1=$DOAS_PS1 SSH_AUTH_SOCK } :wheel permit nopass tedu as root cmd /usr/sbin/procmap permit nopass keepenv setenv { PATH } root as root .Ed .Sh "همچنین ببینید (SEE ALSO)" .Xr doas 1 , .Xr syslogd 8 .Sh "تاریخچه (HISTORY)" فایل پیکربندی .Nm نخستین بار در .Ox 5.8 ظاهر شد. .Sh "نویسندگان (AUTHORS)" .An Ted Unangst Aq Mt tedu@openbsd.org