ذكري المظهر

سودو القيادة في لينكس

Process Management Commands (fg, bg, top, ps, kill, nice, renice, df, free) Linux Tutorial

Process Management Commands (fg, bg, top, ps, kill, nice, renice, df, free) Linux Tutorial

جدول المحتويات:

Anonim

يسمح لك الأمر sudo بتشغيل البرامج كمستخدم آخر ، افتراضيًا كمستخدم الجذر. إذا كنت تقضي الكثير من الوقت في سطر الأوامر ، فإن sudo هو أحد الأوامر التي ستستخدمها كثيرًا.

يعد استخدام sudo بدلاً من تسجيل الدخول كجذر أكثر أمانًا لأنه يمكنك منح امتيازات إدارية محدودة للمستخدمين الفرديين دون معرفة كلمة مرور الجذر.

في هذا البرنامج التعليمي ، سنشرح كيفية استخدام الأمر sudo .

تثبيت Sudo (الأمر sudo غير موجود)

تم تثبيت حزمة sudo مسبقًا على معظم توزيعات Linux.

للتحقق من تثبيت حزمة sudo على نظامك ، افتح وحدة التحكم الخاصة بك ، اكتب sudo ، واضغط على Enter . إذا كنت قد قمت بتثبيت sudo ، فسيقوم النظام بعرض رسالة مساعدة قصيرة ، وإلا فسوف ترى شيء مثل sudo command not found .

إذا لم يتم تثبيت sudo ، فيمكنك تثبيته بسهولة باستخدام مدير الحزم في distro.

تثبيت سودو على أوبونتو وديبيان

apt install sudo

تثبيت سودو على CentOS وفيدورا

yum install sudo

إضافة المستخدم إلى Sudoers

بشكل افتراضي في معظم توزيعات Linux ، يكون منح حق الوصول إلى sudo بسيطًا مثل إضافة المستخدم إلى مجموعة sudo المحددة في ملف sudoers . سيتمكن أعضاء هذه المجموعة من تشغيل أي أمر كجذر. قد يختلف اسم المجموعة من التوزيع إلى التوزيع.

على التوزيعات القائمة على RedHat مثل CentOS و Fedora ، اسم مجموعة sudo هو wheel . لإضافة المستخدم إلى مجموعة التشغيل:

usermod -aG wheel username

في دبيان ، أوبونتو ومشتقاتها ، يُمنح أعضاء المجموعة sudo حق الوصول إلى sudo:

usermod -aG sudo username

يتم تعطيل حساب المستخدم الجذر في أوبونتو بشكل افتراضي لأسباب أمنية ويتم تشجيع المستخدمين على أداء مهمة إدارية للنظام باستخدام sudo. المستخدم الأولي الذي تم إنشاؤه بواسطة مثبت Ubuntu هو بالفعل عضو في مجموعة sudo ، لذا إذا كنت تقوم بتشغيل فرص Ubuntu فهي أن المستخدم الذي قمت بتسجيل الدخول به مُنح بالفعل بامتيازات sudo.

على سبيل المثال للسماح للمستخدم تشغيل linuxize فقط لأمر mkdir مثل sudo ، اكتب:

sudo visudo

وأرفق السطر التالي:

linuxize ALL=/bin/mkdir

في معظم الأنظمة ، يفتح الأمر /etc/sudoers ملف /etc/sudoers باستخدام محرر نصوص vim. إذا لم تكن لديك خبرة في vim ، فراجع مقالتنا حول كيفية حفظ ملف وإنهاء محرر vim.

يمكنك أيضًا السماح للمستخدمين بتشغيل أوامر sudo دون إدخال كلمة المرور:

linuxize ALL=(ALL) NOPASSWD: ALL

كيفية استخدام سودو

بناء جملة الأمر sudo كالتالي:

sudo OPTION.. COMMAND

يحتوي الأمر sudo على العديد من الخيارات التي تتحكم في سلوكه ، لكن عادةً ما يتم استخدام sudo في أبسط أشكاله ، دون أي خيار.

لاستخدام sudo ، ببساطة بادئة الأمر مع sudo :

sudo command

حيث command هو الأمر الذي تريد استخدام sudo.

سوف يقوم سودو بقراءة الملف /etc/sudoers والتحقق مما إذا كان قد تم منح المستخدم /etc/sudoers تقييم sudo. في المرة الأولى التي تستخدم فيها sudo في جلسة ما ، سيُطلب منك إدخال كلمة مرور المستخدم وسيتم تنفيذ الأمر كجذر.

على سبيل المثال ، لسرد جميع الملفات في دليل /root الذي ستستخدمه:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

كلمة مرور المهلة

بشكل افتراضي ، سيطلب منك sudo إدخال كلمة مرورك مرة أخرى بعد خمس دقائق من عدم نشاط sudo. يمكنك تغيير المهلة الافتراضية عن طريق تحرير ملف sudoers . افتح الملف باستخدام visudo :

sudo visudo

قم بتعيين المهلة الافتراضية عن طريق إضافة السطر أدناه ، حيث 10 هي المهلة المحددة بالدقائق:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

قم بتشغيل أمر كمستخدم آخر غير الجذر

هناك تصور خاطئ بأن sudo يستخدم فقط لتوفير أذونات الجذر للمستخدم العادي. في الواقع ، يمكنك استخدام sudo لتشغيل أمر مثل أي مستخدم.

يسمح لك الخيار -u بتشغيل أمر كمستخدم محدد.

في المثال التالي ، نستخدم sudo لتشغيل الأمر whoami كمستخدم "richard":

sudo -u richard whoami

سيقوم أمر whoami بطباعة اسم المستخدم الذي يقوم بتشغيل الأمر:

richard

كيفية إعادة توجيه مع سودو

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

يحدث هذا لأن إعادة توجيه " > " الإخراج تتم تحت المستخدم الذي قمت بتسجيل الدخول ، وليس المستخدم المحدد بواسطة sudo. يحدث إعادة التوجيه قبل استدعاء أمر sudo .

أحد الحلول هو استدعاء shell جديد كجذر باستخدام sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

خيار آخر هو توجيه الإخراج كمستخدم منتظم إلى الأمر tee كما هو موضح أدناه:

echo "test" | sudo tee /root/file.txt

استنتاج

لقد تعلمت كيفية استخدام الأمر sudo وكيفية إنشاء مستخدمين جدد بامتيازات sudo.

sudo المحطة