সুসংবাদ: নতুন ডকার (সংস্করণ 19.03 (বর্তমানে পরীক্ষামূলক)) রুট ব্যবহারকারী ব্যবহার করে যে সমস্যাগুলি দেখা দিতে পারে তা অস্বীকার করে রুটলেস চালাতে সক্ষম হবে কোন উঁচু অনুমতি, রুট এবং কিছু যে আপনার মেশিন খুলুন পারে যখন আপনি চান না সঙ্গে তালগোল পাকানো.
এই সম্পর্কে ভিডিও থেকে [ডকারকন 2019] রুটলেস মোডের সাথে ডকার ডেমন শক্ত করা
রুটলেস ডকার মোডে কয়েকটি সতর্কতা
ডকার ইঞ্জিনিয়াররা বলছেন যে রুটলেস মোডটিকে ডকার ইঞ্জিন বৈশিষ্ট্যগুলির সম্পূর্ণ স্যুটটির প্রতিস্থাপন হিসাবে বিবেচনা করা যায় না রুটলেস মোডের কিছু সীমাবদ্ধতার মধ্যে রয়েছে:
- সিগ্রুপস রিসোর্স কন্ট্রোলস, অ্যাপারমোর সুরক্ষা প্রোফাইল, চেকপয়েন্ট / পুনরুদ্ধার,ওভারলে নেটওয়ার্ক ইত্যাদি রুটলেস মোডে কাজ করবেন না
- পাত্রে থেকে পোর্ট প্রকাশক বর্তমানে ম্যানুয়াল সোক্যাট সাহায্যকারী প্রক্রিয়া প্রয়োজন.
- শুধু উবুন্টু ভিত্তিক ডিস্ট্রোস রুটলেস মোডে ওভারলে ফাইল সিস্টেম সমর্থন করে.
- রুটলেস মোড বর্তমানে কেবল রাতের বিল্ডগুলির জন্য সরবরাহ করা হয়েছে যা আপনি অভ্যস্ত হওয়ার মতো স্থিতিশীল নাও হতে পারে.
ডকার 19.3 হিসাবে এটি অপ্রচলিত (এবং প্রয়োজনের চেয়ে বেশি বিপজ্জনক):
দ্য ডকার ম্যানুয়াল এটা সম্পর্কে বলার আছে:
অ রুট অ্যাক্সেস প্রদান
ডকার ডেমন সর্বদা রুট ব্যবহারকারী হিসাবে চলে এবং ডকার সংস্করণ থেকে 0.5.2, ডকার ডেমন একটি এর পরিবর্তে একটি ইউনিক্স সকেটে আবদ্ধ হয় টিসিপি বন্দর. ডিফল্টরূপে যে ইউনিক্স সকেট ব্যবহারকারী রুট মালিকানাধীন হয়, এবং তাই, ডিফল্টরূপে, আপনি সুডো সঙ্গে এটি অ্যাক্সেস করতে পারেন.
0.5.3 সংস্করণে শুরু করে, যদি আপনি (বা আপনার ডকার ইনস্টলার) ডকার নামে একটি ইউনিক্স গ্রুপ তৈরি করেন এবং এতে ব্যবহারকারীদের যুক্ত করেন, তবে ডকার ডেমন ইউনিক্স সকেটের মালিকানা ডকার গ্রুপ দ্বারা পড়তে/লিখনযোগ্য করে তুলবে যখন ডেমন শুরু হয় ডকার ডেমন সর্বদা রুট ব্যবহারকারী হিসাবে চলতে হবে, তবে আপনি যদি ডকার গ্রুপে ব্যবহারকারী হিসাবে ডকার ক্লায়েন্ট চালান তবে আপনাকে সমস্ত ক্লায়েন্ট কমান্ডে সুডো যুক্ত করার দরকার নেই 0.9.0 হিসাবে, আপনি ডকার ছাড়া অন্য একটি গ্রুপ-জি বিকল্পের সাথে ইউনিক্স সকেটের মালিক হওয়া উচিত তা নির্দিষ্ট করতে পারেন
সতর্কতা: ডকার গ্রুপ (বা এর সাথে নির্দিষ্ট গ্রুপ-জি) মূল-সমতুল্য; দেখা ডকার ডেমন আক্রমণ পৃষ্ঠের বিশদ এবং এই ব্লগ পোস্ট কেন আমরা নন-রুট ব্যবহারকারীদের সেন্টোস, ফেডোরা বা আরএইচএলে ডকার চালাতে দিই না (ধন্যবাদ মাইকেল-এন).
এর সাম্প্রতিক রিলিজে গিটহাবের পরীক্ষামূলক রুটলেস মোড, ইঞ্জিনিয়াররা উল্লেখ করেছেন যে রুটলেস মোড ডকারডকে সুবিধাবঞ্চিত ব্যবহারকারী হিসাবে চালানোর অনুমতি দেয়, ব্যবহার করে ব্যবহারকারী_নামস্থান(7), মাউন্ট_নামস্পেস(7), নেটওয়ার্ক_নামস্থান(7).
ব্যবহারকারীদের চালানো প্রয়োজন dockerd-rootless.sh ডকারডের পরিবর্তে
$ dockerd-rootless.sh --experimental
রুটলেস মোড পরীক্ষামূলক হওয়ায় ব্যবহারকারীদের সর্বদা চালানো দরকার dockerd-rootless.sh সঙ্গে-পরীক্ষামূলক.
পড়া গুরুত্বপূর্ণ: লিনাক্সের জন্য ইনস্টলেশন-পরবর্তী পদক্ষেপ (এটি লিঙ্ক ডকার ডেমন আক্রমণ পৃষ্ঠের বিশদ).
নন-রুট ব্যবহারকারী হিসাবে ডকার পরিচালনা করুন
ডকার ডেমন একটি এর পরিবর্তে একটি ইউনিক্স সকেটে আবদ্ধ টিসিপি বন্দর. ডিফল্টরূপে ইউনিক্স সকেট ব্যবহারকারী রুট মালিকানাধীন হয় এবং অন্যান্য ব্যবহারকারীদের শুধুমাত্র সুডো ব্যবহার করে এটি অ্যাক্সেস করতে পারেন. ডকার ডেমন সর্বদা রুট ব্যবহারকারী হিসাবে চলে
আপনি যখন ডকার কমান্ডটি ব্যবহার করেন তখন আপনি যদি সুডো ব্যবহার করতে না চান তবে ডকার নামে একটি ইউনিক্স গ্রুপ তৈরি করুন এবং এতে ব্যবহারকারীদের যুক্ত করুন ডকার ডেমন শুরু হয়, তখন এটি ইউনিক্স সকেটের মালিকানা ডকার গ্রুপ দ্বারা পড়তে/লিখনযোগ্য করে তোলে
-
এটি ইতিমধ্যে উপস্থিত না থাকলে ডকার গ্রুপ যুক্ত করুন:
sudo groupadd docker
-
সংযুক্ত ব্যবহারকারী যুক্ত করুন;$ব্যবহারকারী উদ্ধৃতি; ডকার গ্রুপে আপনি যদি আপনার বর্তমান ব্যবহারকারী ব্যবহার করতে না চান তবে আপনার পছন্দসই ব্যবহারকারীর সাথে মেলে ব্যবহারকারীর নাম পরিবর্তন করুন:
sudo gpasswd -a $USER docker
হয় একটি newgrp docker
অথবা গ্রুপ পরিবর্তন সক্রিয় করতে লগ আউট/ইন.
-
আপনি ব্যবহার করতে পারেন
docker run hello-world
আপনি সুডো ছাড়া ডকার চালাতে পারেন কিনা তা পরীক্ষা করতে