কেন chmod 777 -R / সিস্টেমটি ব্যবহারযোগ্য নয়?


52

আমি সকলকে কেবল কিছু করার অনুমতি দিচ্ছি তবে কেবল অনুমতি দিয়ে কেন সিস্টেমটি ক্রাশ হয়? আমি কেবল ফাইলগুলি পরিবর্তন না করে অনুমতি পরিবর্তন করছি।



2
আমি মনে করি, এটি ক্রাশ হচ্ছে না, বরং কেবলমাত্র কোনও সময়ে বুট প্রক্রিয়াটি বাতিল করুন। আপনি যদি তাকান /var/log/syslog, আপনি এমনকি কারণ খুঁজে বের করতে চাই।
হাই-এঞ্জেল

7
এটা জানা যে এমনকি যদি এই জিনিস স্বেচ্ছায় ভঙ্গ করিনি গুরুত্বপূর্ণ, এটি হবে না "কিছু করতে সবার প্রতি অনুদান অনুমতি"। এখনও প্রচুর পরিমাণে ক্রিয়া থাকবে যা কেবল "রুট" (আরও স্পষ্টভাবে, কার্যকর ইউআইডি শূন্য সহ একটি প্রক্রিয়া) করতে পারে।
zwol

6
@ গ্লান যদি "সম্পর্কিত" দ্বারা, আপনার অর্থ "হুবহু ডুপ্লিকেট যা এটি দেখায় যে কেন আমরা সাইটগুলিতে ডুপ হিসাবে পতাকা চিহ্নিত করতে সক্ষম হব", তবে নিশ্চিত! দুর্দান্ত লিঙ্ক ;)
আন্ডারস্কোর_১

4
আমি আপনার সম্পর্কে গল্পটি শুনতে সত্যিই পছন্দ করব এই প্রশ্নটি করতে এসেছিল।
দেবী মরগান

উত্তর:


104

কারণ একটি দম্পতি আছে।

প্রথমে সাধারণ পড়ার / লেখার / সম্পাদনের অনুমতি ছাড়াও কিছু অন্যান্য বিট রয়েছে যা ফাইল অনুমতিগুলিতে থাকে। সবচেয়ে উল্লেখযোগ্য setuidএবং setgid। যখন এই অনুমতি বিটগুলির মধ্যে একটি সহ একটি প্রোগ্রাম চালানো হয় তখন এটি "কার্যকর ইউআইডি" এবং / অথবা প্রোগ্রামটির মালিকের "কার্যকর জিআইডি" পায় যা এটি চালানো ব্যবহারকারীর চেয়ে। এটি প্রোগ্রামগুলিকে চালিত ব্যবহারকারীর চেয়ে বেশি অনুমতি নিয়ে চালানোর অনুমতি দেয়। এটি suএবং সহ অনেকগুলি গুরুত্বপূর্ণ সিস্টেম ইউটিলিটিগুলি দ্বারা ব্যবহৃত হয় sudo। আপনার chmodকমান্ডটি ইউটিলিটিগুলিকে অকেজো করে রেখে এই বিটগুলি সাফ করে।

দ্বিতীয়ত কিছু প্রোগ্রাম (উল্লেখযোগ্যভাবে ssh) ফাইল অনুমতিগুলিতে একটি বিবেক পরীক্ষা করে এবং ফাইলগুলিকে তারা নিরাপত্তাহীন বলে মনে করার অনুমতি সহ ফাইলগুলি ব্যবহার করতে অস্বীকার করে। এটি দুর্ঘটনাক্রমে সুরক্ষা ছিদ্র ছেড়ে দেওয়ার জন্য অসাবধান প্রশাসকদের ঝুঁকি হ্রাস করে তবে এটি মুছে ফেলা ফাইল অনুমতিগুলি আরও বেশি বেদনাদায়ক করে তোলে।


41

একটি সংক্ষিপ্ত উত্তর।

লিনাক্স সিস্টেমের মতো নির্দিষ্ট প্রোগ্রামগুলির জন্য নির্দিষ্ট অনুমতি প্রয়োজন sudoetc.

আপনি যখন চালনা করেন chmod 777 -R /আপনি সমস্ত অনুমতি মুছুন এবং সেগুলি প্রতিস্থাপন করুন 777। আপনি ম্যানুয়ালি সমস্ত অনুমতিগুলি পুনরুদ্ধার না করলে এটি সিস্টেমটিকে অযোগ্য করে তোলে।

অনুশীলনে এটি পুনরায় ইনস্টল করা অনেক দ্রুত এবং সহজ।

সমস্যাটি হ'ল অনেক সিস্টেম প্রোগ্রাম এমনভাবে ডিজাইন করা হয় যাতে অনুমতিগুলি "পছন্দ না করে" তারা শুরু না করে। এটি সুরক্ষার কারণে তৈরি করা হয়েছে।

আমি মনে করি যে প্রতিটি প্রোগ্রাম কেন ভুল অনুমতি নিয়ে কাজ করতে ব্যর্থ হয় তা ব্যাখ্যা করার চেয়ে প্যারাকটিসে সিস্টেম নকশা কীভাবে পরিচালনা করতে হবে তা ব্যাখ্যা করা আরও গুরুত্বপূর্ণ।

আপনি যদি সত্যিই উবুন্টুতে সমস্ত ব্যবহারকারীর সীমাহীন অনুমতি পেতে চান তবে আপনি sudoফাইল এবং ডিরেক্টরি অনুমতি পরিবর্তনের পরিবর্তে সমস্ত ব্যবহারকারীকে দলে যোগ করতে পারেন । এটি একই প্রভাব ফেলবে, তবে সিস্টেমটি নষ্ট করবে না।

আর একটি উপায় (খুব খারাপ একটি) হ'ল রুট অ্যাকাউন্ট সক্রিয় করা এবং প্রত্যেককে রুট হিসাবে লগইন করার অনুমতি দেওয়া।


11
হয়তো কেউ সময় নিবে এবং একটি বিস্তারিত উত্তর দেবে ;-)
পাইলট 6

1
প্রত্যেককে এই সিস্টেমে সমস্ত কিছু করার অনুমতি দেওয়ার জন্য আমি আরও ভাল পদ্ধতির দিকে ইঙ্গিত করতে পারি - তবে প্রতিটি বাইনারিটির কেন তার নির্দিষ্ট অনুমতি, সেটিংস এবং পতাকা প্রয়োজন তার একটি গভীরতর নিবন্ধ লেখার জন্য কিছুটা বেশি, তাই না। ;-)
ফিলিপ -জিয়ান কে লি- স্টকম্যান

4
লিনাক্স সিস্টেমগুলি প্রত্যেককে সবকিছু করার অনুমতি দেওয়ার জন্য ডিজাইন করা হয়নি। আপনি রুট অ্যাকাউন্ট সক্ষম করতে পারবেন এবং এর জন্য প্রত্যেকে লগ হিসাবে লগ করতে পারেন। এটি বোকা, তবে এটিই উপায়।
পাইলট 6

9
সুতরাং পাইলট you আপনি বলতে চাচ্ছেন যে সিস্টেম প্রোগ্রামগুলি এমনভাবে ডিজাইন করা হয়েছে যাতে যদি অনুমতিটি ভুল হয়ে যায় তবে সেগুলিকে সঠিকভাবে কাজ করার অনুমতি দেওয়া হয় না? এবং দয়া করে পাইলট 6 দয়া করে উদাহরণ এবং ব্যাখ্যা সহ আরও গভীর উত্তর দিন দয়া করে নির্দিষ্ট অ্যাপ্লিকেশনগুলিতে কেন সীমিত অনুমতি প্রয়োজন। ধন্যবাদ।
ব্রিজরাজ কিশোর

13
ক্র্যাশ @Goldname হয় ত্রুটি - এটা বলার অপেক্ষা রাখে প্রোগ্রামের একটি পূর্ণ সংখ্যা "আমি এই অবস্থায় সিস্টেমের সাথে সমালোচনামূলক ফাংশন সঞ্চালন করা সম্ভব নয়, তাই আমি গর্ভপাত করছি"
Shadur

32

chmod সূক্ষ্ম बारीক আছে।

chmod 0777থেকে ভিন্নভাবে আচরণ করবে chmod u+rwx,g+rwx,o+rwxযে setuid এবং setgid প্রথম দ্বারা zeroed এবং পরেরটির দ্বারা সংরক্ষিত করা হয়।

এ কারণেই সিস্টেমটি অকেজো হয়ে গেল। আপনি কয়েকটি প্রোগ্রাম থেকে প্রয়োজনীয় সেটুইড সরিয়েছেন ।

আমার লিনাক্স ফেডোরা 23 ল্যাপটপে সেটুইড বা সেটগিড ফাইলগুলির একটি তালিকা এখানে রয়েছে:

[root@fedora23lnvr61]# find / -perm /g+s,u+s
/var/log/journal
/var/log/journal/75e870eb13c74fbf97556a32ecf80ea2
/opt/google/chrome/chrome-sandbox
/usr/bin/rogue
/usr/bin/gnuchess
/usr/bin/locate
/usr/bin/umount
/usr/bin/lbrickbuster2
/usr/bin/gpasswd
/usr/bin/crontab
/usr/bin/fusermount
/usr/bin/su
/usr/bin/at
/usr/bin/newuidmap
/usr/bin/sudo
/usr/bin/pkexec
/usr/bin/mount
/usr/bin/chsh
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/chage
/usr/bin/chfn
/usr/bin/write
/usr/bin/newgidmap
/usr/sbin/mount.nfs
/usr/sbin/lockdev
/usr/sbin/netreport
/usr/sbin/userhelper
/usr/sbin/usernetctl
/usr/sbin/unix_chkpwd
/usr/sbin/pam_timestamp_check
/usr/libexec/kde4/kdesud
/usr/libexec/kde4/kpac_dhcp_helper
/usr/libexec/dbus-1/dbus-daemon-launch-helper
/usr/libexec/qemu-bridge-helper
/usr/libexec/openssh/ssh-keysign
/usr/libexec/spice-gtk-x86_64/spice-client-glib-usb-acl-helper
/usr/libexec/utempter/utempter
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
/usr/libexec/Xorg.wrap
/usr/lib/polkit-1/polkit-agent-helper-1
/usr/lib64/vte-2.90/gnome-pty-helper
/usr/lib64/virtualbox/VBoxSDL
/usr/lib64/virtualbox/VirtualBox
/usr/lib64/virtualbox/VBoxNetNAT
/usr/lib64/virtualbox/VBoxHeadless
/usr/lib64/virtualbox/VBoxNetDHCP
/usr/lib64/virtualbox/VBoxNetAdpCtl
/usr/lib64/virtualbox/VBoxVolInfo
/usr/lib64/vte/gnome-pty-helper
[root@fedora23lnvr61]# 

আমি ক্যাশে এবং লগগুলিতে কয়েক ডজন শব্দের এন্ট্রি সরিয়েছি।


3
সাহস আমি ভাবছি কেন গুঁতাশ এবং দুর্বৃত্তরা সেই তালিকায় আছে?
ওয়াইজ ওल्डডাক

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

3
@ বিজ্ঞানী ওল্ড ডাক যেমন ওয়ালিক বলেছেন, প্লাস, মনে রাখবেন যে সেটুয়েডকে শিকড় ব্যবহার করতে হবে না (এবং আফাইক সেটগিডটি মূলের জন্য কার্যকর নয়)
স্টারওয়েভার

5
কী chmodকরছে তা ব্যাখ্যা করার এবং উদাহরণ প্রমাণ সরবরাহ করার জন্য বিরক্ত করার জন্য প্রস্তুত , যা অন্য কোথাও খুব কম রয়েছে।
আন্ডারস্কোর_ডি

1
এর অর্থ কি এই chmod u+rwx,g+rwx,o+rwx -R /সিস্টেমটি ভাঙ্গবে না?
ডেনিস জাহেরুদ্দিন

15

অন্যান্য জবাবগুলির অতিরিক্ত: আপনি "স্টিকি বিট" থেকেও সরিয়েছেন /tmp(যার সাধারণত 1777 টি অনুমতি রয়েছে) এবং এটি অন্যান্য অপ্রত্যাশিত সমস্যার কারণ হতে পারে, কারণ প্রোগ্রামগুলি একে অপরের অস্থায়ী ফাইলগুলিতে লিখতে বা মুছতে সক্ষম হয়।

স্টিকি বিটটি হ'ল একটি বিশেষ অনুমতি যা কোনও ব্যক্তিকে ফাইল তৈরি করার অনুমতি দেয় /tmp, কেবল এটির তৈরি ব্যক্তিটিকে এটি সরাতে বা সরানোর অনুমতি দেয়।


4
"এবং এটি সিস্টেম / টিএমপি ডিরেক্টরি ব্যবহার করা থেকে শুরু করে অন্য কাউকে বাধা দিত।" - এটা ঠিক মনে হচ্ছে না। এটি এখনও যে কাউকে সিস্টেম / টিএমপি ডিরেক্টরি ব্যবহার করার অনুমতি দেয়। ব্যবহারকারী, গোষ্ঠী এবং অন্য সকলের সমস্ত অধিকার থাকলে কোনও স্টিকি বিটের দরকার নেই। এটি অবশ্য যে কাউকে অন্যের ফাইলগুলি সরাতে দেয়।
এইচডিভি

1
সুতরাং বেন যদি আমি chmod 1777 -R / চালনা করি তবে সমস্যা হবে না কারণ আমি স্টিকি বিটটি সাফ করছি না? -
ব্রিজরাজ কিশোর

ধন্যবাদ @ এইচভিডি - আপনি ঠিক বলেছেন এবং সেটিকে প্রতিফলিত করার জন্য আমি পোস্টটি কিছুটা পরিবর্তন করেছি।
বেন এক্সও

ব্রিজরাজকিশোর, আপনি কেন প্রথম স্থানে এটি করছেন তা প্রশ্ন থেকেই যায়। উবুন্টু এবং এতে যে প্রোগ্রামগুলি অন্তর্ভুক্ত রয়েছে সেগুলি অনেক কারণেই "অনুমতিবিহীন" চালানোর জন্য ডিজাইন করা হয়নি। পরিবর্তে এটি "সু" থেকে রুট করা আরও বোধগম্য হবে।
বেন এক্সও

1
এটি দুর্ঘটনার ফলে কি হবে তা অজানা। এটি পুরোপুরি সম্ভব, কারণ হঠাৎ করে অ্যাপ্লিকেশনগুলি একে অপরের সাথে অস্থায়ী ফাইলগুলি - সম্ভবত দুর্ঘটনাক্রমে - এবং এটি ক্রাশের কারণ হতে পারে things উবুন্টু যেমন কখনও পরীক্ষা করা হয় না, আপনি সম্ভবত এটি প্রথম ব্যক্তি হতে হবে। :-) অন্যদিকে, সিস্টেমে প্রতিটি ফোল্ডারে স্টিকি বিট সেট করা আরও অনেক সমস্যার কারণ হতে পারে, অ্যাপ্লিকেশনগুলি যা ফোল্ডারে গ্রুপ অনুমতিের কারণে প্রোগ্রামগুলি হস্তান্তর করতে সক্ষম হবে বলে আশা করেছিল (অর্থাত্ অনুমতিপত্রের ফোল্ডারগুলি 2777)।
বেন এক্সও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.