আমি সম্প্রতি কমান্ডটি টাইপ করেছি
sudo chmod 777 -R /
তার পরে কিছু জিনিস পছন্দ
sudo -i
স্বাভাবিকভাবে কাজ করছে না। সুতরাং আমি ভাবছি যে কোনও উপায় আছে কি আমি ফোল্ডারের অনুমতিগুলি তাদের মূল অবস্থায় পুনরায় সেট করতে পারি?
আমি সম্প্রতি কমান্ডটি টাইপ করেছি
sudo chmod 777 -R /
তার পরে কিছু জিনিস পছন্দ
sudo -i
স্বাভাবিকভাবে কাজ করছে না। সুতরাং আমি ভাবছি যে কোনও উপায় আছে কি আমি ফোল্ডারের অনুমতিগুলি তাদের মূল অবস্থায় পুনরায় সেট করতে পারি?
উত্তর:
এটা সম্ভব এই নোংরা অবস্থা থেকে ফিরে আসতে।
আমি আবার একই ধরণের ইস্যুতে দৌড়েছি (আমার লিখিত স্ক্রিপ্টের কিছু বাগ) এবং এটিকে সমাধান করেছি, তবে আপনাকে কিছু বিশেষজ্ঞের সাহায্য চাইতে হবে। খুব সাবধান!
প্রথমত, আমার পরিস্থিতি সমাধান করা সহজ ছিল কারণ আমার একটি দ্বৈত বুট সিস্টেম ছিল (উবুন্টু এবং আমার পুরাতন ফেডোরা ইনস্টল), তবে সিডি / ডিভিডি, বা একটি ইউএসবি কী থেকে একই কাজ করা উচিত।
MPOINT=/mount/ubuntu
প্রথমে আমি আমার ফাইল সিস্টেমগুলি এটির মতো করেছিলাম (মাউন্ট পয়েন্টগুলি তৈরি করতে ভুলবেন না):
mount /dev/ubuntu/root $MPOINT
mount /dev/ubuntu/home $MPOINT/home
তারপরে আমি চলমান সিস্টেম থেকে অগোছালোতে অনুমতি অনুলিপি করার জন্য নিম্নলিখিত কমান্ডটি (আমার সমস্যাটি কেবল কয়েকটি - সমালোচনামূলক - ডিরেক্টরিগুলির মধ্যে ছিল) চালিয়েছি (আসলে আমার ক্ষেত্রে, আমি ফেডোরার অধীনে ভার্চুয়াল বক্সে একটি উবুন্টু সিস্টেম ইনস্টল করেছি এবং সেখানে অনুমতি পেয়েছে):
find /etc /usr /bin /sbin -exec stat --format "chmod %a \"${MPOINT}%n\"" {} \; > /tmp/restoreperms.sh
এবং তারপরে আমি পুনঃস্থাপনা.শ স্ক্রিপ্টটি চালাই।
আমি আবার উবুন্টু বুট করতে সক্ষম হয়েছি।
পুনঃস্থাপনের বিষয়বস্তু.শ এর সামগ্রীটি এমন হবে:
(...)
chmod 755 /mount/ubuntu//etc/ppp
chmod 755 /mount/ubuntu//etc/ppp/ipv6-up
chmod 2750 /mount/ubuntu//etc/ppp/peers
chmod 640 /mount/ubuntu//etc/ppp/peers/provider
chmod 755 /mount/ubuntu//etc/ppp/ipv6-up.d
chmod 777 /mount/ubuntu//etc/ppp/resolv.conf
(...)
আমি এটি পরীক্ষা করিনি তবে এটি অবশ্যই মালিক এবং মালিক গ্রুপগুলির জন্য কাজ করবে। কিছুটা এইরকম:
find /etc /usr /bin -exec stat --format 'chown %U:%G ${MPOINT}%n' {} \; > /tmp/restoreperms.sh^
(...)
chown root:root /mount/ubuntu//etc/obex-data-server/imaging_capabilities.xml
chown root:root /mount/ubuntu//etc/obex-data-server/capability.xml
chown root:dip /mount/ubuntu//etc/ppp
chown root:root /mount/ubuntu//etc/ppp/ipv6-up
chown root:dip /mount/ubuntu//etc/ppp/peers
chown root:dip /mount/ubuntu//etc/ppp/peers/provider
chown root:root /mount/ubuntu//etc/ppp/ipv6-up.d
chown root:root /mount/ubuntu//etc/ppp/resolv.conf
(...)
অবশ্যই আপনাকে এখানে যত্ন নিতে হবে যে ইউআইডি এবং জিআইডি উভয় সিস্টেমে একই, তবে সিস্টেম সম্পর্কিত ব্যবহারকারী এবং গোষ্ঠীর ক্ষেত্রে এটি কোনও সমস্যা হওয়া উচিত নয়।
সম্পাদনা:
এছাড়াও, সেটিংয়ের মালিক এসজিআইডি এবং এসইউডি ফ্ল্যাগগুলি বাতিল করে দেবে , যা অদ্ভুত সমস্যার কারণ হয়ে দাঁড়ায় (উদাহরণস্বরূপ, অনুমতি 4755 না হলে আপনি সুডো করতে পারবেন না)। আপনার অবশ্যই আবশ্যক এবং সেটিং মালিকদের পরে কেবল অনুমতি সেট করা উচিত । মালিকের তথ্যের সাথে সম্পূর্ণ ফাইল অনুমতি সম্পর্কিত তথ্য সংরক্ষণ করুন।
আর কে:
এখন, আমার কাছে এই আদেশগুলি একটি ক্রোনজবগুলিতে রয়েছে, তথ্যটি চালিয়ে যাওয়ার জন্য প্রতিদিন চালানো (সপ্তাহ হতে পারে)। এটি পরবর্তী বারের সমাধানটিকে আরও সহজ করে দেবে তবে অবশ্যই আমার এখন যেমন রয়েছে, তা আর কখনও ঘটবে না। ;-) এটার মতো কিছু:
0 12 * * * /usr/bin/find / -exec /usr/bin/stat --format="/bin/chmod %a %n" {} \; |/bin/bzip2 -c > /tmp/restore_chmod.$(/bin/date +%w).sh.bz2
0 13 * * * /usr/bin/find / -exec /usr/bin/stat --format="/bin/chown %U:%G %n" {} \; |/bin/bzip2 -c > /tmp/restore_chown.$(/bin/date +%w).sh.bz2
ডান (সম্মিলিত) কমান্ড আরও কিছু এরকম:
`/usr/bin/find / -exec /usr/bin/stat --format="[ ! -L {} ] && /bin/chmod %a %n" {} \; -exec /usr/bin/stat --format="/bin/chown -h %U:%G %n" {} \; |/bin/bzip2 -c > /tmp/restore_fileperms.$(/bin/date +%w).sh.bz2`
নোট করুন যে অতিরিক্ত যত্নের জন্য ফাইলনেমে (উদাহরণস্বরূপ লোকালগুলির অধীনে) প্যারেন্টেসিসের জন্য অ্যাকাউন্টিং প্রয়োজন হতে পারে এবং chown দ্বারা নির্ধারিতভাবে সেটুইড এবং সেটগিড বিটগুলি আনসেট করতে পারে। পরের ক্ষেত্রে, যা ভাঙবে, বলুন, / বিন / সু এবং / ইউএসআর / বিন / সুদো, আপনাকে উপরের এক্সিকিউটিভ ধারাগুলির ক্রমটি অদলবদল করতে হবে।
পুনরুদ্ধার sudo বা বুট এ পুনরুদ্ধার মোড নির্বাচন করার পরে
ডেবিসগুলি ব্যবহার করে একটি সম্পূর্ণ সিস্টেম পুনরুদ্ধার করা সম্ভব যা ফাইলের অখণ্ডতা এবং অনুমতিগুলি যাচাই করে।
ম্যান পৃষ্ঠা থেকে:
apt-get install --reinstall $(dpkg -S $(debsums -c) | cut -d : -f 1 | sort -u)
পরিবর্তিত ফাইলগুলির সাথে প্যাকেজগুলি পুনরায় ইনস্টল করে
বা নির্দিষ্ট পথে সীমাবদ্ধ যেমন /usr
:
apt-get install --reinstall $(dpkg -S $(debsums -c | grep -e ^/usr ) | cut -d : -f 1 | sort -u)
বা একাধিক পথের মধ্যে সীমাবদ্ধ যেমন: /sbin /etc /var
apt-get install --reinstall $(dpkg -S $(debsums -c | grep -e ^/etc -e ^/sbin -e ^/var ) | cut -d : -f 1 | sort -u)
chmod a-x /bin/ping
এবং debsums -c
ফাইলটি রিপোর্ট করব না।
আপনি সুডো হিসাবে কী চালাচ্ছেন তা সর্বদা দেখুন।
এই থ্রেডটি ব্যাখ্যা করে যে আপনি ম্যানুয়ালি কিছু অনুমতি পিছনে সেট করতে পারেন এবং সেখানে একটি স্ক্রিপ্ট এটির জন্য সহায়তা করে তবে এটি এখনও একটি বড় কাজ। বরং আপনার ইনস্টল করা প্যাকেজগুলি (চিহ্নগুলি) সংরক্ষণ করুন এবং ওএস পুনরায় ইনস্টল করুন এবং আপনার অ্যাপ্লিকেশনগুলি ফিরে পেতে আপনার সংরক্ষিত প্যাকেজ চিহ্নগুলি প্রয়োগ করুন t
যতদূর আমি জানি, কেবল সিস্টেম ভি প্যাকেজ এবং আরপিএম ফাইল অনুমতিগুলি মেরামত করার জন্য একটি কমান্ড সরবরাহ করে। সিস্টেম ভি (সোলারিস) এ এটি পিকেজিচকি, আরপিএম সহ এটি আরপিএম --setperms।
দুর্ভাগ্যক্রমে, ডেবিয়ান / উবুন্টু প্যাকেজগুলির জন্য এই জাতীয় কোনও আদেশের উপস্থিতি নেই বলে মনে হয় - তবে আমি এখানে ভুল হতে পারি।
তবে এই কমান্ডগুলির সাহায্যেও, আপনার সিস্টেমকে জ্ঞানহীন অবস্থায় ফিরিয়ে আনা তুচ্ছ কাজ নয় এবং এটি মেরামত করার মাধ্যমে আপনি সহজেই আপনার সিস্টেমে নতুন ক্ষতি করতে পারেন - যদি আপনি সতর্ক না হন।
জোসেফ ব্যতীত অন্যরা বলেছিলেন, আপনি প্রথম নন এবং আপনি এ জাতীয় আদেশ সঞ্চারকারী সর্বশেষ নন। তবে ইউনিক্স সিস্টেমে ফাইলের অনুমতিগুলি 77 777-এ পরিবর্তন করা একমাত্র ধারণাটি একটি দৃ system় ইঙ্গিত যে আপনি এই ধরণের সিস্টেমের সাথে খুব অভিজ্ঞ নন। এই পরিস্থিতিতে আপনি সবচেয়ে ভাল যা করতে পারেন তা হ'ল আপনার আবার যা দরকার হবে তা ব্যাকআপ করা (হোম ডিরেক্টরিগুলি, কনফিগারেশন ফাইলগুলি, মেল ফাইলগুলি?) এবং একটি নতুন ইনস্টল চেষ্টা করুন।
আপনি যখন আপনার ক্ষতিগ্রস্ত - ব্যাকআপ ফাইলগুলি পুনরুদ্ধার করবেন তখন আপনার খুব যত্নবান হওয়া উচিত।
শুভকামনা!
পিএস: আমি ভাবছি আপনি কোন ধরণের সমস্যার সমাধান করতে চেয়েছিলেন?
আপনি কোনও chmod
অপারেশন পূর্বাবস্থায় ফেরাতে পারবেন না ; কমপক্ষে কোনও পূর্ববর্তী সেটিংয়ে ফিরে যাওয়ার অর্থে নয়, যা এই পরিস্থিতিটির জন্য বলে। তাত্ক্ষণিকভাবে, আপনি প্রতিটি ফাইল এবং ডিরেক্টরিটিকে তার মূল মোডে ফিরিয়ে দিয়ে কোনও অপারেশন পূর্বাবস্থায় ফিরিয়ে নিতে পারেন –– তবে সেগুলি সব একই নয়; মূল মোড নির্ধারণ করা জটিল (অন্যান্য উত্তরে যেমন আলোচনা করা হয়েছে)।chmod
chmod