কীভাবে অ্যাপ্লিকেশন তৈরি করতে হবে সুডোর সুবিধা ছাড়াই?


15

উবুন্টু 9.10 সার্ভারে আমার কী সেটআপ করতে হবে যাতে কোনও ব্যবহারকারী সেখানে সুডো / অ্যাডমিন সুবিধাগুলির প্রয়োজনে প্রয়োজনীয় পছন্দগুলি (যেমন ./configure, Make & & Make ইনস্টল) অ্যাপ্লিকেশন তৈরি করতে পারে।

আমি কেবল এটির একটি নিরাপত্তা ঝুঁকি মনে করি যে কোনও অ্যাপ্লিকেশন তৈরি করার জন্য তাদের কোনও প্রয়োজন নেই এমন সিস্টেমের অংশগুলিতে ব্যবহারকারীকে অ্যাক্সেস দিতে হবে।

উত্তর:


40

যদি আপনার ব্যবহারকারীরা ব্যবহার করেন

./configure --prefix=/home/user/opt/

বা cmake প্রকল্পের জন্য

cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/

এটি সেই উপসর্গটিতে প্রোগ্রামটি ইনস্টল করবে (ডিফল্ট / usr / স্থানীয় / এর পরিবর্তে) এবং আপনার ব্যবহারকারীরা তখন প্রোগ্রামটি এভাবে চালাতে সক্ষম হবেন:

/home/user/opt/bin/program

আপনি যদি নামটি (পুরো পাথ ব্যতীত) কেবল নাম ব্যবহার করে প্রোগ্রামগুলি চালাতে সক্ষম হতে চান তবে /home/user/opt/binআপনার প্যাথ এনভায়রনমেন্ট ভেরিয়েবল যুক্ত করতে হবে, ব্যবহারকারীদের সম্পাদনা করুন এবং নিম্নলিখিত লাইনটি যুক্ত করুন:

export PATH=/home/user/opt/bin:$PATH

মনে রাখবেন যে এইভাবে ইনস্টল করা প্রোগ্রামগুলি নির্দিষ্ট ব্যবহারকারীর কাছে ব্যক্তিগত হবে তবে এটি করার একটি উপায় এটি


অন্যান্য ব্যবহারকারীরা যদি পুরো পথ সরবরাহ করে এবং অনুমতিগুলি যথাযথভাবে সেট করা থাকে তবে তারা এটির মতো ইনস্টল করা প্রোগ্রামগুলি ব্যবহার করতে সক্ষম হবে; এবং এটি প্রদর্শিত হয় যে ডিফল্ট উমাস্ক এটি আমার ডেস্কটপ ইনস্টল করতে দেয়।
অ্যালিস্টায়ার বুকসটন

আমি যে কোডবেজটি সংকলন করছিলাম তার একটি Makefileতবে কোনও কনফিগার ছিল না, আমি কেবল এটিতে গিয়ে prefix = /some/pathলাইনটি নিজের বাড়ির ডিরেক্টরিতে পরিবর্তন করলাম (কোনও পিছনে স্ল্যাশ নেই) এবং তারপরে make installসুডো ছাড়াই দৌড়ে গেল - সব এখন কাজ করছে, তাই ধন্যবাদ।
বড় ধনী

8

ব্যবহারকারীরা সুডোর অধিকার ছাড়াই অ্যাপ্লিকেশন তৈরি করতে পারে। আপনি যখন সিস্টেম ডিরেক্টরিতে কোনও কিছু ইনস্টল করতে চান তখন আপনার যখন সুডোর অধিকারের প্রয়োজন হয় time

./configureএবং makesudo অধিকার ছাড়া সর্বদা কাজ। make installসাধারণত সুডোর অধিকারের প্রয়োজন হয় কারণ এটি অ্যাপ্লিকেশনটি ইনস্টল করবে /usr/localবা /usr(কখনও কখনও /opt)।

তবে, আপনি যদি ইনস্টলেশন পথের (যেমন ./configure --prefix=~/usr/local) উপায়ে পরিবর্তনটি ব্যবহারকারীর হোম ডিরেক্টরি গাছের অভ্যন্তরে সঞ্চালিত হয় এমন উপায়ে পরিবর্তন করে থাকেন তবে কোনও sudo অধিকারের প্রয়োজন নেই make install


আমি এখনও মনে করি আপনার উত্তর সম্পূর্ণরূপে ব্যাক আপ করা হয় নি। কেন ./configureএবং সবসময় ছাড়া makeকাজ ? যিনি উদাহরণস্বরূপ কার্যকর করে চলেছেন তাকে কীভাবে আমি ন্যায়সঙ্গত করব ? sudosudo make install
নিকস আলেকজান্দ্রিস

0

কি যোগ করা হচ্ছে txwikinger বলেছেন, এছাড়াও আপনি চেক করতে চান পারে fakeroot, যার .deb প্যাকেজ নির্মাণের জন্য একটি সুযোগ দেয় dpkgউঁচু বিশেষাধিকার ছাড়াই। অবশ্যই, এগুলি ইনস্টল করার জন্য সাধারণত সুডো অ্যাক্সেসের প্রয়োজন হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.