意外地以根用户身份运行“ chown www-data:www-data / -R”


26

我只是在几秒钟前运行过。我设法做到了Ctrl- C意识到自己开始做的事。

到目前为止,它开始通过的唯一目录是/bin

我怕做其他事情。到目前为止,我意识到我不能再su以普通用户的身份使用了。

幸运的是,我还有另一个根终端打开。我该怎么办?


26
听起来你像在那儿受苦了,伙计。
ta.speot。是

4
现在您了解了备份的重要性。定期做。
朱利诺

至少他没有从根本上修改。那是一场灾难。至少从根目录开始的rm -rf会为您提供更多的磁盘空间,并为重新安装完整的系统做好准备,而chmod只会留下真正的混乱,除了重新安装完整的系统之外,其他任何方式都很难恢复。篱笆两边的草是棕色的,是吗?
Fiasco Labs

Answers:


10

/ bin /中的大多数内容都应由root:root拥有,因此,如果运行以下命令,则可以修复这些文件的所有权:

chown root:root -R /bin/ 

您可能还需要确保在/ bin / su上正确设置了setuid位,可以使用以下方法进行修复:

chmod 4755 /bin/su

1
在Ubuntu上,使用sudo进行同样重要。我认为默认情况下还没有设置root密码?顺便说一句,我真的建议您实际使用sudo而不是root shell。键入sudo所花费的半秒钟通常可以停止类似曲目中的错误。仅仅在root shell中工作更容易错过……
Bernd Haug 2010年

4
paste.ubuntu.com/362468是我的Ubuntu 9.10桌面上的“ ls -l / bin”。虽然我可能没有安装与您完全相同的文件,但它至少应该为您提供一个很好的提示,说明哪些文件需要特殊权限。
andol 2010年

@Bernd:尽管我没有做太多的管理工作,但我注意到我比root少了一些愚蠢的事情。我可能永远不会再使用root密码。(而且,不,Ubuntu上没有默认的root密码,我认为MacOSX上没有默认的root密码。)
David Thornley 2010年

@David:在OS X上绝对没有默认的root密码,而设置一个主要是一个错误,IMO。几乎总有另一种更好的方法。问题是Mac在一开始就不太安全。我希望一旦他们拥有更大的安装基础,从而使RK,Virii,僵尸网络客户&c获利,就会看到很多“乐趣”。
Bernd Haug 2010年

36

Redhat用户:

chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids

Debian / Ubuntu用户:

chown 0:0 /bin/*  /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen

在屏幕运行时,至少执行两次:

dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
    | xargs apt-get install --reinstall --

非常密切关注的输出,因为如果它抱怨的东西有错误的权限,则应将其固定到另一个屏幕窗口。

屏幕中的速成课程:

Control+A     - command key
Control+A a   - emit a control+A
Control+A n   - next "screen"
Control+A c   - create "screen"

Solaris用户:

你他妈的。

pkgchk -R / -f -a

将重置所有权限,但setuid-ness仍将被破坏。使用备份或另一台solaris机器来查找setuid / setgid脚本和文件,并手动对其进行修复。

有关备份的重要事项

是您可以恢复它们,而不是您将它们带走。

其他人已建议您进行备份,但我想补充一点,您应该对它们进行测试。如果使用的是unixish系统,则没有任何理由不能定期将文件转储到另一台计算机上并确保一切正常。


FreeBSD用户:永远不会犯这种错误;)
einstiien 2010年

10
@einstiien是的,FreeBSD用户直接进入了rm -rf舞台。
grawity 2010年

@grawity:大声笑,好人。
einstiien

可怜的Solaris用户:(
Mircea Chirea,2010年

3

请注意,任何受影响的二进制文件上的set-uid标志也可能已被删除。这是chown的安全功能。使用其他系统检查哪些二进制文件具有set-uid或set-gid标志,并确保也将其设置在二进制文件中。


3

我将解释使用RPM重置文件权限的详细信息,但是我发现了一个包含更多信息的网站。它还确实提到Ubuntu / Debian(通常是.debs)不支持它。

但总的来说,您要寻找的选择是:

rpm --setugids {packagename}

如标签所示,它在ubuntu系统上。这意味着将使用dpkg和.DEB代替rpm和.RPM
Kevin M

2

如果这是一个Debian系统,我将重新安装所有内容。


0

您有有效的备份吗?如果是,请还原您的bin文件夹。

否则,请在另一个框中查看安装了相同版本ubuntu的文件,以及chown在正常安装中找到的文件。


0

试试这个:在/ bin目录中找到所有www-data

# find /bin -user www-data

然后将www-data更改回原始用户

# find /bin -user www-data -exec chown ORiginalUser {} \;

# then change www-data back to oringal group
# find /bin -group www-data -exec chgrp originaluser {} \;

0

感谢所有人的出色反应,现在似乎一切都已解决。

/ bin / su工作一次,将其更改为4755(不知道为什么chown更改了suid位)

我没有注意到,但是它也开始通过/ home目录工作,但是这很容易解决(只需将user:group设置为每个目录的用户)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.