رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تنظیم sudo
#1
Wink 
ابزار sudo یکی از ابزارهای مهم تنظیم دسترسی در لینوکس است که معمولاً به طور دقیق و آگاهانه تنظیم نمی‌شود. اگر شما در حال حاضر به هر کاربر عادی که روی سیستم است به راحتی دسترسی به همه چیز با sudo می‌دهید، بهتر است که این رویه را تغییر دهید و آن را بهتر تنظیم کنید.

در گذشته (و حتی امروزه) خیلی از افراد عادت داشتند که کارهایی که نیاز به دسترسی root داشت، را با زدن su و وارد شدن به کاربر ریشه انجام داده و به کاربر عادی بر می‌گشتند. این عادت خوبی نیست. درست است که ساده است و دردسرهای sudo را ندارد، اما گزینه‌ی خوبی نیست. همچنین به طور کورکورانه اضافه کردن کاربران عادی به گروه مدیران و یا دادن تمامی دسترسی‌ها به آن‌ها، عادت بدی است. اگر شما تنها کاربر حاضر روی سیستم هستید، دادن تمامی حق دسترسی‌ها ممکن است مشکلی ایجاد نکند، اما در اشتراک یک سیستم بین چندین کاربر، استفاده از sudo راهکار مناسب‌تری است.

برای تغییر فایل تنظیمات sudo بایستی فایل ‎/etc/sudoers را ویرایش کنیم. برای ویرایش این فایل بایستی از دستور مخصوص آن به نام visudo استفاده کنید و نباید از ویرایشگر معمولی روی سیستمان مثل gedit و غیره استفاده کنید. این برنامه فایل را با ویرایشگر پیشفرض متنی شما باز می‌کند (معمولاً ویرایشگر vi باز می‌شود که برای یک راهنمای سریع می‌توانید به اینجا مراجعه کنید). همچنین برای اجرای این دستور بایستی کاربر ریشه باشید.

تنظیمات یک فایل sudoers نمونه به صورت زیر است :

کد:
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
­min ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
این فایل تنظیمات مشخص می‌کند که کاربر root و کاربرانی که در گروه admin قرار دارند و همچنین کاربرانی که با sudo دستورات را اجرا می‌کنند، تمامی دسترسی‌ها را خواهند داشت. این تنظیمات ممکن است در یک سیستم شخصی یا مغازه که تنها یک کاربر بر روی آن کار می‌کند، به خوبی جواب دهد، اما برای سیستم‌های چند کاربره بایستی به هر کاربر همان‌قدر که نیاز دارد حق دسترسی بدهید.

برای محدود کردن دسترسی‌های اجرا به صورت زیر عمل می‌کنیم :
کد:
myuser ALL=(root) /usr/bin/apt-get
ساختار این دستور بدین صورت است که کاربر myuser ( که بایستی با نام کاربری خود تعویض کنید ) در ابتدا می‌آید سپس کلمه‌ی ALL بدین معناست که در تمامی ماشین‌ها باشد یا آن را محدود کنید (مثلاً می‌توانید localhost بزنید) و کلمه‌ی بعدی root بدین معناست که دستوری که بعداً می‌آید با حق دسترسی این کاربر اجرا شود (برای مثال در برخی موقعیت‌ها ممکن است یک دستوری را با یک کاربر عادی دیگر اجرا کنید و نه root ) و در انتها هم دستوری که این کاربر مجاز به اجرای آن است به همراه مسیر کامل آن (مسیر کامل ضروری است) آمده است.

به جای یک دستور می‌توانید چندین دستور را در انتها بیاورید و آن‌ها را با کاما «,» ازهم جدا کنید :

کد:
myuser ALL=(root) /usr/bin/apt-get, /usr/bin/dpkg
حال کاربر myuser می‌تواند هر دوی دستورات apt-get و dpkg را با دسترسی root اجرا کند. در صورتی که می‌خواهید از دستورات و مسیرهایی زیاد استفاده کنید، می‌توانید از alias استفاده کنید. برای مثال :
کد:
Cmnd_Alias SHUTDOWN= /sbin/shutdown, sbin/reboot, /sbin/halt
Cmnd_Alias APACHE= /etc/init.d/apache2
و سپس می‌توانید دستورات SHUTDOWN و APACHE را به کاربر یا گروه‌های خاص خود مجوز بدهید :
کد:
ADMINS ALL= SHUTDOWN, APACHE
WEB ALL= APACHE
برای اطلاعات بیشتر می‌توانید به مدخل آن در ویکی اوبونتو مراجعه کنید.
منبع : azadrah
یک مثقال عمل بهتر است از یک خروار حرف.
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان