উবুন্টু বলেছে "বাশ: ./ প্রোগ্রামের অনুমতি অস্বীকার করা হয়েছে" [বন্ধ]


205

আমি কম্পিউটার 1 এবং 2 কম্পিউটারে উবুন্টু চালাচ্ছি computer আমি কম্পিউটার 1-তে একটি সি ++ প্রোগ্রাম সংকলন করেছি এবং টার্মিনালটি ব্যবহার করে এটি চালিয়ে দিতে পারি ./program_name। এটা ঠিক আছে।

যাইহোক, আমি যখন কম্পিউটার 2 এ এটি করার চেষ্টা করি তখন এটি বলে: bash: ./program_name: permission denied

কী ভুল এবং আমি এটি সম্পর্কে কি করতে পারি?


7
আপনার কাছে মৃত্যুদন্ড কার্যকর করার অনুমতি আছে progam_name?
ফেডরকিই 'এসও ক্ষতিগ্রস্থ হওয়া বন্ধ করুন'

1
আপনি কম্পিউটার 1 থেকে কম্পিউটার 2 তে প্রোগ্রামটি কীভাবে পেয়েছেন? আপনি কি এক্সিকিউটেবলকে অনুলিপি করেছেন বা উত্স কোডটি পুনরায় সংকলন করেছেন? "Ls -l প্রোগ্রাম_নাম" কমান্ডের আউটপুটটি কী?
এরিক পোস্টপিসিল

2
এটি
SO-

4
চেষ্টা করুনbash program_name
নাদজিব মামি

9
আমি একটি .shফাইল লিখেছি । এটি এই ত্রুটি বার্তাটি দিয়ে কার্যকর করতে অস্বীকৃতি জানায়। আমি বলব এটি অবশ্যই স্ট্যাকওভারফ্লোর জন্য বিষয়। আমি পুনরায় খোলার জন্য মনোনীত করেছি।
আর্টঅফ ওয়ারফেয়ার

উত্তর:


391

chmod u+x program_name। তারপরে এটি কার্যকর করুন।

যদি এটি কাজ না করে, তবে ইউএসবি ডিভাইস থেকে সিস্টেমের নেটিভ ভলিউমে প্রোগ্রামটি অনুলিপি করুন। তারপরে chmod u+x program_nameস্থানীয় অনুলিপিতে এবং তা কার্যকর করুন।

ইউনিক্স এবং ইউনিক্স-এর মতো সিস্টেমগুলি সাধারণত কোনও প্রোগ্রাম কার্যকর করার অনুমতি দেয় না যদি না এটি কার্যকর করার অনুমতি দিয়ে চিহ্নিত করা হয়। আপনি যেভাবে একটি সিস্টেম থেকে অন্য সিস্টেমে ফাইলটি অনুলিপি করেছেন (বা একটি বাহ্যিক ভলিউম মাউন্ট করেছেন) এটি কার্যকর করার অনুমতি বন্ধ করেছে (সুরক্ষা বৈশিষ্ট্য হিসাবে)। কমান্ডটি chmod u+x nameব্যবহারকারীর জন্য অনুমতি যুক্ত করে যা ফাইলটি চালানোর জন্য এটির মালিক।

এই কমান্ডটি কেবলমাত্র ফাইলের সাথে সম্পর্কিত অনুমতিগুলি পরিবর্তন করে; এটি পুরো ভলিউমের সাথে সম্পর্কিত সুরক্ষা নিয়ন্ত্রণগুলিকে পরিবর্তন করে না। যদি এটি প্রয়োগের ক্ষেত্রে হস্তক্ষেপকারী ভলিউমের সুরক্ষা নিয়ন্ত্রণ হয় (উদাহরণস্বরূপ, noexecইউনিক্স fstabফাইলের একটি ভলিউমের জন্য একটি বিকল্প নির্দিষ্ট করা যেতে পারে , যা ভলিউমের উপর ফাইলগুলির জন্য নির্বাহের অনুমতি না দেওয়ার কথা বলে) তবে আপনি ভলিউমটি পুনঃনির্মাণ করতে পারবেন কার্যকর করার অনুমতি দেওয়ার জন্য বিকল্পগুলির সাথে। তবে স্থানীয় ভলিউমে ফাইলটি অনুলিপি করা দ্রুত এবং সহজ সমাধান হতে পারে।


3
আমি ভাবতাম এটি কেবল ইউনিক্স / লিনাক্স নেটিভ পার্টিশন যেমন FAT32 এ ঘটবে এবং এটি ঘটবে না /tmp। এটি দেখা যাচ্ছে যে আমার টিএমপিএফ /tmpএকই সমস্যায় ভুগছে এবং আমাকে এক্সিকিউটেবল ফাইলটি একটি আসল নেটিভ ভলিউমে, অর্থাৎ আমার হোম ফোল্ডারে - একটি এক্সট্রোল পার্টিশনে কপি করতে হবে।
রায়লুও

13
আমি আজ এই সমস্যার মুখোমুখি হয়েছি, তাই আমি এসটিএফডাব্লু, প্রথম অনুসন্ধানের ফলাফলটি বেগুনি রঙের, যার অর্থ আমি এটি আগে পড়েছি। "এটি একটি প্রতিশ্রুতিবদ্ধ লক্ষণ", আমি নিজের সাথে কথা বললাম এবং তারপরে অনুসন্ধানের ফলাফলটি ক্লিক করুন। এটি আমাকে এই পৃষ্ঠায় নিয়ে এসেছিল, এই উত্তরটি যা আমার ক্ষেত্রে কাজ করে না, এবং শেষ পর্যন্ত কোন মন্তব্যটি উপরে কাজ করে। এবং তারপরে আমি লক্ষ্য করেছি যে মন্তব্যটি আমার দ্বারা লেখা হয়েছিল, 2 মাস আগে। বাহ, কি জীবন।
রায়লুও

5
দুঃখিত এই প্রশ্ন / এ তে piggybacking জন্য ... এছাড়াও চিন্তা করুন হয়তো noexec হয় fstab ফাইলের যা কোনো মৃত্যুদন্ড বিশেষাধিকার ছাড়া ড্রাইভ মাউন্ট ... "আমি শুনেছি" যে "কিছু লোক" যে খুঁজছেন সময় বেশ একটু হারিয়ে গেছে। ..
সাইমন ওপল্ট

1
@ ওয়েবেম্যান: chmodএকটি টেকসই পরিবর্তন করে। আপনি যদি chmodসেগুলি সক্ষম করার জন্য অনুমতিগুলি পরিবর্তন করেন তবে তাদের অন্য কিছু পরিবর্তন করছে। (এটিতে ফাইল মুছে ফেলা এবং পুনরায় পুনরুদ্ধার করা বা ফাইলটি খারিজ করা এবং পুনঃসমাজ করা হচ্ছে এমন আরও কিছু অন্তর্ভুক্ত থাকতে পারে the আমি এখনই উত্তর দিতে পারি))
এরিক পোস্টপিশিল

2
@ সিমোনঅপল্ট "অন্যান্য ব্যক্তিরা" কৃতজ্ঞ
ম্যাট জ্যাকবসন

32

এটা চেষ্টা কর:

sudo chmod +x program_name
./program_name 

আপনার উপদেশের জন্য ধন্যবাদ. আমি কেবল এটি চেষ্টা করেছিলাম - তবে এখন এটি বলছে: ./pramram_name বাইনারি ফাইল চালাতে পারে না
কিয়ান

কম্পিউটার 2 টি 32 বিট এবং কম্পিউটার 1 হ'ল 64 বিট কারণ এটি কি হতে পারে? আমার ধারণা আমি সম্ভবত এটি কম্পিউটারে 2 কম্পাইল করা উচিত। আপনার সাহায্যের জন্য সবাইকে ধন্যবাদ।
কিয়ান

হ্যাঁ, আপনি যদি কিছু প্রোগ্রাম 64 বিটগুলিতে সংকলন করেন এবং 32 বিট সিস্টেমে চালিত করার চেষ্টা করেন, কাজ করে না। আপনার কম্পিউটারে সোর্স কোডটি পুনরায় কম্পাইল করতে হবে
ভিজিটর ভিলার

sudoসাধারণত প্রয়োজন হয় না, যদি না প্রোগ্রামটি কোনও ডিরেক্টরিতে না থাকে যেখানে আপনার লেখার অনুমতি নেই (কোন ক্ষেত্রে আপনি সেখানে এটি প্রথম স্থানে ইনস্টল করেছিলেন কীভাবে?)
ট্রিপলি

10

আপনার কাছে ফাইল অনুমতিগুলিতে নির্ধারিত পতাকা সেট নেই বলে মনে হচ্ছে, চেষ্টা করুন:

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