AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 799863
Accepted
Brij Raj Kishore
Brij Raj Kishore
Asked: 2016-07-18 12:48:30 +0800 CST2016-07-18 12:48:30 +0800 CST 2016-07-18 12:48:30 +0800 CST

为什么 chmod 777 -R / 使系统无法使用?

  • 772

我只授予所有人做任何事情的权限,但是为什么只授予权限系统会崩溃?我只是在修改权限而不是更改文件。

chmod
  • 4 4 个回答
  • 15036 Views

4 个回答

  • Voted
  1. Best Answer
    Peter Green
    2016-07-18T18:37:56+08:002016-07-18T18:37:56+08:00

    有几个原因。

    首先,除了通常的读/写/执行权限之外,文件权限还包含其他一些位。最值得注意的是setuid和setgid。当设置了这些权限位之一的程序运行时,它会获取程序所有者的“有效 UID”和/或“有效 GID”,而不是运行它的用户。这允许程序以比运行它们的用户更多的权限运行。许多重要的系统实用程序都使用它,包括su和sudo. 您的chmod命令会清除这些位,使实用程序无法使用。

    其次,一些程序(特别是ssh)对文件权限进行完整性检查,并拒绝使用具有他们认为不安全的权限的文件。这降低了粗心的管理员意外留下安全漏洞的风险,但它使处理被清除的文件权限更加痛苦。

    • 107
  2. Pilot6
    2016-07-18T12:54:37+08:002016-07-18T12:54:37+08:00

    一个简短的回答。

    Linux 系统需要特定程序的特定权限,例如sudo等。

    当您运行时,chmod 777 -R /您会擦除所有权限并将其替换为777. 除非您手动恢复所有权限,否则这会使系统无法使用。

    在实践中,重新安装更快、更容易。

    问题是许多系统程序被设计成如果他们“不喜欢”权限就不会启动。这是出于安全原因。

    我认为解释如何在实践中处理系统设计比解释为什么每个程序无法使用错误的权限更重要。

    如果您真的希望所有用户在 Ubuntu 中拥有无限权限,您可以将所有用户添加到sudo组中,而不是更改文件和目录权限。这将产生相同的效果,但不会破坏系统。

    另一种方法(一种非常糟糕的方法)是激活 root 帐户并允许每个人以 root 身份登录。

    • 41
  3. wallyk
    2016-07-19T09:21:55+08:002016-07-19T09:21:55+08:00

    chmod有细微的差别。

    chmod 0777chmod u+rwx,g+rwx,o+rwx与setuid和setgid的行为不同,前者将其置零并由后者保留。

    这就是系统无法使用的原因。您从一些程序中删除了必要的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]# 
    

    我删除了缓存和日志中的几十个噪音条目。

    • 33
  4. Ben XO
    2016-07-20T05:01:47+08:002016-07-20T05:01:47+08:00

    除了其他回复:您还删除了“粘性位” /tmp(通常具有权限 1777),这可能会导致其他意外问题,因为程序将能够写入或删除彼此的临时文件。

    粘性位是一种特殊权限,它允许任何人在其中创建文件/tmp,但只允许创建它的人移动或删除它。

    • 15

相关问题

  • 如何在 NTFS(或 FAT32)分区上使用“chmod”?

  • 文件权限如何工作?文件权限用户和组

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve