lxc-usernsexec(1) lxc-usernsexec(1)

lxc-usernsexec - اجرای یک وظیفه به‌عنوان کاربر ریشه در یک فضای نام کاربری جدید


lxc-usernsexec
[-m uid-map] {-- command}

دستور lxc-usernsexec می‌تواند برای اجرای یک وظیفه به‌عنوان کاربر ریشه در یک فضای نام کاربری جدید به کار رود.

نگاشت شناسهٔ کاربری (uid map) برای استفاده در فضای نام کاربری. هر نگاشت از چهار مقدار جداشده با دو‌نقطه تشکیل شده است: نخست نویسهٔ 'u'، 'g' یا 'b' برای مشخص کردن این‌که این نگاشت مربوط به شناسه‌های کاربری، شناسه‌های گروهی یا هر دو است؛ سپس نخستین شناسهٔ کاربری در فضای نام کاربری؛ سپس نخستین شناسهٔ کاربری آن‌گونه که در میزبان دیده می‌شود؛ و در نهایت تعداد شناسه‌هایی که باید نگاشت شوند.

بیش از یک نگاشت می‌تواند مشخص شود. اگر هیچ نگاشتی مشخص نشود، به‌طور پیش‌فرض کل محدوده‌های uid و gid اعطاشده توسط /etc/subuid و /etc/subgid به uidها و gidهایی با شروع از 0 در ظرف نگاشت خواهند شد.

توجه داشته باشید که lxc-usernsexec همواره تلاش می‌کند setuid و setgid را در فضای نام به 0 تنظیم کند. بنابراین uid 0 در فضای نام حتماً باید نگاشت شده باشد.

برای ایجاد یک پوسته با نگاشت کامل subuidهای تخصیص‌یافته به درون ظرف، از دستور زیر استفاده کنید:

lxc-usernsexec

برای اجرای پوسته‌ای غیر از /bin/sh، از دستور زیر استفاده کنید:

lxc-usernsexec -- /bin/bash

اگر شناسهٔ کاربری شما 1000 است، کاربر ریشه در یک ظرف به 190000 نگاشت شده است، و می‌خواهید مالکیت فایلی متعلق به خود را با chown به ریشه در ظرف تغییر دهید، می‌توانید از این دستور استفاده کنید:

lxc-usernsexec -m b:0:1000:1 -m b:1:190000:1 -- /bin/chown 1:1 $file

این دستور شناسهٔ کاربری شما را به کاربر ریشه در فضای نام کاربری، و 190000 را به uid 1 نگاشت می‌کند. از آن‌جا که ریشه در فضای نام کاربری بر تمام شناسه‌های کاربری نگاشت‌شده در آن فضای نام برتری و دسترسی دارد، شما مجاز به تغییر مالکیت فایل خواهید بود؛ کاری که روی میزبان با یک chown ساده امکان‌پذیر نبود.

lxc(7), lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)

2026-08-01