هل هناك ما يعادل BSD "!!"؟

غالباً ما أجد نفسي بإصدار أمر لا أمتلك الامتيازات المرتفعة المناسبة له.

على أوبونتو يمكنني استخدام

sudo !!

هذا من شأنه أن يصدر نفس الأمر مع امتيازات sudo. هل هناك ما يعادل على OpenBSD؟

تعديل: كان يجب أن أكون أكثر تحديدًا في إصدار OpenBSD. أنا أستخدم OpenBSD 4.8 حيث يبدو أن sudo مثبت بشكل افتراضي. لقد قمت بالفعل بإنشاء مستخدم إلى جانب الجذر وتحرير ملف sudoers ليسمح لذلك المستخدم باستخدام sudo.

سؤالي هو ، هل هناك بالفعل اختصار المدمج في "!!" لاستخدام الأمر السابق.

1

7 إجابة

sudo is an independent software package that started development at least a decade before Ubuntu or OpenBSD.

أود أن أقترح عليك استخدام pkg_add لـ OpenBSD للحصول على هذا على نظامك ، ولكن الأسئلة الشائعة الخاصة بـ OpenBSD لـ تحتوي الحزمة الجديدة على مثال يستخدم sudo ، لذا يجب أن يتم تثبيته بالفعل.

هل يعمل !! بمفرده (على سبيل المثال بدون sudo )؟ إذا لم يكن الأمر كذلك ، فقد يتم إعدادك لاستخدام قشرة مختلفة عن التي تستخدمها على Ubuntu.

4
وأضاف
هذه. كنت قد اعتدت على قذيفة BASH. لقد قمت بتثبيت BASH وتعيينه إلى shell الافتراضي الخاص بي.
وأضاف المؤلف Hey I Can Chan, مصدر

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

لقد مر وقت طويل منذ أن لعبت مع أي من BSDs ، لكنها تميل إلى أن تكون UNIXes "تقليدية" أكثر ، مما يعني أنها لا تزال تستخدم غلاف Bourne الحقيقي (اقرأ: ليس كما هو موضح باسم bash) كقذيفة الجذر. "بورن الحقيقي" قذيفة في هذه الحالة يعني أي آلية التاريخ. هذا لأسباب تتعلق باسترداد النظام. (*)

عند تسجيل الدخول إلى الجذر ، يمكنك تنفيذ shell مع السجل ، إما exec/bin/bash أو exec/bin/tcsh كما تشاء.

كانت الخدعة القديمة تتمثل في الحصول على حساب الجذر المتساوي ، والذي يُسمى عادةً "toor" الذي كان يحتوي على tsch أو bash shell shell ، نفس المنزل dir ، و uid 0. لا يجب عليك تجميد الجذر ، يمكنك sudo toor ، وبعد ذلك في bash. لست متأكدا ما هو سخونة جديدة ، ربما

(*) السبب ، قشرة الجذر هي/sbin/sh ، وترتبط بشكل ثابت. بمعنى أنه يحتوي على أدنى عدد من التبعيات. إذا كانت shell الخاص بك هو/bin/bash ولديها اعتمادات مكتبة على/usr ، والآن/usr هو gorked ، ليس لديك shell. إذا كانت قوقعتك/sbin/sh ، إذا كان على الأقل/sbin قابلة للتركيب ، فيمكنك القيام ببعض الأعمال.

3
وأضاف

This site should be of some help to you: http://linux-bsd-sharing.blogspot.com/2009/03/howto-using-sudo-on-freebsd.html

أيضا ، على مهام المشرف BSD يتم الاعتناء بها مباشرة من حساب المستخدم الجذر. على Ubuntu ، يتم تعطيل حساب المشرف الرئيسي وتتم جميع مهام المشرف من خلال حساب المستخدم والتحقق من موافق من قبل برنامج sudo.

عند تثبيت BSD ، كان يجب أن يطلب منك ما تريد أن تكون كلمة مرور الجذر الخاصة بك ، يجب أن تكون قادرًا على تسجيل الدخول إلى الجذر باستخدام كلمة المرور التي حددتها. إذا تم تعطيل تسجيل الدخول إلى الجذر المحلي في Gnome (أو أيًا كان ما تستخدمه كسطح المكتب الخاص بك) ، فيمكنك تسجيل الدخول كجذر باستخدام الأمر "su -" في وحدة طرفية ويجب أن يطلب منك كلمة مرور الجذر الخاصة بك. بمجرد تسجيل الدخول كجذر ، يمكنك القيام بأي شيء تريده لأن هذا الحساب لديه كل الامتيازات.

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

2
وأضاف

كما أشار آخرون ، فإن المشكلة ليست في لينكس مقابل BSD ، بل هي shell الذي تستخدمه. ولكن ، كملاحظة جانبية لتعليق ريتش هومولكا ، هناك طريقة آمنة للحصول على غلاف مختلف كجذر عند تسجيل الدخول إلى نظام BSD. ما عليك سوى إضافة هذا إلى نهاية ملفك الشخصي.

bash && exit 0

إذا فشلت bash لأي سبب من الأسباب ، فأنت ببساطة تسقط في sh (لا تقم بتغييرها في ملف كلمة المرور الرئيسي بالطبع) وإذا نجحت ، فسوف يتم تسجيل خروجك عند الخروج (تسجيل الخروج) من bash.

2
وأضاف

فقط قم بتثبيت sudo:

# pkg_add -r sudo

-أو-

# cd /usr/ports/security/sudo
# make install
1
وأضاف
عفوًا - يجب أن تكون أوامر FreeBSD - غير مؤكدة على أوامر OpenBSD - متشابهة جدًا.
وأضاف المؤلف Majenko, مصدر
هذا هراء - يحتوي OpenBSD بالفعل على sudo كجزء من النظام الأساسي.
وأضاف المؤلف Elizabeth Green, مصدر

لدى OpenBSD تطبيق خاص بها مدمج في النظام الأساسي ، لذلك إذا كان المستخدم في الملف /etc/sudoers ، فقد تكون المشكلة هي أن shell الخاص بك هو على الأرجح Bourne sh ، والتي لا توفر نفس الوظائف التي قد تستخدمها من Ubuntu.

أعتقد أنه يمكنك تثبيت bash باستخدام الأمر pkg_add -r bash ، ثم تعيينه chsh -s/usr/local/bin/bash (أعتقد أن هذا هو الصحيح المسار ، وأنا على دراية أكثر مع FreeBSD ، ولكن أعتقد أن نظام الموانئ/حزمة مماثل على حد سواء).

0
وأضاف

تستخدم OpenBSD افتراضيًا صيغة Korn shell (pdksh لتكون دقيقة). إنها تدعم آلية السجل !! ، ولكن يجب إخبارها بتمكينها (كما هو موضح في صفحة ksh (1) :

set -o csh-history

فقط ضع ذلك في .klogin إذا كنت تريد أن تلتصق.

0
وأضاف