আমি মাত্র একটি chmod -x chmod করেছি did


27

তাই আমি একটি chmod -x chmod। আমি কীভাবে এই সমস্যার সমাধান করতে পারি? আমি কীভাবে chmod এ এক্সিকিউটড রাইটস দেব?


10
আপনি দুর্ঘটনাক্রমে পুরো chmod!
থানাটোস

উত্তর:


43

লিনাক্সে:

/lib/ld-linux.so.2 /bin/chmod +x /bin/chmod

http://www.slideshare.net/cog/chmod-x-chmod


তবে, আমি একই লিঙ্কটি পোস্ট করতে চলেছিলাম :-) তবে আমি ইউনিক্স / লিনাক্স স্টাফে নতুন থাকায় নিজেকে পড়ছিলাম !!!
রিহাতুম

2
একটি 64-বিট ডিস্ট্রোতে, আপনাকে /lib64/ld-linux-x86-64.so.2পরিবর্তে এটি ব্যবহার করতে হতে পারে । ldd /bin/chmodকোন লিঙ্কার চালাতে হবে তার ঠিক তালিকা দেওয়া উচিত।
গোল্ডপিউডো

আমি একটি ন্যূনতম প্রোগ্রাম লিখব যা chmod (2) ব্যবহার করে তবে এটি শীতল
অ্যাডামো

1
@ স্টেফান: থেকে man ld-linux.so: "ld.so [এবং ld-linux.so] একটি প্রোগ্রামের জন্য প্রয়োজনীয় ভাগ করা লাইব্রেরিগুলি লোড করে, প্রোগ্রামটি চালানোর জন্য প্রস্তুত করে, এবং তারপরে এটি চালায়।" ( ld.soজন্য a.outবিন্যাস চালু করা এবং ld-linux.soELF বিন্যাস জন্য।)
পরবর্তী ঘোষণা না হওয়া পর্যন্ত বিরাম দেওয়া।

1
@ স্টেফান: কার্নেলটি কীভাবে ডায়নামিকালি-লিংকড এক্সিকিউটেবলগুলি লোড করতে এবং চালিত করতে পারে তা সত্যই জানে না, কারণ এটি অত্যন্ত জটিল এবং কার্নেল নয়, গ্লিবসি অনুসরণ করে। ld-linux.soক্রম নির্বাহযোগ্য / গ্রন্থাগার হাইব্রিড, স্থিতিযুক্তভাবে সংযুক্ত, সাজানো-এর ব্যবহারকারীর স্পেসে চালিত হয় এবং গতিশীল-সংযুক্ত এক্সিকিউটেবল এবং তাদের সমস্ত নির্ভরতা লোড করার জন্য দায়বদ্ধ, তারপরে সেগুলি চালনা করে।
জুলিয়ানো


18

এটি নির্ভর করে যে কোনও গন্তব্য ফাইলের অনুলিপিগুলি অনুলিপি করার সময় উত্স ফাইলের চেয়ে সংরক্ষণ করা হয়। আমরা এর অনুমতিগুলি "ধার" করছি ls:

cp /bin/ls /tmp/chmod.tmp
cp /bin/chmod /tmp/chmod.tmp
mv /tmp/chmod.tmp /bin/chmod

আমি মনে করি যে আপনার প্রথমটি cp-p পতাকাটি চালু রাখা উচিত
রিকিং

@ রিকিং: এই উদ্দেশ্যে এটি প্রয়োজনীয় নয়।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

এটি যে সমাধানটি আমি নিয়ে এসেছি তার অনুরূপ, তবে cpএক্সিকিউটেবলকে আইএনਗ করার পরে , আমি কেবল টেম্প ফাইলের catবিষয়বস্তু চাই না chmod
বানান



5

এটি অদ্ভুত ... আমি কিছুদিন আগে কারও টুইটের মাধ্যমে এরকম কিছু দেখেছি ...

http://www.slideshare.net/cog/chmod-x-chmod


অন্য সাইটে লিঙ্কগুলি সহায়ক নয় কারণ লিঙ্কটি কোনও এক সময় ভাঙা হবে। এটি কাউকে উত্তর গুগল বলার মতো।
ফিল হ্যানেন্ট

@ ফিল হ্যানেন্ট: আমি এই স্লাইডশোটিও মাত্র তিন দিন আগে দেখেছি, তাই ওপিকে যদি সেখানে আবেদনকারীদের মধ্যে একজন হত তবে এটি আমার প্রথম চিন্তা ছিল।
বোল্ডউইন

একই, কিছুদিন আগে
সবেমাত্র রেডডিতে

4

আপনি কি এমন কোনও সিস্টেমে থাকা উচিত যেখানে /bin/chmodডায়নামিক লিঙ্কার দ্বারা লোড করা যায় না:

# /bin/mv /bin/chmod /bin/chmod.tmp
# install -p -m 755 /bin/chmod.tmp /bin/chmod

এটি আমার ম্যাকোস এক্স সিস্টেমে কাজ করে।


2

/ উদ্ধার / chmod 555 / বিন / chmod

আমি মনে করি আপনি mtree ব্যবহার করতে পারে।


এটি আমার প্রিয় সমাধান হবে। দুর্ভাগ্যক্রমে এটি লিনাক্সের সাথে কাজ করে না।

2

আমি সন্দেহ করি যে এটি আসল প্রশ্ন নয়: http://www.slideshare.net/cog/chmod-x-chmod

  • পুনরায় ইনস্টল করুন: সিউডো ইনস্টল করুন - পুনরায় ইনস্টল করুন কোরিউটিলগুলি
  • perl -e 'chmod 0755, "chmod"'
  • স্লাইডে আরও উদাহরণ

1

একটি নতুন chmod তৈরি করুন এবং এটি আসলটির জন্য ব্যবহার করুন

umask 000
cat chmod > ~/my-chmod
~/my-chmod a+x chmod

000 এর একটি উমাস্ক সেট করা যখন কোনও ফাইল তৈরি হয় তখন তা কার্যকর করার অনুমতি দেয় না। এটি সর্বোত্তমভাবে rw-rw-rw- অনুমতি পাবে।
ব্যারি ব্রাউন

2
@ ব্যারি: এটি আসলে ক্রিয়েট (2) / ওপেন (2) / এমকেডির (2) / ইত্যাদিতে পাস মোডের উপর নির্ভর করে। যদি উমাস্ক == 0 এবং ফাইলটি তৈরি করে এমন সিস্টেমে মোডের জন্য 0777 দেওয়া হয় তবে ফাইলটিতে এক্সিকিউট বিট চালু করা হবে। উদাহরণস্বরূপ, "এক্সিকিউটেবল ফাইল" লেখার সময় লিকার / সংকলকগণ 0777 পাস করে (যেমন mode 777 মোড সহ (umask 000;gcc -o foo foo.c)একটি উত্পাদন করবে foo)। যাইহোক, অনেকগুলি (সর্বাধিক?) শেলগুলি পুনঃনির্দেশের জন্য ফাইলগুলি খুলতে / তৈরি করার সময় 0666 পাস করে, যার অর্থ এই উত্তরটি অনেক শেলের নীচে কাজ করে না।
ক্রিস জনসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.