আমি সকলকে কেবল কিছু করার অনুমতি দিচ্ছি তবে কেবল অনুমতি দিয়ে কেন সিস্টেমটি ক্রাশ হয়? আমি কেবল ফাইলগুলি পরিবর্তন না করে অনুমতি পরিবর্তন করছি।
/var/log/syslog
, আপনি এমনকি কারণ খুঁজে বের করতে চাই।
আমি সকলকে কেবল কিছু করার অনুমতি দিচ্ছি তবে কেবল অনুমতি দিয়ে কেন সিস্টেমটি ক্রাশ হয়? আমি কেবল ফাইলগুলি পরিবর্তন না করে অনুমতি পরিবর্তন করছি।
/var/log/syslog
, আপনি এমনকি কারণ খুঁজে বের করতে চাই।
উত্তর:
কারণ একটি দম্পতি আছে।
প্রথমে সাধারণ পড়ার / লেখার / সম্পাদনের অনুমতি ছাড়াও কিছু অন্যান্য বিট রয়েছে যা ফাইল অনুমতিগুলিতে থাকে। সবচেয়ে উল্লেখযোগ্য setuid
এবং setgid
। যখন এই অনুমতি বিটগুলির মধ্যে একটি সহ একটি প্রোগ্রাম চালানো হয় তখন এটি "কার্যকর ইউআইডি" এবং / অথবা প্রোগ্রামটির মালিকের "কার্যকর জিআইডি" পায় যা এটি চালানো ব্যবহারকারীর চেয়ে। এটি প্রোগ্রামগুলিকে চালিত ব্যবহারকারীর চেয়ে বেশি অনুমতি নিয়ে চালানোর অনুমতি দেয়। এটি su
এবং সহ অনেকগুলি গুরুত্বপূর্ণ সিস্টেম ইউটিলিটিগুলি দ্বারা ব্যবহৃত হয় sudo
। আপনার chmod
কমান্ডটি ইউটিলিটিগুলিকে অকেজো করে রেখে এই বিটগুলি সাফ করে।
দ্বিতীয়ত কিছু প্রোগ্রাম (উল্লেখযোগ্যভাবে ssh
) ফাইল অনুমতিগুলিতে একটি বিবেক পরীক্ষা করে এবং ফাইলগুলিকে তারা নিরাপত্তাহীন বলে মনে করার অনুমতি সহ ফাইলগুলি ব্যবহার করতে অস্বীকার করে। এটি দুর্ঘটনাক্রমে সুরক্ষা ছিদ্র ছেড়ে দেওয়ার জন্য অসাবধান প্রশাসকদের ঝুঁকি হ্রাস করে তবে এটি মুছে ফেলা ফাইল অনুমতিগুলি আরও বেশি বেদনাদায়ক করে তোলে।
একটি সংক্ষিপ্ত উত্তর।
লিনাক্স সিস্টেমের মতো নির্দিষ্ট প্রোগ্রামগুলির জন্য নির্দিষ্ট অনুমতি প্রয়োজন sudo
etc.
আপনি যখন চালনা করেন chmod 777 -R /
আপনি সমস্ত অনুমতি মুছুন এবং সেগুলি প্রতিস্থাপন করুন 777
। আপনি ম্যানুয়ালি সমস্ত অনুমতিগুলি পুনরুদ্ধার না করলে এটি সিস্টেমটিকে অযোগ্য করে তোলে।
অনুশীলনে এটি পুনরায় ইনস্টল করা অনেক দ্রুত এবং সহজ।
সমস্যাটি হ'ল অনেক সিস্টেম প্রোগ্রাম এমনভাবে ডিজাইন করা হয় যাতে অনুমতিগুলি "পছন্দ না করে" তারা শুরু না করে। এটি সুরক্ষার কারণে তৈরি করা হয়েছে।
আমি মনে করি যে প্রতিটি প্রোগ্রাম কেন ভুল অনুমতি নিয়ে কাজ করতে ব্যর্থ হয় তা ব্যাখ্যা করার চেয়ে প্যারাকটিসে সিস্টেম নকশা কীভাবে পরিচালনা করতে হবে তা ব্যাখ্যা করা আরও গুরুত্বপূর্ণ।
আপনি যদি সত্যিই উবুন্টুতে সমস্ত ব্যবহারকারীর সীমাহীন অনুমতি পেতে চান তবে আপনি sudo
ফাইল এবং ডিরেক্টরি অনুমতি পরিবর্তনের পরিবর্তে সমস্ত ব্যবহারকারীকে দলে যোগ করতে পারেন । এটি একই প্রভাব ফেলবে, তবে সিস্টেমটি নষ্ট করবে না।
আর একটি উপায় (খুব খারাপ একটি) হ'ল রুট অ্যাকাউন্ট সক্রিয় করা এবং প্রত্যেককে রুট হিসাবে লগইন করার অনুমতি দেওয়া।
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]#
আমি ক্যাশে এবং লগগুলিতে কয়েক ডজন শব্দের এন্ট্রি সরিয়েছি।
chmod
করছে তা ব্যাখ্যা করার এবং উদাহরণ প্রমাণ সরবরাহ করার জন্য বিরক্ত করার জন্য প্রস্তুত , যা অন্য কোথাও খুব কম রয়েছে।
chmod u+rwx,g+rwx,o+rwx -R /
সিস্টেমটি ভাঙ্গবে না?
অন্যান্য জবাবগুলির অতিরিক্ত: আপনি "স্টিকি বিট" থেকেও সরিয়েছেন /tmp
(যার সাধারণত 1777 টি অনুমতি রয়েছে) এবং এটি অন্যান্য অপ্রত্যাশিত সমস্যার কারণ হতে পারে, কারণ প্রোগ্রামগুলি একে অপরের অস্থায়ী ফাইলগুলিতে লিখতে বা মুছতে সক্ষম হয়।
স্টিকি বিটটি হ'ল একটি বিশেষ অনুমতি যা কোনও ব্যক্তিকে ফাইল তৈরি করার অনুমতি দেয় /tmp
, কেবল এটির তৈরি ব্যক্তিটিকে এটি সরাতে বা সরানোর অনুমতি দেয়।