我可以这样做吗?
sudo chown -R myUsernName /usr/lib
我的意思是我可以这样做而不用担心我的操作系统会被破坏吗?或者权限会被搞砸?
这就是我想要这样做的原因
这就是为什么我不这样做,我来这里问你们:
答案1
两件事情:
(1) 这样做绝对没有任何好处。中的文件/usr/lib
应该由 root/系统拥有,因为系统上由 root 拥有的许多东西都依赖于它们。
(2) 这也是破坏你的系统的一个非常好的方法。-
只是为了说明一点,请遵循以下一般经验法则:
如果有疑问,请不要这样做。
答案2
sudo
通常情况下/usr/bin/sudo
,运行该命令后您将无法使用它chown
:二进制文件所有者将是您自己,因此下次运行它时sudo
您将不会获得权限。root
所以不去做。
答案3
不。
如果您不完全了解系统上文件权限的原因,请不要更改它们。
一般来说,主目录或/tmp
指定目录之外的文件数据应该属于系统用户,而不是您。
此外,您不应该在 下书写/usr
,但以下情况除外/usr/local
:这是为您的发行版或包管理器保留的。如果您想在系统范围内安装程序,请将其安装在/usr/local
.
该安装脚本看起来像是试图安装在错误的位置。如果它尝试将内容复制到/usr/lib
,那么它是破碎的。不要使用它。寻找适合您的发行版的软件包,或者更好的安装脚本,或者更好的安装说明。同样,如果事情最终没有通过包管理器就进入/usr/lib
(而不是/usr/local/lib
),安装过程就会被破坏。
答案4
不,这不安全:/usr/lib
选择 中的权限有两个原因:
- 防止系统程序的意外修改,以及
- 提供对系统各种功能的特权访问,例如使用 setuid/setgid 程序。
你可以看到后者使用
find /usr/lib -type f -perm /7000
使用 setuid (4000) 或 setgid (2000) 或粘性位 (1000) 搜索任何程序。在我的 Debian7 上,显示了几个文件:
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/kde4/libexec/kdesud
/usr/lib/openssh/ssh-keysign
/usr/lib/libvte9/gnome-pty-helper
/usr/lib/emacs/23.4/x86_64-linux-gnu/movemail
/usr/lib/mc/cons.saver
/usr/lib/libvte-2.90-9/gnome-pty-helper
/usr/lib/utempter/utempter
/usr/lib/pt_chown
/usr/lib/evolution/camel-lock-helper-1.2
/usr/lib/policykit-1/polkit-agent-helper-1
如果您更改这些文件的所有权,它们将无法再执行为其设计的任务。例如,gnome-pty-helper
和utempter
用于更新乌特姆普/乌特姆普功能(提供数据w
和last
)。
进一步阅读: