آشنایی کلی با sudo:

دستور sudo در لینوکس یکی از پرکاربرد ترین دستورات روزمره است. در این روزنوشت توضیح میدم که چطوری از دستور sudo برای تغییر یا حرکت بین کاربران لینوکس استفاده میشه، با کاربرد دستور sudo آشنا میشیم و چند option پرکاربرد این دستور توضیح میدم، شاید هم ازش توی یک مثال استفاده کنیم...

دستور sudo:

برای اینکه این دستور یادتون بمونه میتونید یه اصطلاح رو بخاطر بشپارید و معادل دستور sudo در لینوکس توی ذهنتون قرار بدید: Super User do

یکی از راه ها برای حرکت بین کاربران لینوکس (switch user) و یا اجرای دستورات با کاربر دیگه, استفاده از دستور sudo است. یاختا ابن دیتور در خلاصه ترین حالت به شکل زیره:

$ sudo command

که بجای «command» دستورات شما قرار میگیره. دستور sudo بشما این امکان رو میده تا با استفاده از دسترسی های امنیتی یه کاربر دیگه برنامه یا ا دستوراتی رو اجرا کنید.

این دستور یه وجه مشترک با دستور su داره. وجه اشتراکشون اینه که اگه کاربری رو برای اجرای command مشخص نکنید بصورت پیش فرض تلاش میکنن تا دستورات رو با کاربر SuperUser اجرا کنن؛ این یکی از دلایلی میتونه باشه برای حفظ کردن اصطلاح Super User do

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

یکی از مزایای استفاده کردن از دستور sudo بجای دستور su اینه که وقتی از دستور sudo استفاده میکنید نیازی نیست تا گذرواژه (پسورد) اون user رو بدونید. این موضوع باعث میشه تا مخاطرات امنیتی کمتر بشه. وقتی که از دستور sudo استفاده میکنید تا یک دستور رو با سطح دسترسی کاربر دیگه اجرا کنید لینوکس از شما میخواد که گذرواژه خودتون رو وارد کنید اگر گذرواژه درست باشه و شما دسترسی لازم برای sudo رو داسته باشید دستور اجرا میشه.

معمولا تنظیمات مربوط به sudo توسط مدیر سیستم کنترل شده و با استفاده از کاربری root تغییرات بر روی اون اعمال میشه.

استفاده از sudo در عمل:

برای مشاهده اینکه چه دستوراتی رو میتونید با استفاده از دستور sudo اجرا کنید دستور زیر رو در ترمینال خود وارد کرده و اجرا کنید:

$ sudo -l 

برای این که یک دستور (command) رو با استفاده از سطح دسترسی root اجرا کنید میتونید از قالب زیر استفاده کنید؛ فقط یادتون باشه که بجای command دستوراتی که میخواید اجرا کنید رو جایگزین کنید:

$ sudo command

شما میتونید کاربر دیگه ای رو معرفی کنید این کار با تنظیم u- امکان پذیره (بازهم برای یادآوری میگم بجای command دستور مورد نظر خودتون رو بنویسید):

$ sudo -u root command

شما میتونید بجای root هر کاربر دیگه ای رو قرار بدید و اگه اجازه داشته باشید میتونید دستورات مد نظرتون رو با سطح دسترسی اون کاربر اجرا کنید.

تعویض/switch کاربران در لینوکس با sudo:

شما میتونید با استفاده از دستور sudo su کاربر خودتون رو با کاربر root تعویض کنید.

اگه بخواید به کاربر دیگه ای switch کنید میتونید از دستور زیر استفاده کنید:

$ sudo su - username

یا میتونید از دستور زیر هم استفاده کنید:

$ sudo -u username -s

در هر دو دستر آخر بجای username نام کاربری که میخواید بهش switch کنید رو بنویسید