Saya hanya memberikan izin kepada semua untuk melakukan apa pun tetapi mengapa sistem macet dengan memberikan izin saja? Saya hanya mengubah izin tidak mengubah file.
/var/log/syslog
, Anda bahkan akan mencari tahu alasannya.
Saya hanya memberikan izin kepada semua untuk melakukan apa pun tetapi mengapa sistem macet dengan memberikan izin saja? Saya hanya mengubah izin tidak mengubah file.
/var/log/syslog
, Anda bahkan akan mencari tahu alasannya.
Jawaban:
Ada beberapa alasan.
Pertama selain izin baca / tulis / eksekusi biasa ada beberapa bit lain yang berisi izin file. Terutama setuid
dan setgid
. Ketika sebuah program dengan salah satu dari bit izin ini diatur dijalankan, ia akan mendapatkan "UID efektif" dan / atau "GID efektif" dari pemilik program daripada pengguna yang menjalankannya. Ini memungkinkan program berjalan dengan lebih banyak izin daripada pengguna yang menjalankannya. Ini digunakan oleh banyak utilitas sistem penting termasuk su
dan sudo
. chmod
Perintah Anda menghapus bit-bit ini meninggalkan utilitas tidak dapat digunakan.
Kedua beberapa program (terutama ssh
) melakukan pemeriksaan kewarasan pada izin file dan menolak untuk menggunakan file dengan izin yang mereka anggap tidak aman. Ini mengurangi risiko admin lalai secara tidak sengaja meninggalkan lubang keamanan tetapi itu membuat berurusan dengan izin file yang dihapus semua semakin menyakitkan.
Jawaban singkat.
Sistem Linux memerlukan izin khusus untuk program tertentu seperti sudo
, dll.
Ketika Anda menjalankan chmod 777 -R /
Anda menghapus semua izin dan menggantinya dengan 777
. Ini membuat sistem tidak dapat digunakan kecuali Anda mengembalikan semua izin secara manual.
Dalam praktiknya jauh lebih cepat dan lebih mudah untuk menginstal ulang.
Masalahnya adalah bahwa banyak program sistem dirancang dengan cara yang tidak dimulai jika mereka "tidak suka" izin. Ini dibuat untuk alasan keamanan.
Saya pikir lebih penting untuk menjelaskan bagaimana menangani desain sistem dalam paractice daripada menjelaskan mengapa masing-masing program gagal untuk bekerja dengan permissons yang salah.
Jika Anda benar-benar ingin semua pengguna memiliki izin tanpa batas di Ubuntu, Anda dapat menambahkan semua pengguna ke sudo
grup alih-alih mengubah izin file dan direktori. Itu akan memiliki efek yang sama, tetapi tidak akan merusak sistem.
Cara lain (yang sangat buruk) adalah mengaktifkan akun root dan memungkinkan semua orang untuk login sebagai root.
chmod
memiliki nuansa halus.
chmod 0777
berperilaku berbeda dari chmod u+rwx,g+rwx,o+rwx
dalam bahwa setuid dan setgid di - nolkan oleh yang pertama dan diawetkan oleh yang terakhir.
Itu sebabnya sistem menjadi tidak dapat digunakan. Anda menghapus setuid yang diperlukan dari beberapa program.
Berikut adalah daftar file setuid atau setgid di laptop Linux Fedora 23 saya:
[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]#
Saya menghapus lusinan entri noise di cache dan log.
chmod
sedang dilakukan dan memberikan contoh bukti, sesuatu yang sangat kurang di tempat lain.
chmod u+rwx,g+rwx,o+rwx -R /
tidak akan merusak sistem?
Tambahan untuk balasan lain: Anda juga menghapus "sticky bit" dari /tmp
(yang biasanya memiliki izin 1777), dan ini dapat menyebabkan masalah tak terduga lainnya, karena program akan dapat menulis atau menghapus file sementara masing-masing.
Bit sticky adalah izin khusus yang, sementara memungkinkan siapa pun untuk membuat file /tmp
, hanya memungkinkan orang yang membuatnya untuk memindahkan atau menghapusnya.