모두에게만 권한을 부여하고 있는데 왜 권한 만 부여하면 시스템이 다운됩니까? 파일을 변경하지 않고 권한 만 수정하고 있습니다.
/var/log/syslog
이유를 파악할 수도 있습니다.
모두에게만 권한을 부여하고 있는데 왜 권한 만 부여하면 시스템이 다운됩니까? 파일을 변경하지 않고 권한 만 수정하고 있습니다.
/var/log/syslog
이유를 파악할 수도 있습니다.
답변:
몇 가지 이유가 있습니다.
먼저 일반적인 읽기 / 쓰기 / 실행 권한 외에도 파일 권한에 포함 된 다른 비트가 있습니다. 특히 setuid
와 setgid
. 이러한 권한 비트 중 하나를 가진 프로그램이 실행되면 프로그램을 실행 한 사용자가 아니라 프로그램 소유자의 "유효한 UID"및 / 또는 "유효한 GID"를 얻습니다. 이를 통해 프로그램을 실행 한 사용자보다 더 많은 권한으로 프로그램을 실행할 수 있습니다. 그것은 등 많은 중요한 시스템 유틸리티로 사용 su
하고 sudo
. 귀하의 chmod
명령은 사용할 수 없게 유틸리티를 떠나 이러한 비트를 지 웁니다.
둘째로, 일부 프로그램 (특히 ssh
)은 파일 권한에 대한 상태 점검을 수행하고 안전하지 않은 것으로 보이는 권한이있는 파일의 사용을 거부합니다. 이로 인해 부주의 한 관리자가 실수로 보안 허점을 떠날 위험이 줄어들지 만 파일 삭제 권한을 처리하는 것이 더욱 어려워집니다.
짧은 대답.
Linux 시스템에는 sudo
등의 특정 프로그램에 대한 특정 권한이 필요합니다 .
실행할 때 chmod 777 -R /
모든 권한을 지우고로 바꿉니다 777
. 모든 권한을 수동으로 복원하지 않으면 시스템을 사용할 수 없게됩니다.
실제로는 훨씬 빠르고 쉽게 다시 설치할 수 있습니다.
문제는 많은 시스템 프로그램이 권한을 "좋아하지 않으면"시작되지 않는 방식으로 설계되었다는 것입니다. 이것은 보안상의 이유로 이루어집니다.
각 프로그램이 왜 잘못된 허가로 작동하지 않는지를 설명하는 것보다 시스템 설계를 다루는 방법을 설명하는 것이 더 중요하다고 생각합니다.
Ubuntu에서 모든 사용자가 무제한 권한을 갖도록하려면 sudo
파일 및 디렉토리 권한을 변경하는 대신 모든 사용자를 그룹에 추가 할 수 있습니다 . 동일한 효과가 있지만 시스템을 망치지는 않습니다.
또 다른 방법 (매우 나쁜 방법)은 루트 계정을 활성화하고 모든 사람이 루트로 로그인하도록 허용하는 것입니다.
chmod
미묘한 뉘앙스가 있습니다.
chmod 0777
setuid 및 setgid 가 첫 번째로 0으로 설정되고 후자가 유지 chmod u+rwx,g+rwx,o+rwx
된다는 점 에서 다르게 작동 합니다.
그렇기 때문에 시스템을 사용할 수 없게되었습니다. 몇 가지 프로그램에서 필요한 setuid 를 제거 했습니다.
다음은 Linux Fedora 23 랩탑의 setuid 또는 setgid 파일 목록입니다.
[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이있는) 에서 "sticky bit"를 제거하면 프로그램에서 서로의 임시 파일을 쓰거나 삭제할 수 있으므로 예기치 않은 다른 문제가 발생할 수 있습니다.
스티키 비트는 누군가가 파일을 만들 수있게하는 특별한 권한이며, 파일 /tmp
을 만든 사람 만 파일 을 이동하거나 제거 할 수 있습니다.