«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
دستور sudo در لینوکس چیست؟ :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

قدیمیا دلم براتون تنگ شده... فقط معرفی کنید توی پیامک یا تماس یاد بیارید.
اگه جواب ندادم شاید موقعیت نداشته باشم.
بگید توی پیام از بچه های پرومیکرز هستید.

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

دستور sudo در لینوکس چیست؟

دوشنبه, ۱۲ مهر ۱۳۹۵، ۰۴:۰۸ ب.ظ

gameover.blog.ir



تقریبا هر آموزشی که درباره لینوکس مطالعه می‌کنید با دستورات خط فرمان همراه است که در ترمینال وارد می‌شوند؛ این موضوع به دلایلی مانند قدمت بیشتر رابط خط فرمان در لینوکس نسب به رابط گرافیکی، قدرت بی‌نظیر آن، تمایل بیشتر کاربران لینوکس به استفاده از خط فرمان و … است. و اما در بین دستورات تقریبا جایی نیست که sudo نباشد! اما این دستور چیست، چرا هست و چه عملی انجام می‌دهد بحثی است که در ادامه به آن می‌پردازیم.

در لینوکس کارهایی مانند نصب برنامه‌ها و تغییرات در شاخه‌ها و فایل‌های اصلی لینوکس فقط در دسترس کاربر روت (root) است زیرا این اعمال روی سیستم اثر می‌گذارند و باید از دسترسی غیر مجاز محافظت شوند. پس برای انجام آن‌ها باید با کاربر root وارد شد.

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

برای ورود با کاربر root در رابط گرافیکی که باید از همان صفحه ورود (لاگین اسکرین) میزکار خود استفاده کنید و در ترمینال نیز از دستور su استفاده می‌کنیم.

در هر دو مورد باید رمز کاربر روت را بدانید و وارد کنید تا دسترسی روت به شما داده شود. رمز کاربر روت در اکثر توزیع‌ها در هنگام نصب از شما دریافت و ست می‌شود اما در توزیعی مانند ابونتو باید بعد از نصب به روشی که در ادامه می‌گویم ست شود.

در هر صورت با ورود به کاربر روت می‌توانید هر کاری که می‌خواهید در سیستم انجام دهید! اما تمام این اعمال تقریبا روی کاربر روت انجام می‌شود! یعنی اینکه مثلا اگر برنامه‌ای نصب کردید، این برنامه برای کاربر روت نصب شده است. خب اگر بخواهید این اعمال روی کاربر خودتان انجام شود چه؟! و یا اینکه نخواهید رمز روت (که حفظ و نگهداری آن بسیار حیاتی است) برای هر کاری وارد کنید چه باید بکنید؟!

دستور sudo دقیقا برای رفع نیازهای بالا طراحی شده است. وقتی sudo را قبل از هر دستوری بنویسید آن دستور در هنگام اجرا دسترسی روت دارد. همچنین نیاز نیست که رمز روت خود را وارد کنید؛ کافیست رمز کاربری خود را برای اجرای آن دستور با sudo وارد کنید!

البته دستور su را نیز می‌توان به‌گونه‌ای (با آرگومان‌های مناسب) وارد کرد تا دستور برای کاربر خاصی انجام شود؛ اما جدای از استفاده سخت‌تر نسبت به sudo، در هر صورت رمز کاربری روت را باید وارد کنید.

در اکثر توزیع‌ها دستور sudo به‌صورت پیش‌فرض نصب شده است و کاربرانی که در گروه ادمین (معمولا نام گروه wheel است) هستند می‌توانند این دستور را با رمز کاربری خود اجرا کنند.



خب یک مثال. دستور زیر را در ابونتو وارد می‌کنیم:

apt-get update

و اما خروجی:

E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

مشاهده می‌کنید که اجرای آن با خطا روبرو می‌شود و می‌گوید باید دسترسی روت داشته باشید!

خب حالا دستور را به‌صورت زیر با sudo وارد می‌کنیم.


sudo apt-get update

بعد از وارد کردن دستور رمز کاربری خود را وارد می‌کنم. سپس دستور انجام  و مخازن برنامه‌ها به‌روز می‌شود.

اجرای دستور ls ~ یک مثال ساده برای نشان دادن تفاوت ورود به روت و دستور sudo است که با وارد کردن آن بعد از ورود به کاربر روت، شاخه خانگی کاربر روت لیست می‌شود اما با اجرای دستور sudo ls ~ با کاربری خودتان، شاخه خانگی خودتان لیست می‌شود.

مشابه دستور sudo در میزکارها نیز وجود دارد تا کاربران در محیط گرافیکی اعمالی که نیاز به دسترسی روت دارند را انجام دهند؛ مانند kdesudo برای میزکار کی دی ای و gksudo برای میزکارهای برپایه gtk مانند گنوم. در این برنامه‌ها برای اجرای دستورات با دسترسی روت، کادر محاوری به صورت گرافیکی به شما نشان داده می‌شود تا رمز خود را وارد کنید؛ مانند زمانی که در ابونتو دکمه نصب یک برنامه را در مرکز برنامه‌ها میزنید و کادر برای دریافت رمز نمایش داده می‌شود.



این هم عکسی از سایت andrehonsberg.com در رابطه با قدرت دستور sudo!

http://s9.picofile.com/file/8269514092/sudo.jpg

می‌بینید که اول درخواست می‌کنه یک ساندویچ براش درست کنه و جواب میده که خودت درست کن! اما دفعه بعد اول حرفش سودو می‌گه و اون هم میگه باشه!



و این هم روش ست کردن رمز کاربر root در ابونتو بعد از نصب (بعد از اجرای دستور زیر رمز مورد نظرتون رو وارد کنید).

sudo passwd

منبع : http://linuxihaa.ir/sudo/
موافقین ۰ مخالفین ۰ ۹۵/۰۷/۱۲
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی