.\" Automatically generated from an mdoc input file. Do not edit. .\" Automatically generated from the visudo.mdoc.in file. Do not edit. .\" .\" SPDX-License-Identifier: ISC .\" .\" Copyright (c) 1996,1998-2005, 2007-2023 .\" Todd C. Miller .\" .\" 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. .\" .\" Sponsored in part by the Defense Advanced Research Projects .\" Agency (DARPA) and Air Force Research Laboratory, Air Force .\" Materiel Command, USAF, under agreement number F39502-99-1-0512. .\" .TH "VISUDO" "8" "July 27, 2023" "Sudo 1.9.17p2" "راهنمای مدیر سیستم (System Manager's Manual)" .nh .if n .ad l .SH "نام (NAME)" visudo \- ویرایش امن فایل sudoers .SH "خلاصه دستور (SYNOPSIS)" .HP 7n \fBvisudo\fR [\fB\-chIOPqsV\fR] [[\fB\-f\fR]\ \fIsudoers\fR] .SH "توضیحات (DESCRIPTION)" دستور \fBvisudo\fR فایل \fIsudoers\fR را به شیوه‌ای امن و مشابه vipw(8) ویرایش می‌کند. \fBvisudo\fR فایل \fIsudoers\fR را در برابر چندین ویرایش هم‌زمان قفل می‌کند، بررسی‌های اعتبارسنجی اولیه را انجام می‌دهد و پیش از نصب فایل ویرایش‌شده، خطاهای نحوی را بررسی می‌کند. اگر فایل \fIsudoers\fR در حال حاضر توسط کاربر دیگری در حال ویرایش باشد، پیامی دریافت خواهید کرد مبنی بر اینکه بعداً دوباره تلاش کنید. .PP اگر فایل \fIsudoers\fR وجود نداشته باشد، ایجاد خواهد شد؛ مگر اینکه ویرایشگر بدون ذخیره و نوشتن در فایل خارج شود. .PP \fBvisudo\fR فایل \fIsudoers\fR را پس از ویرایش تجزیه می‌کند و در صورت وجود خطای نحوی، تغییرات را ذخیره نخواهد کرد. به محض یافتن خطا، \fBvisudo\fR پیامی مبنی بر شماره خط یا خطوطی که خطا در آن‌ها رخ داده است چاپ می‌کند و کاربر اعلان \(lqWhat now?\(rq (اکنون چه کار کنیم؟) را دریافت خواهد کرد. در این مرحله کاربر می‌تواند با وارد کردن \(oqe\(cq فایل \fIsudoers\fR را دوباره ویرایش کند، با وارد کردن \(oqx\(cq بدون ذخیره تغییرات خارج شود، یا با وارد کردن \(oqQ\(cq خارج شده و تغییرات را ذخیره کند. گزینه \(oqQ\(cq باید با احتیاط بسیار زیاد استفاده شود؛ زیرا اگر \fBvisudo\fR معتقد باشد خطای نحوی وجود دارد، \fBsudo\fR نیز دقیقاً همین‌طور فکر خواهد کرد. اگر پس از تشخیص خطای نحوی، برای ویرایش مجدد فایل \fIsudoers\fR کلید \(oqe\(cq فشرده شود، مکان‌نما روی خطی که خطا در آن رخ داده است قرار می‌گیرد (در صورتی که ویرایشگر از این ویژگی پشتیبانی کند). .PP دو تنظیم در \fIsudoers\fR وجود دارد که مشخص می‌کند \fBvisudo\fR کدام ویرایشگر را اجرا کند: .TP 12n editor فهرستی از ویرایشگرهای مجاز برای استفاده با \fBvisudo\fR که با دونقطه (\(oq:\&\(cq) از هم جدا شده‌اند. \fBvisudo\fR ویرایشگری را انتخاب می‌کند که با متغیر محیطی \fRSUDO_EDITOR\fR، \fRVISUAL\fR یا \fREDITOR\fR کاربر مطابقت داشته باشد (در صورت امکان)، وگرنه اولین ویرایشگر موجود و قابل‌اجرا در فهرست را انتخاب می‌کند. دستور \fBsudo\fR متغیرهای محیطی \fRSUDO_EDITOR\fR، \fRVISUAL\fR یا \fREDITOR\fR را حفظ نمی‌کند، مگر اینکه در فهرست \fIenv_keep\fR حضور داشته باشند یا گزینه \fIenv_reset\fR در فایل \fIsudoers\fR غیرفعال شده باشد. مسیر ویرایشگر پیش‌فرض در زمان کامپایل از طریق گزینه پیکربندی \fR\--with-editor\fR تنظیم می‌شود. .TP 12n env_editor در صورت تنظیم بودن، \fBvisudo\fR پیش از رجوع به فهرست پیش‌فرض ویرایشگرها، از مقدار متغیرهای محیطی \fRSUDO_EDITOR\fR، \fRVISUAL\fR یا \fREDITOR\fR استفاده می‌کند. از آنجا که \fBvisudo\fR معمولاً به عنوان کاربر ریشه (root) اجرا می‌شود، این گزینه ممکن است به کاربری با امتیازات \fBvisudo\fR اجازه دهد دستورات دلخواه را بدون ثبت وقایع به عنوان کاربر ریشه اجرا کند. یک راهکار جایگزین این است که فهرستی از ویرایشگرهای \(lqامن\(rq (safe) که با دونقطه از هم جدا شده‌اند در متغیر \fIeditor\fR قرار داده شود. در این صورت \fBvisudo\fR تنها در صورتی از متغیرهای \fRSUDO_EDITOR\fR، \fRVISUAL\fR یا \fREDITOR\fR استفاده می‌کند که با مقداری مشخص‌شده در \fIeditor\fR مطابقت داشته باشند. اگر فلگ \fIenv_reset\fR فعال باشد، هنگام فراخوانی \fBvisudo\fR از طریق \fBsudo\fR، متغیرهای محیطی \fRSUDO_EDITOR\fR، \fRVISUAL\fR و/یا \fREDITOR\fR باید در فهرست \fIenv_keep\fR موجود باشند تا فلگ \fIenv_editor\fR کار کند. مقدار پیش‌فرض \fIon\fR است که می‌تواند در زمان کامپایل از طریق گزینه پیکربندی \fR\--with-env-editor\fR تنظیم شود. .SH "گزینه‌ها (OPTIONS)" گزینه‌ها به شرح زیر هستند: .TP 8n \fB\-c\fR, \fB\--check\fR حالت \fIcheck-only\fR (فقط بررسی) را فعال می‌کند. فایل موجود \fIsudoers\fR (و هر فایل مشمول‌شده در آن) برای خطاهای نحوی بررسی می‌شود. اگر مسیر فایل \fIsudoers\fR مشخص نشده باشد، \fBvisudo\fR همچنین مالکیت و مجوزهای دسترسی فایل را نیز بررسی می‌کند (گزینه‌های \fB\-O\fR و \fB\-P\fR را ببینید). پیامی در خروجی استاندارد چاپ می‌شود که وضعیت \fIsudoers\fR را شرح می‌دهد، مگر اینکه گزینه \fB\-q\fR مشخص شده باشد. اگر بررسی با موفقیت به پایان برسد، \fBvisudo\fR با مقدار 0 خارج می‌شود. در صورت بروز خطا، \fBvisudo\fR با مقدار 1 خارج خواهد شد. .TP 8n \fB\-f\fR \fIsudoers\fR, \fB\--file\fR=\fIsudoers\fR مکان فایل \fIsudoers\fR دیگری را مشخص می‌کند؛ در زیر ببینید. از نسخه 1.8.27 به بعد، مسیر فایل \fIsudoers\fR را می‌توان بدون استفاده از گزینه \fB\-f\fR نیز مشخص کرد. .TP 8n \fB\-h\fR, \fB\--help\fR نمایش یک پیام راهنمای کوتاه در خروجی استاندارد و خروج. .TP 8n \fB\-I\fR, \fB\--no-includes\fR ویرایش فایل‌های مشمول‌شده (include files) را غیرفعال می‌کند، مگر اینکه یک خطای نحوی از قبل در آن‌ها وجود داشته باشد. به‌طور پیش‌فرض، \fBvisudo\fR فایل اصلی \fIsudoers\fR و هر فایل مشمول‌شده از طریق دستورالعمل‌های \fI@include\fR یا \fI#include\fR را ویرایش می‌کند. فایل‌های مشمول‌شده از طریق دستورالعمل‌های \fI@includedir\fR یا \fI#includedir\fR هرگز ویرایش نمی‌شوند، مگر اینکه حاوی یک خطای نحوی باشند. .TP 8n \fB\-O\fR, \fB\--owner\fR اعمال مالکیت پیش‌فرض (کاربر و گروه) بر فایل \fIsudoers\fR. در حالت ویرایش، مالک فایل ویرایش‌شده روی مقدار پیش‌فرض تنظیم می‌شود. در حالت بررسی (\fB\-c\fR)، اگر مالک نادرست باشد یک خطا گزارش داده می‌شود. اگر فایل \fIsudoers\fR مشخص نشده باشد، این گزینه به‌طور پیش‌فرض فعال است. .TP 8n \fB\-P\fR, \fB\--perms\fR اعمال مجوزهای دسترسی پیش‌فرض (mode) بر فایل \fIsudoers\fR. در حالت ویرایش، مجوزهای فایل ویرایش‌شده روی مقدار پیش‌فرض تنظیم می‌شود. در حالت بررسی (\fB\-c\fR)، اگر مجوزهای دسترسی فایل نادرست باشد یک خطا گزارش داده می‌شود. اگر فایل \fIsudoers\fR مشخص نشده باشد، این گزینه به‌طور پیش‌فرض فعال است. .TP 8n \fB\-q\fR, \fB\--quiet\fR حالت \fIquiet\fR (بی‌صدا) را فعال می‌کند. در این حالت جزئیات مربوط به خطاهای نحوی چاپ نمی‌شود. این گزینه فقط در ترکیب با گزینه \fB\-c\fR کاربرد دارد. .TP 8n \fB\-s\fR, \fB\--strict\fR بررسی \fIstrict\fR (سخت‌گیرانه) فایل \fIsudoers\fR را فعال می‌کند. اگر به یک نام مستعار (alias) ارجاع داده شده باشد اما در واقع تعریف نشده باشد، یا اگر چرخه‌ای (cycle) در یک نام مستعار وجود داشته باشد، \fBvisudo\fR آن را یک خطای نحوی در نظر می‌گیرد. امکان تمایز قائل شدن بین یک نام مستعار و نام میزبان یا نام کاربری که صرفاً از حروف بزرگ، ارقام و کاراکتر زیرخط (\(oq_\(cq) تشکیل شده باشد وجود ندارد. .TP 8n \fB\-V\fR, \fB\--version\fR نسخه‌های نگارش دستور \fBvisudo\fR و گرامر \fIsudoers\fR را چاپ کرده و خارج می‌شود. .PP می‌توان یک فایل \fIsudoers\fR دیگر را به جای فایل پیش‌فرض، \fI/etc/sudoers\fR، مشخص کرد. فایل موقت مورد استفاده، همان فایل \fIsudoers\fR مشخص‌شده است که عبارت \(lq\.tmp\(rq به انتهای آن افزوده می‌شود. تنها در حالت \fIcheck-only\fR (فقط بررسی)، می‌توان از \(oq-\(cq استفاده کرد تا مشخص شود که \fIsudoers\fR از ورودی استاندارد خوانده خواهد شد. از آنجا که خط‌مشی به طور کامل و سراسری ارزیابی می‌شود، بررسی مجزای یک فایل مشمول‌شده \fIsudoers\fR برای خطاهای نحوی کافی نیست. .SS "اشکال‌زدایی و آرگومان‌های افزونه sudoers" نسخه‌های 1.8.4 و بالاتر \fBvisudo\fR از یک چارچوب اشکال‌زدایی انعطاف‌پذیر پشتیبانی می‌کنند که از طریق خطوط \fIDebug\fR در فایل sudo.conf(5) پیکربندی می‌شود. .PP با شروع از \fBsudo\fR 1.8.12، دستور \fBvisudo\fR همچنین آرگومان‌های افزونه \fIsudoers\fR را تجزیه می‌کند تا نام مسیر پیش‌فرض \fIsudoers\fR، شناسه کاربری (user-ID)، شناسه گروه (group-ID) و حالت دسترسی فایل (file mode) را بازنویسی کند. این آرگومان‌ها، در صورت وجود، باید پس از مسیر افزونه (یعنی پس از \fIsudoers.so\fR) فهرست شوند. می‌توان چندین آرگومان را با فاصله از یکدیگر مشخص کرد. برای مثال: .nf .sp .RS 4n Plugin sudoers_policy sudoers.so sudoers_mode=0400 .RE .fi .PP آرگومان‌های زیر پشتیبانی می‌شوند: .TP 6n sudoers_file=pathname آرگومان \fIsudoers_file\fR می‌تواند برای جایگزینی مسیر پیش‌فرض فایل \fIsudoers\fR استفاده شود. .TP 6n sudoers_uid=user-ID آرگومان \fIsudoers_uid\fR می‌تواند برای جایگزینی مالک پیش‌فرض فایل sudoers استفاده شود. این آرگومان باید به عنوان یک شناسه کاربری عددی مشخص شود. .TP 6n sudoers_gid=group-ID آرگومان \fIsudoers_gid\fR می‌تواند برای جایگزینی گروه پیش‌فرض فایل sudoers استفاده شود. این آرگومان باید به عنوان یک شناسه گروه عددی (نه نام گروه) مشخص شود. .TP 6n sudoers_mode=mode آرگومان \fIsudoers_mode\fR می‌تواند برای جایگزینی حالت پیش‌فرض فایل sudoers استفاده شود. این آرگومان باید به صورت یک مقدار در مبنای هشت (اکتال) مشخص شود. .PP برای اطلاعات بیشتر در مورد پیکربندی sudo.conf(5)، به صفحه راهنمای آن مراجعه کنید. .SH "محیط (ENVIRONMENT)" بسته به مقدار تنظیمات \fIeditor\fR و \fIenv_editor\fR در \fIsudoers\fR، ممکن است متغیرهای محیطی زیر بررسی شوند: .TP 17n \fRSUDO_EDITOR\fR توسط \fBvisudo\fR به عنوان ویرایشگر مورد استفاده فراخوانی می‌شود .TP 17n \fRVISUAL\fR در صورتی که \fRSUDO_EDITOR\fR تنظیم نشده باشد، توسط \fBvisudo\fR استفاده می‌شود .TP 17n \fREDITOR\fR در صورتی که نه \fRSUDO_EDITOR\fR و نه \fRVISUAL\fR تنظیم نشده باشند، توسط \fBvisudo\fR استفاده می‌شود .SH "فایل‌ها (FILES)" .TP 26n \fI/etc/sudo.conf\fR پیکربندی پیشانه (front-end) دستور Sudo .TP 26n \fI/etc/sudoers\fR فهرست اینکه چه کسی چه دستوری را می‌تواند اجرا کند .TP 26n \fI/etc/sudoers.tmp\fR فایل موقت پیش‌فرض استفاده‌شده توسط visudo .SH "پیام‌های تشخیصی (DIAGNOSTICS)" علاوه بر گزارش خطاهای نحوی \fIsudoers\fR، دستور \fBvisudo\fR ممکن است پیام‌های زیر را تولید کند: .TP 4n sudoers file busy, try again later. شخص دیگری در حال حاضر در حال ویرایش فایل \fIsudoers\fR است. .TP 4n /etc/sudoers: Permission denied شما \fBvisudo\fR را به عنوان کاربر ریشه (root) اجرا نکرده‌اید. .TP 4n you do not exist in the passwd database شناسه کاربری شما در پایگاه‌داده passwd سیستم وجود ندارد. .TP 4n Warning: {User,Runas,Host,Cmnd}_Alias referenced but not defined یا در تلاش برای استفاده از یک {User,Runas,Host,Cmnd}_Alias تعریف‌نشده هستید، یا یک نام کاربری یا نام میزبان در لیست دارید که صرفاً از حروف بزرگ، ارقام و کاراکتر زیرخط (\(oq_\(cq) تشکیل شده است. در حالت دوم، می‌توانید هشدارها را نادیده بگیرید (زیرا \fBsudo\fR ایرادی نخواهد گرفت). این پیام با نام مسیر فایل \fIsudoers\fR و شماره خطی که نام مستعار تعریف‌نشده در آن استفاده شده، پیشوندگذاری می‌شود. در حالت \fB\-s\fR (strict یا سخت‌گیرانه)، این موارد خطا محسوب می‌شوند، نه هشدار. .TP 4n Warning: unused {User,Runas,Host,Cmnd}_Alias مقدار مشخص‌شده برای {User,Runas,Host,Cmnd}_Alias تعریف شده اما هرگز استفاده نشده است. این پیام با نام مسیر فایل \fIsudoers\fR و شماره خطی که نام مستعار استفاده‌نشده در آن تعریف شده، پیشوندگذاری می‌شود. ممکن است بخواهید نام مستعار استفاده‌نشده را کامنت کرده یا حذف کنید. .TP 4n Warning: cycle in {User,Runas,Host,Cmnd}_Alias مقدار مشخص‌شده برای {User,Runas,Host,Cmnd}_Alias شامل ارجاعی به خودش است، چه به طور مستقیم یا از طریق یک نام مستعار که در آن گنجانده شده است. این پیام با نام مسیر فایل \fIsudoers\fR و شماره خطی که چرخه در آن شناسایی شده، پیشوندگذاری می‌شود. این مورد صرفاً یک هشدار است، مگر اینکه \fBvisudo\fR در حالت \fB\-s\fR (سخت‌گیرانه) اجرا شود؛ زیرا \fBsudo\fR هنگام تجزیه فایل \fIsudoers\fR چرخه‌ها را نادیده می‌گیرد. .TP 4n ignoring editor backup file هنگام پردازش یک \fI@includedir\fR یا \fI#includedir\fR، فایلی یافت شد که نام آن به \(oq~\(cq یا \fI.bak\fR ختم می‌شود. چنین فایل‌هایی توسط \fBsudo\fR و \fBvisudo\fR نادیده گرفته می‌شوند. .TP 4n ignoring file name containing '.' هنگام پردازش یک \fI@includedir\fR یا \fI#includedir\fR، فایلی یافت شد که نام آن حاوی نویسه \(oq.\&\(cq است. چنین فایل‌هایی توسط \fBsudo\fR و \fBvisudo\fR نادیده گرفته می‌شوند. .TP 4n unknown defaults entry \&"name\&" فایل \fIsudoers\fR حاوی یک تنظیم \fIDefaults\fR است که توسط \fBvisudo\fR شناخته نمی‌شود. .SH "همچنین ببینید (SEE ALSO)" vi(1), sudo.conf(5), sudoers(5), sudo(8), vipw(8) .SH "نویسندگان (AUTHORS)" افراد زیادی در طول سال‌ها روی \fBsudo\fR کار کرده‌اند؛ این نسخه اساساً از کدهایی تشکیل شده که توسط افراد زیر نوشته شده است: .sp .RS 6n Todd C. Miller .RE .PP برای مشاهده فهرست جامعی از افرادی که در توسعه \fBsudo\fR مشارکت داشته‌اند، فایل CONTRIBUTORS.md را در توزیع \fBsudo\fR (https://www.sudo.ws/about/contributors) ببینید. .SH "هشدارها (CAVEATS)" اگر ویرایشگر مورد استفاده توسط \fBvisudo\fR امکان فرار به پوسته (shell escape) را فراهم کند، هیچ راه ساده‌ای برای جلوگیری از دستیابی کاربر به یک پوسته با دسترسی ریشه (root shell) وجود ندارد. .SH "گزارش باگ‌ها (BUGS)" اگر فکر می‌کنید باگی در \fBvisudo\fR پیدا کرده‌اید، می‌توانید یک گزارش باگ در پایگاه‌داده باگ sudo در https://bugzilla.sudo.ws ثبت کنید یا یک issue در https://github.com/sudo-project/sudo/issues باز کنید. اگر ترجیح می‌دهید از ایمیل استفاده کنید، پیام‌ها می‌توانند به فهرست پستی sudo-workers در https://www.sudo.ws/mailman/listinfo/sudo-workers (عمومی) یا به (خصوصی) ارسال شوند. .PP لطفاً آسیب‌پذیری‌های امنیتی را از طریق issueهای عمومی GitHub، باگزیلا یا فهرست‌های پستی گزارش ندهید. در عوض، آن‌ها را از طریق ایمیل به ارسال کنید. در صورت تمایل می‌توانید پیام خود را با استفاده از کلید موجود در https://www.sudo.ws/dist/PGPKEYS توسط PGP رمزگذاری کنید. .SH "پشتیبانی (SUPPORT)" پشتیبانی رایگان محدود از طریق فهرست پستی sudo-users در دسترس است؛ برای عضویت یا جستجو در آرشیو به https://www.sudo.ws/mailman/listinfo/sudo-users مراجعه کنید. .SH "سلب مسئولیت (DISCLAIMER)" دستور \fBvisudo\fR به صورت \(lqهمان‌طور که هست\(rq (AS IS) ارائه می‌شود و هرگونه ضمانت صریح یا ضمنی، از جمله، اما نه محدود به، ضمانت‌های ضمنی قابلیت خرید و فروش و تناسب برای یک هدف خاص سلب می‌شود. برای جزئیات کامل، فایل LICENSE.md ارائه‌شده همراه با \fBsudo\fR یا نشانی https://www.sudo.ws/about/license را ببینید.