عند استخدام أنسيبل، تكون become_user
و become
ضروريين عندما تحتاج إلى تشغيل الأوامر بصلاحيات مستخدم آخر، مثل المدير النظام (root). لكن هناك فرق بينهما في كيفية تطبيق هذه الصلاحيات.
become_user
يحدد المستخدم الذي سيتم تشغيل الأوامر بصلاحياته. مثلاً، إذا كنت تريد تشغيل الأوامر كمستخدم root، يمكنك استخدام:
yamlbecome: yes
become_user: root
وهذا يعني “قم بتنفيذ الأوامر كمستخدم root”. أما become
فهو يشير إلى ما إذا كنت تريد أن تكون كل الأوامر في الملف الذي تكتبه بصلاحيات المستخدم المحدد. على سبيل المثال، إذا كنت تريد تنفيذ الأوامر كمستخدم root، يمكنك استخدام:
yamlbecome: yes
become_user: root
أو يمكنك استخدام الاختصار التالي:
yamlbecome: yes
في هذه الحالة، ستقوم أنسيبل بتنفيذ الأوامر كمستخدم root تلقائياً.
إذا كنت تريد فقط تنفيذ بعض الأوامر كمستخدم معين، يمكنك استخدام become_user
فقط دون استخدام become
.
المزيد من المعلومات
بالطبع! عندما تستخدم Ansible، يُستخدم become
لتحديد ما إذا كنت تريد تنفيذ الأوامر بصلاحيات المستخدم الجديد المحدد في become_user
، أم لا. إذا قمت بتعيين become: yes
، فسيتم تنفيذ الأوامر بصلاحيات المستخدم الجديد، بينما إذا كانت قيمة become: no
، فستُنفذ الأوامر بصلاحيات المستخدم الحالي.
من الجيد أيضاً أن تعرف أنه يُمكنك استخدام become_method
لتحديد كيفية تنفيذ الأوامر بصلاحيات المستخدم الجديد. يمكن أن تكون القيمة sudo
(القيمة الافتراضية) أو su
أو pbrun
أو غيرها، حسب نظام التشغيل الخاص بك.
أيضاً، يُمكنك استخدام become_flags
لتحديد علامات إضافية تُرسل إلى الأمر الذي يستخدم للتحويل إلى المستخدم الجديد. مثلاً، يمكنك استخدامها لتمكين تأكيد كلمة المرور عند استخدام su
، عبر تعيين become_flags: -i -H
، حيث -i
يقول لـ su
أن يشغل الصف shell بشكل تفاعلي، و -H
يقول لـ su
أن يعتبر المسار الرئيسي للمستخدم الجديد.
أخيرًا، يُمكنك استخدام ansible_become_pass
في الملف ansible.cfg
لتحديد كلمة المرور التي يُطلب من المستخدم تقديمها عند التحويل إلى المستخدم الجديد.