উবুন্টুতে ফোল্ডারের অনুমতিগুলি কীভাবে তাদের ডিফল্টে পুনরায় সেট করবেন?


19

আমি সম্প্রতি কমান্ডটি টাইপ করেছি

sudo chmod 777 -R /

তার পরে কিছু জিনিস পছন্দ

sudo -i

স্বাভাবিকভাবে কাজ করছে না। সুতরাং আমি ভাবছি যে কোনও উপায় আছে কি আমি ফোল্ডারের অনুমতিগুলি তাদের মূল অবস্থায় পুনরায় সেট করতে পারি?


আমার মনে হয় না লিনাক্স পূর্বের অনুমতি সেটিংস মনে রাখে। একটি নতুন ফাইল তৈরি করার চেষ্টা করুন এবং এটি কী অনুমতি সেটিংস পায় তা দেখুন।
thecoshman

ওহ অপেক্ষা করুন, আমি সেখানে আপনি কি করেছেন তা দেখতে পাচ্ছি। এটি সম্ভবত পুনরায় ইনস্টল পরিস্থিতি। কেবলমাত্র আপনার ডেটা ব্যাক আপ করুন, আপনি কী অ্যাপ্লিকেশনগুলি ইনস্টল করেছেন তা নোট করুন। মজা করুন, কেন 10.4 চেষ্টা করবেন না! (সেরা নাম কখনও বিটিডব্লিউ ... সেই রেডিও জিনিসটির অর্থ কী?)
থোকোশম্যান

আমি আপনাকে এমন একজনকে খুঁজে বের করার সাহস করব যিনি সেই সঠিক কাজটি করেন নি: ডি এটি খুব জটিল পরিস্থিতি। আপনি এটিকে ঠিক করতে পারেন, জ্লোভির উত্তরটি চেষ্টা করুন তবে এতে সময় এবং প্রচেষ্টা লাগবে এবং হতাশাগ্রস্থ হবে। কেবল পুনরায় ইনস্টল করুন এবং এটি দিয়ে শেষ করুন। আপনি কি করছেন তা না জানলে কখনও sudo chmod ব্যবহার করবেন না।
জ্যাক মায়ারজ

উত্তর:


17

এটা সম্ভব এই নোংরা অবস্থা থেকে ফিরে আসতে।

আমি আবার একই ধরণের ইস্যুতে দৌড়েছি (আমার লিখিত স্ক্রিপ্টের কিছু বাগ) এবং এটিকে সমাধান করেছি, তবে আপনাকে কিছু বিশেষজ্ঞের সাহায্য চাইতে হবে। খুব সাবধান!

প্রথমত, আমার পরিস্থিতি সমাধান করা সহজ ছিল কারণ আমার একটি দ্বৈত বুট সিস্টেম ছিল (উবুন্টু এবং আমার পুরাতন ফেডোরা ইনস্টল), তবে সিডি / ডিভিডি, বা একটি ইউএসবি কী থেকে একই কাজ করা উচিত।

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 না হলে আপনি সুডো করতে পারবেন না)। আপনার অবশ্যই আবশ্যক এবং সেটিং মালিকদের পরে কেবল অনুমতি সেট করা উচিত । মালিকের তথ্যের সাথে সম্পূর্ণ ফাইল অনুমতি সম্পর্কিত তথ্য সংরক্ষণ করুন।

আর কে:

  1. এর জন্য একটি গুরুত্বপূর্ণ বিষয় হ'ল আপনি যে সংস্করণটি ব্যবহার করছেন তার সাথে একটি ইনস্টল ডিস্ক সিঙ্ক্রোনাইজড রাখা বা কমপক্ষে বর্তমান উবুন্টু সংস্করণ দিয়ে কাজ করা।
  2. এখন, আমার কাছে এই আদেশগুলি একটি ক্রোনজবগুলিতে রয়েছে, তথ্যটি চালিয়ে যাওয়ার জন্য প্রতিদিন চালানো (সপ্তাহ হতে পারে)। এটি পরবর্তী বারের সমাধানটিকে আরও সহজ করে দেবে তবে অবশ্যই আমার এখন যেমন রয়েছে, তা আর কখনও ঘটবে না। ;-) এটার মতো কিছু:

    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 দ্বারা নির্ধারিতভাবে সেটুইড এবং সেটগিড বিটগুলি আনসেট করতে পারে। পরের ক্ষেত্রে, যা ভাঙবে, বলুন, / বিন / সু এবং / ইউএসআর / বিন / সুদো, আপনাকে উপরের এক্সিকিউটিভ ধারাগুলির ক্রমটি অদলবদল করতে হবে।


শুধু একটি দুর্দান্ত উত্তর। আমি আসুন উবুন্টুতে
ব্যক্তিগত

আমার জন্য কেবল একটি নিখুঁত সমাধান!

2

পুনরুদ্ধার 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ফাইলটি রিপোর্ট করব না।
পুনরায়

0

আপনি সুডো হিসাবে কী চালাচ্ছেন তা সর্বদা দেখুন।

এই থ্রেডটি ব্যাখ্যা করে যে আপনি ম্যানুয়ালি কিছু অনুমতি পিছনে সেট করতে পারেন এবং সেখানে একটি স্ক্রিপ্ট এটির জন্য সহায়তা করে তবে এটি এখনও একটি বড় কাজ। বরং আপনার ইনস্টল করা প্যাকেজগুলি (চিহ্নগুলি) সংরক্ষণ করুন এবং ওএস পুনরায় ইনস্টল করুন এবং আপনার অ্যাপ্লিকেশনগুলি ফিরে পেতে আপনার সংরক্ষিত প্যাকেজ চিহ্নগুলি প্রয়োগ করুন t


0

যতদূর আমি জানি, কেবল সিস্টেম ভি প্যাকেজ এবং আরপিএম ফাইল অনুমতিগুলি মেরামত করার জন্য একটি কমান্ড সরবরাহ করে। সিস্টেম ভি (সোলারিস) এ এটি পিকেজিচকি, আরপিএম সহ এটি আরপিএম --setperms।

দুর্ভাগ্যক্রমে, ডেবিয়ান / উবুন্টু প্যাকেজগুলির জন্য এই জাতীয় কোনও আদেশের উপস্থিতি নেই বলে মনে হয় - তবে আমি এখানে ভুল হতে পারি।

তবে এই কমান্ডগুলির সাহায্যেও, আপনার সিস্টেমকে জ্ঞানহীন অবস্থায় ফিরিয়ে আনা তুচ্ছ কাজ নয় এবং এটি মেরামত করার মাধ্যমে আপনি সহজেই আপনার সিস্টেমে নতুন ক্ষতি করতে পারেন - যদি আপনি সতর্ক না হন।

জোসেফ ব্যতীত অন্যরা বলেছিলেন, আপনি প্রথম নন এবং আপনি এ জাতীয় আদেশ সঞ্চারকারী সর্বশেষ নন। তবে ইউনিক্স সিস্টেমে ফাইলের অনুমতিগুলি 77 777-এ পরিবর্তন করা একমাত্র ধারণাটি একটি দৃ system় ইঙ্গিত যে আপনি এই ধরণের সিস্টেমের সাথে খুব অভিজ্ঞ নন। এই পরিস্থিতিতে আপনি সবচেয়ে ভাল যা করতে পারেন তা হ'ল আপনার আবার যা দরকার হবে তা ব্যাকআপ করা (হোম ডিরেক্টরিগুলি, কনফিগারেশন ফাইলগুলি, মেল ফাইলগুলি?) এবং একটি নতুন ইনস্টল চেষ্টা করুন।

আপনি যখন আপনার ক্ষতিগ্রস্ত - ব্যাকআপ ফাইলগুলি পুনরুদ্ধার করবেন তখন আপনার খুব যত্নবান হওয়া উচিত।

শুভকামনা!

পিএস: আমি ভাবছি আপনি কোন ধরণের সমস্যার সমাধান করতে চেয়েছিলেন?


0

বাহ, তুমি এটা মেরে ফেলেছ। এটা মৃত! রুট হিসাবে মেশিনটি লগ ইন এবং ব্যবহার করার চেষ্টা করুন (যেহেতু আপনি এটি সক্ষম করেছেন), তারপরে রুটের গোষ্ঠী সদস্যতা ব্যবহারকারীদের কাছে পরিবর্তন করুন। এটি হয়ত বা কাজ করতে পারে না কারণ আমি এর আগে কখনও চেষ্টা করেছিলাম না তবে এটির শট।


0

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

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