এমনকি root
, আপনি যে ফাইলগুলির x
অনুমতি বিট সেট নেই সেগুলি কার্যকর করতে পারবেন না । আপনি যা করতে পারেন তা হ'ল ld.so
এটি কল করা (যদি তারা ডায়নামিকভাবে এক্সিকিউটেবলের সাথে সংযুক্ত থাকে):
$ echo /lib/*/ld*.so
/lib/i386-linux-gnu/ld-2.27.so /lib/x86_64-linux-gnu/ld-2.27.so
chmod
এক্সিকিউটেবলের আর্কিটেকচারের সাথে মেলে এমন একটি ব্যবহার করুন । আমার ক্ষেত্রে x86_64
এক:
sudo /lib/x86_64-linux-gnu/ld-2.27.so /bin/chmod 755 /bin /bin/chmod
বা /usr/bin
এর chmod
মতো বা অন্য কোথাও ফোন করুন perl
:
sudo perl -e 'chmod 0755, "/bin", "/bin/chmod"
সাবধান যখন অনুমতি যে কিছু ফাইল পুনরূদ্ধার /bin
মত mount
বা su
0755 ছাড়া অন্য অনুমতি বোঝানো হয়।
আপনি পুনরায় বুট করে থাকেন তাহলে, তবে, তুমি কি বিন্দু যেখানে আপনি চালাতে পারেন পেতে সক্ষম হতে পারেন perl
বা ld.so
যদিও। আপনি এর থেকে কিছু ঠিক করতে পারবো initramfs
যদিও (initramfs -র একটি পুনরুদ্ধার শেল পেতে একটি ভুল রুট ডিরেক্টরিটি পাস; তাও দেখতে break=bottom
বা break=init
শুধুমাত্র পাঠযোগ্য ডেবিয়ান উপর, initramfs -র পর root ফাইল-সিস্টেমের মাউন্ট করা আছে সেখানে আপনি একটি শেল দিতে জন্য (কার্নেল পরামিতি যদিও))। অথবা আপনার লাইভ সিডি চিত্র থেকে আপনার ভিএম বুট করুন, বা অন্যদের পরামর্শ অনুসারে হোস্টের উপরে ভিএম ফাইল সিস্টেম মাউন্ট করে ঠিক করুন।
Initramfs উপায় ঠিক করা:
ইন grub
, বুট এন্ট্রি সম্পাদনা করুন এবং কমান্ড root=
থেকে পরামিতি সরান linux
:
setparams 'Ubuntu, with Linux 3.2.0-27-generic'
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod ext2
set root='(hd1)'
search --no-floppy --fs-uuid --set=root dc02b07c-88ef-4804-afe0-4f02db2\
94561
linux /boot/vmlinuz-3.2.0-27-generic
initrd /boot/initrd.img-3.2.0-27-generic
Ctrl-Xবুট করতে উবুন্টুর ইনিরামগুলি রুট ফাইল সিস্টেমটি খুঁজে পাবে না তাই পুনরুদ্ধার শুরু করুন sh
। তারপরে রুট ফাইল সিস্টেমটি মাউন্ট করুন (আমার ক্ষেত্রে /dev/vdb
, আপনার মেশিনের সাথে অভিযোজিত) এবং সেখানে জিনিসগুলি ঠিক করুন:
Target filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.
BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs) mkdir /x
(initramfs) mount /dev/vdb /x
[ 48.430071] EXT3-fs (vdb): error: couldn't mount because of unsupported optio
nal features (240)
[ 48.477406] EXT4-fs (vdb): recovery complete
[ 48.477747] EXT4-fs (vdb): mounted filesystem with ordered data mode. Opts: (
null)
(initramfs) chmod -R 755 /x/bin
(initramfs) umount /x
(initramfs) reboot
একবার বুট করার পরে, অন্য সিস্টেমের সাথে তুলনা করে 755 অনুমতি থাকা নয় এমন ফাইলগুলির অনুমতিগুলি ঠিক করুন।
python
হিসাবে চালিয়ে ফিক্সিং init
:
ইন grub
, বুট এন্ট্রি সম্পাদনা করুন, এবার root=
প্যারামিটারটি রাখুন, এতে পরিবর্তন ro
করুন rw
এবং এটিকে যুক্ত করুন init=/usr/bin/python
:
setparams 'Ubuntu, with Linux 3.2.0-27-generic'
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod ext2
set root='(hd1)'
search --no-floppy --fs-uuid --set=root dc02b07c-88ef-4804-afe0-4f02db2\
94561
linux /boot/vmlinuz-3.2.0-27-generic root=UUID=dc02b07c-88ef-4804-afe0-\
4f02db294561 rw init=/usr/bin/python
initrd /boot/initrd.img-3.2.0-27-generic
তারপরে, অজগর প্রম্পটে:
Begin: Running /scripts/init-bottom ... done.
Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.chmod('/bin/sh',0755)
>>> os.chmod('/bin/chmod',0755)
>>> os.execl('/bin/sh','sh')
sh: 0: can't access tty; job control turned off
# chmod -R 0755 /bin
# mount -o remount,ro /
[ 100.704720] EXT4-fs (vdb): re-mounted. Opts: errors=remount-ro
# exec /sbin/init
আবার একবার বুট করার পরে, অন্য সিস্টেমের সাথে তুলনা করে 755 অনুমতি থাকা নয় এমন ফাইলগুলির অনুমতিগুলি ঠিক করুন।
/bin
আপনি chmoded বা ফাইল/bin
বা উভয়?