مثل معظم الأشياء على نظام Linux ، فإن الأمر sudo هوشكلي جدا. يمكن أن يكون لديك أوامر محددة لتشغيل sudo دون طلب كلمة مرور ، وتقييد مستخدمين معينين فقط للأوامر المعتمدة ، وأوامر السجل تعمل مع sudo ، وأكثر من ذلك.
يتم التحكم في سلوك الأمر sudo بواسطة/ الخ / ملف sudoers على نظامك. يجب تحرير هذا الأمر باستخدام الأمر visudo ، الذي يقوم بإجراء التدقيق اللغوي للتأكد من أنك لم تنفصل الملف عن طريق الخطأ.
تحديد المستخدمين مع أذونات سودو
حساب المستخدم الذي تقوم بإنشائه أثناء التثبيتتم وضع علامة على Ubuntu كحساب مسؤول ، مما يعني أنه يمكن استخدام sudo. يمكن أن تكون أي حسابات مستخدمين إضافية تقوم بإنشائها بعد التثبيت إما حسابات مسؤول أو حسابات مستخدمين قياسية - لا تملك حسابات المستخدمين القياسية أذونات sudo.
يمكنك التحكم في أنواع حسابات المستخدمين بيانياً من أداة حسابات المستخدمين في Ubuntu. لفتحه ، انقر فوق اسم المستخدم الخاص بك على اللوحة وحدد حسابات المستخدمين أو ابحث عن حسابات المستخدمين في الشرطة.
اجعل سودو نسيت كلمة مرورك
بشكل افتراضي ، يتذكر sudo كلمة المرور الخاصة بك لمدة 15بعد دقائق من كتابته. لهذا السبب عليك فقط كتابة كلمة مرورك مرة واحدة عند تنفيذ أوامر متعددة مع sudo في تتابع سريع. إذا كنت على وشك السماح لشخص آخر باستخدام جهاز الكمبيوتر الخاص بك وتريد من sudo أن يسأل عن كلمة المرور عندما يتم تشغيله بعد ذلك ، فقم بتنفيذ الأمر التالي وسوف ينسى sudo كلمة مرورك:
sudo - ك
اسأل دائمًا عن كلمة المرور
إذا كنت تفضل أن تطالب في كل مرة تستخدم sudo - على سبيل المثال ، إذا كان لدى أشخاص آخرين حق الوصول إلى جهاز الكمبيوتر الخاص بك بانتظام - يمكنك تعطيل سلوك تذكر كلمة المرور تمامًا.
هذا الإعداد ، مثل إعدادات sudo الأخرى ، موجود في الملف / etc / sudoers. قم بتشغيل الأمر visudo في محطة لفتح الملف للتحرير:
سودو visudo
على الرغم من اسمها ، فإن هذا الأمر يتم تعيينه افتراضيًا على محرر nano سهل الاستخدام بدلاً من محرر vi التقليدي على Ubuntu.
أضف السطر التالي أدناه أسطر الإعدادات الافتراضية الأخرى في الملف:
الإعدادات الافتراضية timestamp_timeout = 0
اضغط على Ctrl + O لحفظ الملف ، ثم اضغط على Ctrl + X لإغلاق Nano. سيطالبك سودو دائمًا بكلمة مرور.
تغيير مهلة كلمة المرور
لتعيين مهلة كلمة مرور مختلفة - إماأطول من 30 دقيقة أو أقل من 5 دقائق - اتبع الخطوات أعلاه ولكن استخدم قيمة مختلفة لـ timestamp_timeout. عدد يتوافق مع عدد الدقائق سوف sudo تذكر كلمة المرور الخاصة بك ل. لجعل sudo تذكر كلمة المرور الخاصة بك لمدة 5 دقائق ، أضف السطر التالي:
الإعدادات الافتراضية timestamp_timeout = 5
لا تسأل عن كلمة المرور
يمكنك أيضًا أن تطلب من sudo أبدًا كلمة مرور -طالما قمت بتسجيل الدخول ، فسيتم تشغيل كل أمر تسبقه مع sudo بأذونات الجذر. للقيام بذلك ، أضف السطر التالي إلى ملف sudoers ، حيث اسم المستخدم هو اسم المستخدم الخاص بك:
اسم المستخدم ALL = (ALL) NOPASSWD: ALL
يمكنك أيضًا تغيير السطر٪ sudo - أي السطر الذي يسمح لجميع المستخدمين في مجموعة sudo (المعروف أيضًا باسم مستخدمي Administrator) باستخدام sudo - لجعل جميع مستخدمي Administrator لا يحتاجون إلى كلمات مرور:
٪ sudo ALL = (ALL: ALL) NOPASSWD: ALL
تشغيل أوامر محددة بدون كلمة مرور
يمكنك أيضا تحديد أوامر محددة من شأنها أنلا تتطلب كلمة مرور عند التشغيل مع sudo. بدلاً من استخدام "ALL" بعد NOPASSWD أعلاه ، حدد موقع الأوامر. على سبيل المثال ، سيسمح السطر التالي لحساب المستخدم الخاص بك بتشغيل الأمرين apt-get و shutdown بدون كلمة مرور.
اسم المستخدم ALL = (ALL) NOPASSWD: / usr / bin / apt-get ، / sbin / shutdown
قد يكون ذلك مفيدًا بشكل خاص عند تشغيل أوامر محددة باستخدام sudo في برنامج نصي.
السماح للمستخدم بتشغيل أوامر محددة فقط
بينما يمكنك القائمة السوداء أوامر محددة ومنع المستخدمين من تشغيلها مع sudo ، هذا ليس فعالًا للغاية. على سبيل المثال ، يمكنك تحديد أن حساب المستخدم لن يكون قادرًا على تشغيل أمر إيقاف التشغيل باستخدام sudo. ولكن يمكن لحساب المستخدم هذا تشغيل الأمر cp باستخدام sudo ، وإنشاء نسخة من أمر إيقاف التشغيل ، وإغلاق النظام باستخدام النسخة.
هناك طريقة أكثر فعالية تتمثل في تحديد القائمة البيضاءأوامر. على سبيل المثال ، يمكنك إعطاء إذن حساب مستخدم قياسي لاستخدام أوامر apt-get و shutdown ، لكن ليس أكثر. للقيام بذلك ، أضف السطر التالي ، حيث يكون standarduser هو اسم مستخدم المستخدم:
المعيار ALL = / usr / bin / apt-get، / sbin / shutdown
سيخبرنا الأمر التالي بالأوامر التي يمكن للمستخدم تشغيلها مع sudo:
sudo -U standarduser –l
تسجيل الدخول سودو
يمكنك تسجيل كل وصول sudo عن طريق إضافة السطر التالي. / var / log / sudo هو مجرد مثال ؛ يمكنك استخدام أي موقع ملف سجل تريد.
ملف تعريف الإعدادات الافتراضية = / var / log / sudo
عرض محتويات ملف السجل باستخدام أمر مثل هذا:
sudo القط / فار / سجل / sudo
ضع في اعتبارك أنه إذا كان المستخدم غير مقيدsudo access ، هذا المستخدم لديه القدرة على حذف أو تعديل محتويات هذا الملف. يمكن للمستخدم أيضًا الوصول إلى موجه الجذر باستخدام sudo وتشغيل الأوامر التي لن يتم تسجيلها. تكون ميزة التسجيل مفيدة للغاية عند اقترانها بحسابات المستخدمين التي قيدت الوصول إلى مجموعة فرعية من أوامر النظام.