گزینههای
زیر
پشتیبانی
میشوند:
--output=MODE
حالت
خروجی را
انتخاب
میکند. یکی
از مقادیر
"classic"، "friendly"، "table"
یا "json" را
میپذیرد.
اگر "classic"
باشد،
خروجی
بسیار شبیه
به قالب /etc/passwd یا
/etc/group تولید
میشود. اگر
"friendly" باشد،
خروجی
جامعتر،
کاربرپسند
و خوانا
برای انسان
تولید
میگردد.
اگر "table"
باشد،
خروجی به
صورت
حداقلی و
جدولی
تولید
میشود. اگر
"json" باشد،
خروجی با
قالب JSON تولید
میگردد. در
صورتی که یک
کاربر/گروه
در خط فرمان
مشخص شده
باشد،
پیشفرض "friendly"
است، و در
غیر این
صورت "table".
توجه
داشته
باشید که
اکثر
قالبهای
خروجی تمام
اطلاعات
موجود را
نشان
نمیدهند.
به ویژه،
"classic" و "table"
تنها
مهمترین
فیلدها را
نمایش
میدهند.
حالتهای
مختلف
همچنین
هشهای
گذرواژه را
نشان
نمیدهند.
از "json" برای
مشاهده همه
فیلدها، از
جمله
فیلدهای
احراز هویت
استفاده
کنید.
اضافهشده
در نسخه 245.
--json=FORMAT
حالت
خروجی JSON
(مشابه
--output=json) و
حالت دقیق
نمایش را
انتخاب
میکند. یکی
از مقادیر
"pretty" یا "short" را
میپذیرد.
اگر "pretty"
باشد،
فاصلههای
خالی و خطوط
جدیدِ
خوانا برای
انسان در
خروجی درج
میشوند تا
دادههای JSON
خواناتر
شوند. اگر "short"
باشد، تمام
فاصلههای
خالی اضافی
حذف
میشوند.
اضافهشده
در نسخه 250.
--service=SERVICE[:SERVICE...],
-s SERVICE:SERVICE...
کنترل
میکند که
کدام
سرویسها
برای
کاربران/گروهها
استعلام
شوند.
فهرستی از
یک یا چند
نام سرویس
را که با ":"
از هم جدا
شدهاند
میپذیرد.
برای
فهرستی از
نامهای
سرویس
شناختهشده
به بخشهای
زیر مراجعه
کنید. در
صورت مشخص
نشدن، تمام
سرویسهای
موجود به
طور
همزمان
استعلام
میشوند.
اضافهشده
در نسخه 245.
--with-nss=BOOL
کنترل
میکند که
آیا
جستجوهای
کلاسیک
کاربر/گروه
glibc/NSS در خروجی
گنجانده
شوند یا خیر.
اگر
--with-nss=no
استفاده
شود،
هرگونه
تلاش برای
تفکیک یا
شمارش
کاربران/گروههایی
که صرفاً از
طریق glibc NSS
ارائه
میشوند
متوقف
میگردد.
اگر
--with-nss=yes
مشخص شود،
چنین
کاربران/گروههایی
در خروجی
گنجانده
میشوند (که
حالت
پیشفرض
است).
اضافهشده
در نسخه 245.
--with-varlink=BOOL
کنترل
میکند که
آیا
جستجوهای
کاربر/گروه
Varlink در خروجی
گنجانده
شوند یا
خیر، یعنی
جستجوهایی
که از طریق
User/Group Record Lookup API via Varlink[3]
انجام
میشوند.
اگر
--with-varlink=no
استفاده
شود،
هرگونه
تلاش برای
تفکیک یا
شمارش
کاربران/گروههایی
که صرفاً از
طریق Varlink
ارائه
میشوند
متوقف
میگردد.
اگر
--with-varlink=yes
مشخص شود،
چنین
کاربران/گروههایی
در خروجی
گنجانده
میشوند (که
حالت
پیشفرض
است).
اضافهشده
در نسخه 249.
--with-dropin=BOOL
کنترل
میکند که
آیا
جستجوهای
کاربر/گروه
تعریفشده
با استفاده
از
فایلهای
تکمیلی (drop-in) در
مسیرهای /etc/userdb/,
/run/userdb/, /run/host/userdb/, /usr/lib/userdb/ در
خروجی
گنجانده
شوند یا خیر.
اگر
--with-dropin=no
استفاده
شود، این
رکوردها
نادیده
گرفته
میشوند.
اگر
--with-dropin=yes
مشخص شود،
چنین
کاربران/گروههایی
در خروجی
گنجانده
میشوند (که
حالت
پیشفرض
است).
اضافهشده
در نسخه 249.
--synthesize=BOOL
کنترل
میکند که
آیا
رکوردهایی
برای
کاربران/گروههای
root و nobody در صورتی
که به شکل
دیگری
تعریف نشده
باشند، و
همچنین
کاربران/گروهها
برای
محدوده UID
«خارجی» (foreign)
سنتز (ترکیب
و ایجاد)
شوند یا خیر.
به طور
پیشفرض (یا
با "yes")، چنین
رکوردهایی
در صورت
مفقود بودن
به طور ضمنی
سنتز
میشوند
زیرا اهمیت
ویژهای
برای
سیستمعامل
دارند. با
مقدار "no"،
این سنتز
خاموش
میشود.
اضافهشده
در نسخه 245.
-N
این
گزینه مخفف
--with-nss=no --synthesize=no است.
از این
گزینه برای
نمایش تنها
رکوردهایی
استفاده
کنید که به
صورت بومی
به عنوان
رکوردهای
کاربر یا
گروه JSON تعریف
شدهاند،
در حالی که
تمام
سازگاریهای
NSS/glibc و تمام
سنتزهای
ضمنی خاموش
شدهاند.
اضافهشده
در نسخه 245.
--multiplexer=BOOL
کنترل
میکند که
آیا
جستجوها از
طریق سرویس
تسهیمکننده
(اگر روی true
مشخص شود،
که پیشفرض
است) انجام
شود یا
جستجوها در
کلاینت
انجام شود
(اگر روی false
مشخص شود).
استفاده از
سرویس
تسهیمکننده
عموماً
ارجح است،
زیرا در یک
محیط
ایزوله و
قفلشده (sandbox)
اجرا
میشود.
اضافهشده
در نسخه 250.
--chain
هنگامی
که همراه با
دستور
ssh-authorized-keys
استفاده
شود، امکان
ارسال یک خط
فرمان
اضافی را پس
از نام
کاربر
فراهم
میکند که
پس از تکمیل
جستجو به
صورت
زنجیرهای
اجرا
میشود. این
امر اجازه
میدهد تا
چندین
ابزار که
کلیدهای
مجاز SSH را
نمایش
میدهند به
یکدیگر
زنجیر شوند.
اضافهشده
در نسخه 250.
--fuzzy, -z
هنگامی
که با دستور
user یا
group
استفاده
شود، یک
جستجوی
رشتهای
فازی
(تقریبی)
انجام
میدهد. هر
آرگومان
مشخصشده
با نام
کاربر، نام
واقعی
رکورد
کاربر،
آدرس ایمیل
و سایر
رشتههای
توصیفی
رکورد
کاربر یا
گروه تطبیق
داده
میشود.
علاوه بر
این، به جای
تطبیق
دقیق،
تطبیق
زیررشته یا
تطبیقی که
انحرافات
جزئی در
املای
کلمات را
مجاز
میداند
اعمال
میگردد.
اضافهشده
در نسخه 257.
--disposition=
هنگامی
که با دستور
user یا
group
استفاده
شود، بر
اساس
ماهیت/طبقهبندی
(disposition) رکورد
فیلتر
میکند. یکی
از مقادیر
"intrinsic"، "system"،
"regular"، "dynamic" یا
"container" را
میپذیرد.
میتواند
چندین بار
استفاده
شود، که در
این صورت
فقط
کاربرانی
که با هر یک
از
طبقهبندیهای
مشخصشده
مطابقت
داشته
باشند
نمایش داده
میشوند.
اضافهشده
در نسخه 257.
-I, -S, -R
به ترتیب
میانبرهایی
برای
--disposition=intrinsic،
--disposition=system و
--disposition=regular
هستند.
اضافهشده
در نسخه 257.
--uid-min=, --uid-max=
هنگامی
که با دستور
user یا
group
استفاده
شود، خروجی
را بر اساس
محدودههای
UID/GID فیلتر
میکند. به
ترتیب
مقادیر
عددی حداقل
یا حداکثر UID/GID
را
میپذیرد.
فقط
رکوردهای
داخل
محدوده
مشخصشده
را نمایش
میدهد.
هنگامی که
روی دستور
user
اعمال شود،
با UIDها
مطابقت
داده
میشود.
هنگامی که
روی دستور
group
اعمال شود،
با GIDها
مطابقت
داده
میشود
(علیرغم نام
سوییچ). در
صورت مشخص
نشدن،
مقدار
پیشفرض 0
(برای حداقل)
و 4294967294 (برای
حداکثر)
است، یعنی
به طور
پیشفرض
هیچ فیلتری
اعمال
نمیشود
زیرا کل
محدوده UID/GID
پوشش داده
شده است.
اضافهشده
در نسخه 257.
--uuid=
هنگامی
که با دستور
user یا
group
استفاده
شود، خروجی
را به
رکوردی با UUID
مشخصشده
محدود و
فیلتر
میکند. در
صورت مشخص
نشدن، هیچ
فیلتر
مبتنی بر UUID
اعمال
نمیشود.
اضافهشده
در نسخه 259.
--boundaries=
هنگامی
که با دستور
user یا
group
استفاده
شود، کنترل
میکند که
آیا
اطلاعات
مرزهای
مرتبط با
محدوده UID/GID در
خروجی
جدولی
نمایش داده
شود یا خیر.
یک مقدار
بولی
میپذیرد.
پیشفرض true
است.
اضافهشده
در نسخه 257.
-B
میانبری
برای
--boundaries=no
است.
اضافهشده
در نسخه 257.
--from-file=PATH, -F
هنگامی
که با دستور
user یا
group
استفاده
شود، تعریف
کاربر را با
فرمت JSON از
فایل
مشخصشده
میخواند،
به جای
اینکه آن را
از سیستم
استعلام
کند. اگر
مسیر به
صورت "-"
مشخص شود،
دادههای JSON
را از ورودی
استاندارد
میخواند.
این گزینه
برای
اعتبارسنجی
و بررسی
سریع
رکوردهای
کاربر یا
گروه JSON و
بررسی نحوه
تفسیر
آنها در
سیستم محلی
مفید است.
اضافهشده
در نسخه 258.
--no-pager
خروجی را
به یک
صفحهبند (pager)
هدایت
نمیکند.
--no-legend
راهنما
(legend)، یعنی
سرستونها
و پانویس
حاوی نکات
را چاپ
نمیکند.
-h, --help
یک متن
کوتاه
راهنما را
چاپ کرده و
خارج
میشود.
--version
یک رشته
کوتاه
مربوط به
نسخه
برنامه را
چاپ کرده و
خارج
میشود.
دستورات
زیر
پشتیبانی
میشوند:
user [USER...]
تمام
رکوردهای
کاربر
شناختهشده
را فهرست
میکند یا
جزئیات یک
یا چند
رکورد
کاربر
مشخصشده
را نمایش
میدهد. از
--output= برای
تنظیم حالت
خروجی
استفاده
کنید.
در صورت
استفاده به
همراه --from-file=
دادههای
رکورد
کاربر به
جای
استعلام از
سیستم، در
قالب JSON از
فایل
مشخصشده
خوانده
میشود.
برای
جزئیات به
بالا
مراجعه
کنید.
اضافهشده
در نسخه 245.
group [GROUP...]
تمام
رکوردهای
گروه
شناختهشده
را فهرست
میکند یا
جزئیات یک
یا چند
رکورد گروه
مشخصشده
را نمایش
میدهد. از
--output= برای
تنظیم حالت
خروجی
استفاده
کنید.
در صورت
استفاده به
همراه --from-file=
دادههای
رکورد گروه
به جای
استعلام از
سیستم، در
قالب JSON از
فایل
مشخصشده
خوانده
میشود.
برای
جزئیات به
بالا
مراجعه
کنید.
اضافهشده
در نسخه 245.
users-in-group [GROUP...]
کاربرانی
را که عضو
گروههای
مشخصشده
هستند
فهرست
میکند. اگر
هیچ گروهی
مشخص نشده
باشد، تمام
عضویتهای
کاربر/گروه
تعریفشده
را فهرست
مینماید.
از
--output= برای
تنظیم حالت
خروجی
استفاده
کنید.
اضافهشده
در نسخه 245.
groups-of-user [USER...]
گروههایی
را که
کاربران
مشخصشده
عضو آنها
هستند
فهرست
میکند. اگر
هیچ کاربری
مشخص نشده
باشد، تمام
عضویتهای
کاربر/گروه
تعریفشده
را فهرست
مینماید
(در این
حالت،
groups-of-user و
users-in-group معادل
یکدیگر
هستند). از
--output=
برای تنظیم
حالت خروجی
استفاده
کنید.
اضافهشده
در نسخه 245.
services
تمام
سرویسهایی
را که در حال
حاضر
تعاریف
کاربر/گروه
را به سیستم
ارائه
میدهند
فهرست
میکند.
برای
فهرستی از
سرویسهای
شناختهشده
ارائهدهنده
اطلاعات
کاربر به
بخشهای
زیر مراجعه
کنید.
اضافهشده
در نسخه 245.
ssh-authorized-keys
کلیدهای
مجاز SSH را
برای این
حساب نمایش
میدهد. این
دستور برای
این در نظر
گرفته شده
است که به
دیمن SSH اجازه
دهد
کلیدهای
مجاز را از
رکوردهای
کاربر
دریافت
کند، به
بخشهای
زیر مراجعه
نمایید.
اضافهشده
در نسخه 245.
load-credentials
هنگامی
که مشخص
شود،
اعتبارهای
(credentials) زیر
هنگام
ارسال مورد
استفاده
قرار
میگیرند:
userdb.user.*, userdb.group.*
این
اعتبارات
باید حاوی
رکوردهای
معتبر
JSON User[1] و
JSON
Group[2] باشند. به
ازای هر
اعتبار
منطبق،
فایلهای
مختلفی در /etc/userdb/
ایجاد
میشود که
رابط
توصیفشده
در
nss-systemd(8) را
پیادهسازی
میکند. هر
رکورد
کاربر
ارسالشده
باید شامل
فیلدهای
معتبر UID و GID
باشد. هر
رکورد گروه
ارسالشده
باید شامل
یک فیلد GID
باشد (یعنی
تخصیص
خودکار UID/GID
پشتیبانی
نمیشود).
برای هر دو
رکورد
کاربر و
گروه،
پسوند
اعتبار
(برای "userdb.user.foobar"
پسوند "foobar"
است) باید با
نام کاربر
یا گروه
کدگذاریشده
در رکورد
مطابقت
داشته باشد.
اضافهشده
در نسخه 258.
اضافهشده
در نسخه 258.
دستور userdbctl services
تمام
سرویسهای
در حال
اجرایی را
که تعاریف
کاربر یا
گروه را به
سیستم
ارائه
میدهند
فهرست
میکند.
سرویسهای
شناختهشده
زیر در میان
این فهرست
نمایش داده
میشوند:
io.systemd.DynamicUser
این
سرویس توسط
خود مدیر
سرویس
سیستم (یعنی PID
1) ارائه
میشود و
تمام
کاربرانی
را (و
گروههای
آنها را) که
از طریق
تنظیم
DynamicUser= در
فایلهای
واحد (unit)
سرویس
ایجاد
شدهاند در
دسترس
سیستم قرار
میدهد
(برای
جزئیات
درباره این
تنظیم به
systemd.exec(5) مراجعه
کنید).
اضافهشده
در نسخه 245.
io.systemd.Home
این
سرویس توسط
systemd-homed.service(8) ارائه
میشود و
تمام
کاربران (و
گروههای
آنها)
متعلق به
دایرکتوریهای
خانگی
مدیریتشده
توسط آن
سرویس را در
دسترس
سیستم قرار
میدهد.
اضافهشده
در نسخه 245.
io.systemd.Machine
این
سرویس توسط
systemd-machined.service(8) ارائه
میشود و
رکوردهایی
را برای
تمام
کاربران/گروههای
استفادهشده
توسط
کانتینری
که از فضای
نام کاربر (user
namespacing) استفاده
میکند،
سنتز
مینماید.
اضافهشده
در نسخه 246.
io.systemd.Multiplexer
این
سرویس توسط
systemd-userdbd.service(8) ارائه
میشود و
جستجوهای
کاربر/گروه
را به تمام
سرویسهای
جستجوی
دیگر در حال
اجرا تسهیم
(توزیع)
میکند. این
سرویس نقطه
ورود اصلی
برای
کلاینتهای
رکوردهای
کاربر/گروه
است، زیرا
پیادهسازی
سمت کلاینت
را به طور
اساسی ساده
میکند،
چرا که
کلاینتها
میتوانند
به جای
پرسوجو از
تمام
سرویسهای
در حال اجرا
به صورت
موازی، از
یک سرویس
واحد
استعلام
بگیرند.
userdbctl
نیز
ترجیحاً از
این سرویس
استفاده
میکند،
مگر اینکه
--with-nss= یا
--service=
استفاده
شوند که در
این صورت
کنترل
دقیقتری
بر روی
سرویسهای
هدف مورد
نیاز است.
اضافهشده
در نسخه 245.
io.systemd.NameServiceSwitch
این
سرویس (نیز)
توسط
systemd-userdbd.service(8)
ارائه
میشود و
رکوردهای
کلاسیک
کاربر و
گروه NSS/glibc را به
رکوردهای
کاربر/گروه JSON
تبدیل
میکند و
سازگاری
کامل رو به
عقب را
فراهم
میسازد.
برای
غیرفعال
کردن این
سازگاری از
--with-nss=no استفاده
کنید، به
بالا
مراجعه
نمایید.
توجه داشته
باشید که
این
سازگاری در
واقع در هر
دو جهت
فراهم شده
است:
nss-systemd(8) به
طور خودکار
رکوردهای
کاربر/گروه
کلاسیک NSS/glibc را
از تمام
رکوردهای
کاربر/گروه JSON
ارائهشده
به سیستم
سنتز
میکند،
بنابراین
استفاده از
هر دو API تا حد
زیادی
معادل است و
دسترسی به
دادههای
یکسانی را
فراهم
میکند، با
این حال APIهای
NSS/glibc لزوماً
تنها
مجموعه
محدودتری
از فیلدها
را در معرض
نمایش قرار
میدهند.
اضافهشده
در نسخه 245.
io.systemd.DropIn
این
سرویس (نیز)
توسط
systemd-userdbd.service(8)
ارائه
میشود و
رکوردهای
کاربر/گروه JSON
را از
مسیرهای /etc/userdb/,
/run/userdb/, /run/host/userdb/, /usr/lib/userdb/
دریافت
میکند.
اضافهشده
در نسخه 249.
توجه
داشته
باشید که userdbctl
دارای
پشتیبانی
داخلی برای
جستجوهای
مبتنی بر NSS
نیز هست. این
بدان
معناست که
اگر نه io.systemd.Multiplexer
و نه io.systemd.NameServiceSwitch
در حال اجرا
نباشند،
جستجوها در
پایگاههای
داده
پایهای
کاربر/گروه
همچنان کار
خواهند
کرد.
$SYSTEMD_LOG_LEVEL
حداکثر
سطح ثبت
وقایع (لاگ)
برای
پیامهای
منتشرشده
(پیامهای
با سطح لاگ
بالاتر،
یعنی با
اهمیت
کمتر،
نادیده
گرفته
خواهند شد).
فهرستی از
مقادیر
جداشده با
کاما را
میپذیرد.
یک مقدار
میتواند
یکی از
موارد زیر
باشد (به
ترتیب کاهش
اهمیت):
emerg،
alert،
crit،
err،
warning،
notice،
info،
debug
یا یک عدد
صحیح در
محدوده 0...7.
برای
اطلاعات
بیشتر به
syslog(3)
مراجعه
کنید. هر
مقدار
میتواند
به صورت
اختیاری با
یکی از
پیشوندهای
console،
syslog،
kmsg یا
journal همراه با
یک دو نقطه (:)
مشخص شود تا
حداکثر سطح
لاگ را برای
آن مقصد لاگ
خاص تعیین
کند (برای
مثال
SYSTEMD_LOG_LEVEL=debug,console:info
مشخص
میکند که
لاگ در سطح debug
باشد مگر
هنگام ثبت
در کنسول که
باید در سطح
info باشد). توجه
داشته
باشید که
حداکثر سطح
لاگ سراسری
بر حداکثر
سطوح لاگِ
هر مقصد
اولویت
دارد.
$SYSTEMD_LOG_COLOR
یک مقدار
بولی. اگر
درست باشد،
پیامهای
نوشتهشده
در tty بر اساس
اولویت
رنگی
خواهند شد.
این تنظیم
تنها زمانی
مفید است که
پیامها
مستقیماً
در ترمینال
نوشته
شوند، زیرا
journalctl(1) و سایر
ابزارهایی
که لاگها
را نمایش
میدهند،
خودشان
پیامها را
بر اساس سطح
لاگ رنگی
میکنند.
$SYSTEMD_LOG_TIME
یک مقدار
بولی. اگر
درست باشد،
پیامهای
لاگ کنسول
با یک برچسب
زمانی
پیشوند
میشوند.
این تنظیم
تنها زمانی
مفید است که
پیامها
مستقیماً
در ترمینال
یا یک فایل
نوشته
شوند، زیرا
journalctl(1) و سایر
ابزارهایی
که لاگها
را نمایش
میدهند،
خودشان
برچسبهای
زمانی را بر
اساس
متادیتای
ورودی
پیوست
میکنند.
$SYSTEMD_LOG_LOCATION
یک مقدار
بولی. اگر
درست باشد،
پیامها با
نام فایل و
شماره خط در
کد منبع که
پیام از
آنجا
سرچشمه
گرفته است
پیشوند
میشوند.
توجه
داشته
باشید که
مکان لاگ
اغلب به
عنوان
متادیتا به
ورودیهای
ژورنال
ضمیمه
میشود. با
این حال،
درج مستقیم
آن در متن
پیام
میتواند
هنگام
اشکالزدایی
برنامهها
راحت باشد.
$SYSTEMD_LOG_TID
یک مقدار
بولی. اگر
درست باشد،
پیامها با
شناسه عددی
ریسه جاری (TID)
پیشوند
میشوند.
توجه
داشته
باشید که
این
اطلاعات به
هر حال به
عنوان
متادیتا به
ورودیهای
ژورنال
پیوست
میشود. با
این حال،
درج مستقیم
آن در متن
پیام
میتواند
هنگام
اشکالزدایی
برنامهها
راحت باشد.
$SYSTEMD_LOG_TARGET
مقصد
پیامهای
لاگ. یکی از
مقادیر
console
(ثبت در tty
متصلشده)،
console-prefixed (ثبت در tty
متصلشده
اما با
پیشوندهایی
که سطح لاگ و
"facility" را مشخص
میکنند،
به
syslog(3)
مراجعه
کنید)،
kmsg
(ثبت در بافر
لاگ چرخشی
هسته)،
journal
(ثبت در
ژورنال)،
journal-or-kmsg (ثبت در
ژورنال در
صورت در
دسترس
بودن، و در
غیر این
صورت در kmsg)،
auto
(تعیین
خودکار
مقصد لاگ
مناسب،
پیشفرض)،
null
(غیرفعال
کردن خروجی
لاگ).
$SYSTEMD_LOG_RATELIMIT_KMSG
آیا
محدودیت
نرخ (ratelimit) روی kmsg
اعمال شود
یا خیر. یک
مقدار بولی
میپذیرد.
پیشفرض "true"
است. در صورت
غیرفعال
شدن، systemd
پیامهای
نوشتهشده
در kmsg را
محدود
نمیکند.
$SYSTEMD_PAGER, $PAGER
صفحهبندی
که هنگام
مشخص نشدن
--no-pager استفاده
میشود. در
صورت تنظیم
بودن
$SYSTEMD_PAGER از
آن استفاده
میشود؛ در
غیر این
صورت از
$PAGER
استفاده
خواهد شد.
اگر نه
$SYSTEMD_PAGER و
نه
$PAGER تنظیم
نشده
باشند،
مجموعهای
از
پیادهسازیهای
شناختهشده
صفحهبند
به نوبت
امتحان
میشوند،
از جمله
less(1) و
more(1)، تا
زمانی که
یکی پیدا
شود. اگر هیچ
پیادهسازی
صفحهبندی
پیدا نشود،
هیچ
صفحهبندی
فراخوانی
نمیشود.
تنظیم این
متغیرهای
محیطی روی
یک رشته
خالی یا
مقدار "cat"
معادل
ارسال
--no-pager
است.
نکته: اگر
$SYSTEMD_PAGERSECURE تنظیم
نشده باشد،
$SYSTEMD_PAGER و $PAGER فقط
برای
غیرفعال
کردن
صفحهبند
(با "cat" یا "")
میتوانند
استفاده
شوند، و در
غیر این
صورت
نادیده
گرفته
میشوند.
$SYSTEMD_LESS
لغو
گزینههای
ارسالی به
less
(به طور
پیشفرض "FRSXMK").
کاربران
ممکن است
بخواهند دو
گزینه را به
ویژه تغییر
دهند:
K
این
گزینه به
صفحهبند
دستور
میدهد
هنگام
فشرده شدن Ctrl+C
فوراً خارج
شود. برای
اینکه به
less
اجازه دهید
خودش Ctrl+C را
برای
بازگشت به
خط فرمان
صفحهبند
مدیریت
کند، این
گزینه را
لغو کنید.
اگر مقدار
$SYSTEMD_LESS شامل "K"
نباشد، و
صفحهبند
فراخوانیشده
less باشد، Ctrl+C
توسط فایل
اجرایی
نادیده
گرفته شده و
باید توسط
صفحهبند
مدیریت
شود.
X
این
گزینه به
صفحهبند
دستور
میدهد که
رشتههای
مقداردهی
اولیه و
پایاندهی
termcap را به
ترمینال
ارسال نکند.
این گزینه
به طور
پیشفرض
تنظیم شده
است تا
خروجی
دستور حتی
پس از خروج
صفحهبند
در ترمینال
قابل
مشاهده
باقی بماند.
با این حال،
این امر
مانع از
عملکرد
برخی
قابلیتهای
صفحهبند
میشود، به
ویژه خروجی
صفحهبندیشده
را
نمیتوان
با ماوس
پیمایش
(اسکرول)
کرد.
توجه
داشته
باشید که
تنظیم
متغیر
محیطی
معمولی $LESS
هیچ تاثیری
برای
فراخوانیهای
less توسط
ابزارهای systemd
ندارد.
برای
توضیحات
بیشتر به less(1)
مراجعه
کنید.
$SYSTEMD_LESSCHARSET
لغو
مجموعه
نویسه (charset)
ارسالی به
less
(به طور
پیشفرض
"utf-8"، اگر
ترمینال
فراخواننده
به عنوان
سازگار با UTF-8
تشخیص داده
شود).
توجه
داشته
باشید که
تنظیم
متغیر
محیطی
معمولی $LESSCHARSET
هیچ تاثیری
برای
فراخوانیهای
less توسط
ابزارهای systemd
ندارد.
$SYSTEMD_PAGERSECURE
دستورات
رایج
صفحهبند
مانند
less(1)،
علاوه بر
«صفحهبندی»،
یعنی
پیمایش در
خروجی، از
باز کردن یا
نوشتن در
فایلهای
دیگر و
اجرای
دستورات
دلخواه شل
پشتیبانی
میکنند.
هنگامی که
دستورات با
امتیازات
بالا، به
عنوان مثال
تحت
sudo(8) یا
pkexec(1)
فراخوانی
میشوند،
صفحهبند
به یک مرز
امنیتی
تبدیل
میشود.
باید دقت
شود که تنها
برنامههایی
با
قابلیتهای
کاملاً
محدود به
عنوان
صفحهبند
استفاده
شوند، و
ویژگیهای
تعاملی
ناخواسته
مانند باز
کردن یا
ایجاد
فایلهای
جدید یا
شروع
زیرفرایندها
مجاز
نباشند.
«حالت امن»
برای
صفحهبند
ممکن است
همانطور
که در زیر
توضیح داده
شده فعال
شود،
اگر
صفحهبند
از آن
پشتیبانی
کند (بیشتر
صفحهبندها
به شیوهای
نوشته
نشدهاند
که این
موضوع را در
نظر بگیرند).
توصیه
میشود یا
صراحتاً
«حالت امن»
را فعال
کنید یا با
استفاده از
--no-pager یا
PAGER=cat
هنگام
اجازه دادن
به کاربران
غیرقابل
اعتماد
برای اجرای
دستورات با
امتیازات
بالا،
صفحهبند
را کاملاً
غیرفعال
نمایید.
این گزینه
یک آرگومان
بولی
میپذیرد.
هنگامی که
روی درست
تنظیم شود،
«حالت امن»
صفحهبند
فعال
میشود. در
«حالت
امن»،
هنگام
فراخوانی
صفحهبند
LESSSECURE=1 تنظیم
خواهد شد،
که به
صفحهبند
دستور
میدهد
دستوراتی
را که
فایلهای
جدید باز
میکنند یا
ایجاد
میکنند یا
زیرفرایندهای
جدید آغاز
میکنند
غیرفعال
کند. در حال
حاضر فقط less(1)
شناخته شده
است که این
متغیر را
درک میکند
و «حالت
امن» را
پیادهسازی
مینماید.
هنگامی که
روی نادرست
تنظیم شود،
هیچ
محدودیتی
بر
صفحهبند
اعمال
نمیشود.
تنظیم SYSTEMD_PAGERSECURE=0
یا حذف
نکردن آن از
متغیرهای
محیطی به
ارث رسیده
ممکن است به
کاربر
اجازه دهد
دستورات
دلخواه را
اجرا کند.
هنگامی که
$SYSTEMD_PAGERSECURE تنظیم
نشده باشد،
ابزارهای systemd
تلاش
میکنند تا
به طور
خودکار
تشخیص دهند
که آیا
«حالت امن»
باید فعال
شود و آیا
صفحهبند
از آن
پشتیبانی
میکند یا
خیر. اگر UID
مؤثر با
مالک نشست
ورود یکسان
نباشد، به
geteuid(2) و sd_pid_get_owner_uid(3)
مراجعه
کنید، یا
هنگام اجرا
تحت sudo(8) یا
ابزارهای
مشابه ($SUDO_UID
تنظیم شده
باشد [4]). در
این موارد،
SYSTEMD_PAGERSECURE=1 تنظیم
میشود و
صفحهبندهایی
که
پیادهسازی
«حالت امن»
در آنها
شناختهشده
نیست اصلاً
استفاده
نخواهند شد.
توجه داشته
باشید که
این تشخیص
خودکار فقط
متداولترین
سازوکارهای
ارتقای
امتیازات
را پوشش
میدهد و
برای راحتی
کار در نظر
گرفته شده
است. توصیه
میشود
صراحتاً
$SYSTEMD_PAGERSECURE را
تنظیم کرده
یا
صفحهبند
را غیرفعال
کنید.
توجه
داشته
باشید که
اگر
متغیرهای
$SYSTEMD_PAGER یا $PAGER
قرار است
رعایت
شوند، به جز
برای
غیرفعال
کردن
صفحهبند،
$SYSTEMD_PAGERSECURE نیز
باید تنظیم
شده باشد.
$SYSTEMD_COLORS
یک
آرگومان
بولی، یا یک
مقدار ویژه
میپذیرد.
به طور
پیشفرض
(تنظیمنشده)،
systemd و
ابزارهای
مرتبط در
صورت امکان
از رنگها
در خروجی
خود
استفاده
خواهند کرد.
اگر
$COLORTERM روی
"truecolor" یا "24bit"
تنظیم شده
باشد،
رنگهای 24
بیتی فعال
میشوند،
در غیر این
صورت 256 رنگ،
مگر اینکه
$NO_COLOR یا
$TERM
نشان دهد
رنگها
غیرفعال
هستند.
true
مشابه
تنظیمنشده،
با این
تفاوت که $NO_COLOR
نادیده
گرفته
میشود.
false
خروجی
تکرنگ
خواهد بود.
"16", "256", "24bit"
همیشه به
ترتیب از
رنگهای
پایه ۱۶
تایی ANSI، ۲۵۶
رنگ، یا رنگ
۲۴ بیتی
استفاده
میکند.
"auto-16", "auto-256",
"auto-24bit"
از تعداد
رنگهای
مشخصشده،
بر اساس $TERM و
اینکه
کنسول به چه
چیزی متصل
است،
استفاده
میکند.
$SYSTEMD_URLIFY
مقدار
باید یک
بولی باشد.
کنترل
میکند که
آیا
پیوندهای
قابل کلیک
در خروجی
برای
شبیهسازهای
ترمینالی
که از این
قابلیت
پشتیبانی
میکنند
تولید شود
یا خیر. این
گزینه را
میتوان
برای لغو
تصمیمی که
systemd بر اساس $TERM
و سایر
شرایط
میگیرد
تعیین کرد.