جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
محتوای باز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]
  • خانه
  • کتاب آنلاین
  • درباره سایت
  • درباره لوگو
  • تماس با ما
محتوای باز
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0
[wcas-search-form]

تغییر هویت در لینوکس

24 تیر 1399
ارسال شده توسط فرشید نوتاش حقیقت
خط فرمان، گنو/لینوکس
تغییر هویت

برخی اوقات لازم است که برای انجام بعضی از کارها از هویت یک کاربر دیگر استفاده کنیم. این کار بیشتر برای دریافت دسترسی کاربر ارشد (Super User) به کار می‌رود.

به این منظور سه راه وجود دارد:

  1. از کاربر فعلی خارج شده و با کاربر مورد نظر Login کنیم.
  2. استفاده از فرمان su
  3. استفاده از فرمان sudo

مورد اول را نادیده می‌گیریم چون همه می‌دانیم که چگونه با یک کاربر دیگر Login کنیم.

از داخل Shell با استفاده از فرمان su می‌توانید هویت خود را به عنوان یک کاربر دیگر تغییر دهید و سپس شروع به انجام فرمان‌های لازم در خط فرمان کنید.

فرمان sudo به مدیریت این اجازه را می‌دهد تا تنظیمات پیکربندی را در داخل فایل /etc/studores انجام دهد و فرمان‌های ویژه‌ای که کاربران خاص قادر به انجام آن هستند را تعریف کنند. این که به صورت پیش‌فرض چه فرمان‌هایی برای sudo تعریف شده‌اند، بسته به نوع توزیعی دارد که از آن استفاده می‌کنید.

فرمان su اجرای یک Shell با کاربر جانشین

فرمان su برای اجرا و شروع یک Shell جدید به عنوان یک کاربر دیگر (جانشین) استفاده می‌شود. ترکیب استفاده شده در این فرمان به این صورت است:

su [-[l]] [user]

اگر گزینه –l در این فرمان آورده شود، نتیجه نشست Shell یک Login شل برای کاربر تعیین شده است. به این معنی که محیط کاربر تعیین شده بارگذاری شده و پوشه فعلی کاربر به پوشه home کاربر تعیین شده تغییر پیدا می‌کند. اگر در فرمان نام کاربر آورده نشود، به صورت پیش‌فرض کاربر ارشد (Super User) در نظر گرفته می‌شود. توجه داشته باشید که می‌توانید گزینه –l را به صورت اختصاری (-) در نظر بگیرید. به این صورت:

[me@linuxbox ~]$ su -
Password:
[root@linuxbox ~]#

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

[root@linuxbox ~]# exit
[me@linuxbox ~]$

علاوه بر این می‌توانیم به جای تغییر کلی Shell فقط یک فرمان را به حالت root اجرا کنیم. به این صورت:

su -c 'command'

با استفاده از این فرمت یک خط فرمان در Shell اجرا می‌شود. این نکته را به یاد داشته باشید که فرمان مورد نظر را در داخل تک کوتیشن قرار دهید:

[me@linuxbox ~]$ su -c 'ls -l /root/*'
Password:
-rw------- 1 root root 754 2011-08-11 03:19 /root/anaconda-ks.cfg
/root/Mail:
total 0
[me@linuxbox ~]$

فرمان sudo – اجرای یک فرمان با عنوان کاربری دیگر

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

ویژگی مهم دیگر sudo این است که برای استفاده از آن لازم نیست پسورد کاربر ارشد (Super User) را داشته باشید. پس به این شیوه بدون در اختیار قرار دادن پسورد root در اختیار دیگران (ریسک امنیتی بالایی دارد) برخی از کاربران خاص خود را قادر به انجام فرمان‌هایی خاص می‌کنید. برای مثال فرض کنید sudo پیکربندی شده تا به ما اجازه دهد که یک برنامه بکاپ فرضی با نام backup_script را اجرا کنیم که برای اجرای این برنامه نیاز به دسترسی کاربر ارشد (Super User) داریم. با استفاده از sudo به این صورت انجام می‌شود:

[me@linuxbox ~]$ sudo backup_script
Password:
System Backup Starting...

پس از اجرای فرمان از ما پسورد خواسته می‌شود (پسورد کاربری خودمان، نه پسورد کاربر ارشد) و پس از انجام تشخیص هویت فرمان موجود در اسکریپت بک‌آپ اجرا می‌شود. یک تفاوت مهم بین su و sudo این است که sudo یک Shell جدید را آغاز نمی‌کند و به تبع آن محیط کاربری، کاربر دیگری را بارگذاری نمی‌کند. یعنی این که برای اجرای فرمان‌ها لازم نیست فرمان‌ها داخل کوتیشن قرار گیرند. برای مشاهده اینکه چه دسترسی‌هایی برای sudo تعیین شده است از گزینه –l برای لیست کردن آن‌ها استفاده کنید:

[me@linuxbox ~]$ sudo -l
User me may run the following commands on this host:
(ALL) ALL

اوبونتو و فرمان sudo

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

در دنیای یونیکس جریان متفاوت است. در یونیکس همیشه اختلاف بزرگتری بین کاربران عادی و ادمین وجود دارد. این رویکرد یونیکس باعث می‌شود فقط زمانی دسترسی کاربر ارشد (Super User) صادر شود که به آن نیاز باشد. به این منظور همانطور که در درس قبل مشاهده کردید از فرمان‌های su و sudo استفاده می‌شود.

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

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

همیشه این مثال معروف را به یاد داشته باشید. ویندوز مایکروسافت مثل یک خانه ساحلی است. راحتی و رفاه بالایی دارد ولی امنیت آن پایین است. لینوکس درست مثل یک قلعه است که در نوک کوه بنا شده دسترسی به آن دشوار است ولی امنیت بسیار بالایی دارد.

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

منبع: لینوکس‌سیزن نوشته فرشید نوتاش حقیقت

برچسب ها: CLICommand Lineخط فرمانخط فرمان لینوکس
درباره فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته‌های بیشتر از فرشید نوتاش حقیقت
قبلی فرمان umask در لینوکس
بعدی فرمان chown در لینوکس

دیدگاهتان را بنویسید لغو پاسخ

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

جستجو
جستجو برای:
دسته‌بندی موضوعی مقالات
  • برنامه‌نویسی
    • پایتون
    • دواپس
  • پایگاه‌داده
    • MariaDB
    • MySQL
  • تجارت الکترونیک
    • بازاریابی اینترنتی
    • دیجیتال مارکتینگ
    • شبکه‌های اجتماعی
  • جامعه کاربری
    • لاگ
  • دسته‌بندی نشده
  • شبکه و امنیت
  • طراحی وب
    • سئو
    • سیستم مدیریت محتوا
      • وردپرس
  • فناوری‌های نوظهور
    • اینترنت اشیاء
    • رایانش ابری
      • OpenStack
    • کلان‌داده‌ها
  • گنو/لینوکس
    • توزیع
      • CentOS
      • اوبونتو
      • دبیان
      • فدورا
    • چیست
    • خط فرمان
  • مهاجرت به آزاد/متن‌باز
  • نرم‌افزار
    • اداری
      • لیبره آفیس
        • ایمپرس
        • بیس
        • دراو
        • رایتر
        • کالک
    • کاربردی
    • گرافیک و انیمیشن
      • بلندر
      • گیمپ
نماد الکترونیکی (اینماد)
پرداخت‌یار

محتوای باز؛ مرجع آموزشی نرم‌افزارهای آزاد/ متن‌باز

از اینکه قصد همکاری با رسانه «محتوای باز» را دارید بسیار خرسندیم و این مایه مباهات ماست.

نحوه همکاری با ما چندان پیچیده نیست و شرایط آن در ادامه، ارائه گردیده است.

دستمزد مدرسین

پیش از بیان شرایط ضبط ویدئو شایان ذکر است اشاره‌ای به دستمزد مدرسین سایت داشته باشیم.

شما ممکن است در دو حالت تمایل به نشر ویدئو خود را داشته باشید: یا آن را رایگان در اختیار عموم قرار دهید و یا اینکه در قبال فروش آن از خریدار وجه مربوطه محصول را اخذ نمایید.

صرف نظر از هر حالت ممکنه، می‌بایست شرایطی که در ادامه ذکر شده‌اند را رعایت کرده باشید.

در حالت اول (رایگان) رسانه محتوای باز (Open Content)، نه وجهی از شما برای نشر ویدئو می‌گیرد و نه وجهی به شما پرداخت می‌نماید و دوره آموزشی شما را به رایگان منتشر می‌کند.

اما در حالت بعدی طریقه همکاری به روش درآمد از فروش خواهد بود، به گونه‌ای که 70 درصد از کل مبلغ فروش دوره آموزشی متعلق به مدرس دوره بوده و 30 درصد مابقی به رسانه محتوای باز تعلق می‌گیرد.

شرایط کلی ضبط دوره آموزشی

دوره آموزشی مربوطه، صرف نظر از هر محتوایی که دارد می‌بایست در یکی از توزیعات گنو/لینوکسی ضبط شده باشد. (به‌عنوان مثال دوره دروپال در اوبونتو، دوره آموزشی کار با آردوینو در دبیان و امثالهم). اگر دوره آموزشی شما در محیط ویندوز و یا هر پلتفرم/سیستم‌عامل دیگری ضبط شده باشد از همکاری با شما معذوریم.

پیشنهاد می‌گردد برای ضبط دوره آموزشی در توزیع گنو/لینوکس از ابزار قدرتمند OBS استفاده نمایید. البته این صرفا یک پیشنهاد است و شما می‌توانید از هر ابزار مناسب دیگری برای این کار بهره ببرید.

برای آشنایی یا تسلط بیشتر می‌توانید دوره رایگان آموزش OBS محمد عابدینی را ببینید:

مشاهده دوره آموزش OBS
شرایط کیفی ضبط دوره آموزشی

کیفیت صدا از اهمیت ویژه‌ای برخوردار می‌باشد و می‌بایست فاقد هر گونه نویز یا صدای اضافی دیگری (صدای محیط پیرامون) باشد.

دوره آموزشی تهیه شده صرفا باید برای رسانه محتوای باز تدوین شده باشد و در هیچ سایت مشابه دیگری قرار نگرفته باشد.

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

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

در حین دوره، مدرس نباید به برند خاصی اشاره کند که جز رقبای ما به‌شمار می‌آیند.

مدرس باید در ابتدا در اواسط و در انتهای دوره به برند ما یعنی رسانه محتوای باز (Open Content) بصورت کلامی اشاره نماید.

مدرس، هنگام تدریس نباید تپق زده، سرفه یا عطسه کند یا صدای قورت دادن بزاقش شنیده شود و بایستی با صدای رسا، دوستانه و پرانرژی به تدریس بپردازد.

قبل از تدوین دوره آموزشی حتما با ما در تماس باشید و یک ویدیوی چنددقیقه‌ای (ترجیحا 5 الی 10 دقیقه)، بصورت نمونه‌کار برای ما بفرستید.

از همکاری با شما سپاسگزاریم.

فراخوان همکاری