আমি কেবল লক্ষ্য করেছি যে ওএস এক্স 10.6.4 এ মূলের শেলটি সেট করা আছে /bin/sh। কোনও সুরক্ষা সমস্যা বা বাশ চালানোর সাথে কিছু আছে?
আমি কেবল লক্ষ্য করেছি যে ওএস এক্স 10.6.4 এ মূলের শেলটি সেট করা আছে /bin/sh। কোনও সুরক্ষা সমস্যা বা বাশ চালানোর সাথে কিছু আছে?
উত্তর:
আমি বিশ্বাস করি যে ইউনিক্সের সামঞ্জস্যের কারণে, ডিফল্ট রুট শেলটি / বিন / শ হয়।
Http://en.wikedia.org/wiki/Bourne_shell দেখুন
এক পর্যায়ে, / বিন / শ একটি জেডশ শেল ছিল, আমি বিশ্বাস করি। অ্যাপল এটিকে ব্যাশে পরিবর্তন করেছে কারণ zsh পসিক্স অনুগত বা সামসুচ ছিল না।
সম্পাদনা করুন:
Makefile নামক sourcecode , দেখাচ্ছে যে / বিন / SH ব্যাশ উৎস থেকে নির্মিত।
সম্পাদনা # 2:
বিরক্ত হয়ে আমি চেক করলাম। দেখে মনে হচ্ছে ম্যাক ওএস এক্স 10.1.5 হ'ল / বিন / শের জন্য zsh ব্যবহার করার সর্বশেষ সংস্করণ । এটি 10.2 এ বাশতে পরিবর্তন করা হয়েছিল ।
উবুন্টু sh এর পরিবর্তে গতির জন্য ডিফল্ট সিস্টেম শেল হিসাবে ড্যাশ ব্যবহার করে। আমার ধারণা যদি এটি সত্যিই sh হয় তবে এটি সম্ভবত একই কারণ।
ডিফল্ট সিস্টেম শেল হিসাবে বাশ কেন সত্যই সেরা পছন্দ নয় তা এখানে বেশ কয়েকটি কারণ রয়েছে: https://wiki.ubuntu.com/DashAsBinSh
/ বিন / শ বাশ নয়?
/ বিনে একটি 'ls -lisa' করুন। তারপরে ডিরেক্টরিতে একটি './sh -version' করুন এবং sh নিজেকে GNU বাশ হিসাবে চিহ্নিত করবে।
stat -f "%N: %i" /bin/sh /bin/bash, তারা একে অপরের হার্ডলিঙ্ক নয় এবং দুটি ফাইলের একটি এমডি 5সাম বিভিন্ন চেকসাম তৈরি করে। এমনকি যদি /bin/shএটির জন্য একটি সিমিলিংক বা হার্ডলিঙ্ক ছিল /bin/bash, বাশ নামটির অধীনে চালিত নামটি পরীক্ষা করে এবং নামটি থাকলে একটি সামঞ্জস্যতা মোড সক্রিয় করে sh।
set -o viঅধীন চলাকালীন ট্যাব সমাপ্তি বন্ধ করে দেয় sh, তবে তা নয় bash। বলার shবিষয়টি bashএড়িয়ে যায় যে তারা অন্যরকম আচরণ করে যা এই প্রশ্নের মূল বিষয়। ওএস এক্স কেন ব্যবহার করছে shএবং এটির ব্যবহারটি পরিবর্তন করা কি নিরাপদ bash। আমি সন্দেহ করি না যে তারা উভয়ই একই উত্স থেকে নির্মিত, তবে তারা একই নয়।
$(Extra_Configure_Flags) --enable-strict-posix-defaultআমি যথেষ্ট নিশ্চিত তাই এমডি 5 চেকসামগুলি আলাদা এবং তারা কিছুটা আলাদা আচরণ প্রদর্শন করে ex আমি কেন ইউনিক্স গীকেরset - o vi মতো আচরণ করি তা জানতে যথেষ্ট নই , তবে আমি পসিএক্স
রুটের লগইন / ইন্টারেক্টিভ শেল সেট /bin/bashকরা শেল স্ক্রিপ্টগুলিতে #!/bin/shতার শেবাং লাইন হিসাবে কোনও প্রভাব ফেলবে না । এই স্ক্রিপ্টগুলির জন্য যে কোনও ফাইল যেহেতু /bin/shএটি একক এক্সিকিউটেবল বা সিমলিংক বা হার্ড লিঙ্কটি সেই স্ক্রিপ্টটির ব্যাখ্যার জন্য ব্যবহৃত হবে be অনুরূপভাবে স্ক্রিপ্টের জন্য এই পদ্ধতিতে কমান্ড লাইন থেকে চালানো: sh script।
রুট ব্যবহারকারীর ইন্টারেক্টিভ শেলটিকে / বিন / ব্যাশে সেট করা পুরোপুরি ঠিক।