সীমাবদ্ধ প্রোগ্রামের (লিনাক্সের জন্য ভাইবার) কেবলমাত্র নির্দিষ্ট ডিরেক্টরিতে অ্যাক্সেস


0

প্রোগ্রামগুলির অ্যাক্সেস কেবলমাত্র নির্দিষ্ট ডিরেক্টরিতে সীমাবদ্ধ করা সম্ভব, উদাহরণস্বরূপ, ফেডোরায় ভাইবার চালানো এবং কেবলমাত্র /home/username/.local/share/viber/exchangeঅন্য কোনও ডিরেক্টরিতে পড়তে সক্ষম হতে বাধ্য করা ?

আমি ভাইবারকে অন্য user:group( viber:viber) হিসাবে তৈরি এবং পরিচালনা করতে সক্ষম হয়েছি । আমি যখন আমার বা অন্য কোনও ব্যবহারকারীর ভাইবার ফাইলগুলি ভিতরে থেকে খোলার চেষ্টা করি তখন এটি সেগুলি পড়তে পারে না। লক্ষ্য অর্জন করেছেন তবে আংশিকভাবে। এখন, আমি অন্য সমস্যার বিরুদ্ধে হোঁচট খেয়েছি , যা হ'ল ভাইবার কেবল বার্তাগুলি নিয়ে কাজ করে এবং যখন আমি কোনও কল করার চেষ্টা করি, তখন এটি বলে, এটি মাইক্রোফোন বা স্পিকার না খুঁজে পাবে? এটা তোলে মনে করেন যে আমি জানি তুমি কেন (আমি নিজেকে এবং যেমন এক্স সার্ভার (জিনোম) চালানো , Viber হিসাবে viber:viber( user:group)) কিন্তু আমি নিশ্চিত যাক কিভাবে নই Viber ব্যবহারকারী মাইক্রোফোন এবং স্পিকার ব্যবহার করতে আমার নামে এক্স সার্ভার চলমান যখন?

হতে পারে, আমি viberএকটি নির্দিষ্ট গ্রুপে ব্যবহারকারী যুক্ত করা প্রয়োজন ? সম্ভবত সেলইনাক্সের সাথে কিছু কাজের ক্ষেত্র রয়েছে? যদি তাই হয় আপনি সঠিক নীতি উদাহরণ প্রদান করতে পারেন? : ডি

ভাইবার দুর্দান্ত বলে মনে হচ্ছে তবে এটি ওপেন সোর্স নয় এবং কেবলমাত্র Godশ্বর জানেন, সফ্টওয়্যারটির পূর্ব-সংকলিত টুকরাটির সোর্স-কোডে কী আছে!

উত্তর:


2

ব্যবহার chroot

একটি ছোট তৈরি করুন রুট ডিরেক্টরিটি ধারণকারী /bin, /usr, /lib, /tmpইত্যাদি (আপনার প্রয়োজন উপর নির্ভর করে) এই মধ্যে আপনার সব জিনিস কপি নতুন মূল , চেয়ে বেশিক্ষণ chrootএই ডিরেক্টরির মধ্যে।

chroot কমান্ডটি হ'ল একটি পুরানো আন * এক্স সরঞ্জাম, ঠিক এই অর্থ দিয়ে তৈরি।

আপনি পারে বাঁধে ডিরেক্টরিতে ধারক ব্যবহার করে mount --bind

কটাক্ষপাত আছে man chrootএবং man mount!

সামান্য চেষ্টা করুন:

ldd /bin/bash 
    linux-vdso.so.1 =>  (0x00007fff3e4b5000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f06290a1000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0628e9d000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0628b12000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f06292e8000)


sudo -s

সতর্কতা, সেখান থেকে!

mkdir /tmp/test/chrooted/lib64
cp -t /tmp/test/chrooted/lib/x86_64-linux-gnu/ \
    /lib/x86_64-linux-gnu/{libc.so.6,libdl.so.2,libtinfo.so.5}
cp -t /tmp/test/chrooted/lib64 /lib64/ld-linux-x86-64.so.2 
chroot /tmp/test/chrooted

আমি কারাগারে!

ls
bash: ls: command not found

কোন lsআদেশ নেই /bin!

ব্যবহার openvzবাlxc

হালকা ভার্চুয়ালাইজেশনের পরবর্তী পদক্ষেপটি হ'ল একটি openvzবা lxc(বা অন্য, সম্ভবত) চালানো।

এই সরঞ্জামগুলি প্রায় করে। একই chroot, তবে বিচ্ছিন্ন কার্নেল নেমস্পেস ব্যবহার করুন । এটি আপনাকে নেটওয়ার্ক ইন্টারফেস বা অন্যান্য ডিভাইস এবং মেমরি, সিপিইউ এবং অন্যান্য সংস্থানসমূহের চারপাশে কিছু সীমাবদ্ধতার অনুকরণ করতে দেয় ...

এই ধরনের সঙ্গে হালকা virtualisation , আপনি ব্যবহার না করে একই পদ্ধতিতে ডিরেক্টরি ভাগ পারে chroot, ব্যবহার করে mount --bind(অথবা অধীনে openvzহয়তো ব্যবহার mount -t simfsদরকারী হতে পারে)।

শক্তিশালী ভার্চুয়ালাইজেশন

এরপরে আপনি ব্যবহার করতে পারেন kvm, xenবা অন্য প্রসচিব গুণাগুণ সফ্টওয়্যার ...

তবে সেখান থেকে, ডিরেক্টরিগুলি ভাগ করে নেওয়ার মাধ্যমে কোনও ধরণের (সিউডো) নেটওয়ার্ক পরিষেবাটি প্রেরণ করা হয় ...


আমি মনে করি, আপনার প্রশ্নটি পুনরায় পড়ার পরে, সবচেয়ে সহজ উপায়টি ব্যবহার করা chroot। প্রতিটি ব্যবহারকারীর হোমডিরের একটি কপি হতে পারে। আপনি এর জন্য হার্ডলিঙ্কগুলি ব্যবহার করতে পারেন : দেখুন cp -l
এফ। হাউরি

ধন্যবাদ, এফ.হৌরি! আমি আগে এটি করার চেষ্টা করছিলাম, তবে ফেডোরায় এটি বলেছে : chroot: failed to run command ‘/bin/bash’: No such file or directory?
ইলিয়া রোস্তভটসেভ

আপনাকে /bin/bashক্রোটযুক্ত এনভিএ-তে একটি অনুলিপি ইনস্টল করতে হবে , তবে আপনার অনুলিপি ব্যবহৃত গ্রন্থাগারও রয়েছে! ldd /bin/bashকী প্রয়োজন তা দেখতে কমান্ডটি ব্যবহার করে দেখুন।
এফ। হাউরি

আমি চেষ্টা করেছিলাম! আমি একটি সংকলন তৈরি /home/username/viber/chroot, তাহলে এটি অধীনে, আমি তৈরি bin, lib, home, var, etc। এর ভিতরে libআমি সেই ফাইলগুলি রেখেছিলাম lddযা binআমি রেখেছি এবং তার ভিতরে আউটপুট ছিল bash? নিশ্চিত নয় কেন এটি কাজ করছে না? মালিকের অনুমতি সম্পর্কে কী? সেন্টিমিটারের কী হবে? এটা কি chroot /home/username/viber/chroot? আমি এখনও ত্রুটি পেয়েছি? আমি কি এটি চালাচ্ছি root? আমি করেছিলাম. ফোল্ডারে অনুমতি সেটিংস কী হওয়া উচিত?
ইলিয়া রোস্তভটসেভ

হতে খুব সতর্কতা অবলম্বন না , Viber রুট হিসাবে চালাতে (chroot পরে, আপনি মূল হবে যদি না আপনি ব্যবহারকারীর পরিবর্তন)। যেহেতু ভাইবার সম্ভবত একটি জিইউআই অ্যাপ্লিকেশন, তাই এটি ডিফল্টরূপে অন্যান্য সমস্ত দৃশ্যমান উইন্ডোতেও অ্যাক্সেস পাবে। ভার্চুয়ালাইজেশন সফ্টওয়্যার ব্যবহার করে "সবচেয়ে সহজ" পৃথকীকরণের জন্য, আমি ব্যক্তিগতভাবে কিউইএমইউ (কেভিএম) ব্যবহার করব, তবে ভার্চুয়ালবক্সের মতো অন্যদেরও ঠিকঠাক কাজ করা উচিত। অন্যান্য ক্ষেত্রে, আমি AppArmor ব্যবহার করার চেষ্টা করি ।
লেকেনস্টেইন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.