可能重复:
恢复chmod 777 / -R
当我在我的服务器上时,我意外地执行了chown someuser * -R 。
我想也许通过发布chown root * -R将以某种方式解决它。 但似乎有一些问题。
例如,现在DirectAdmin在我尝试login时performance怪异。 它说:
无法确定Usertype
user.conf需要修复
有什么办法可以解决这个问题吗?
更新:我想也许是通过编写一个shell脚本来检查每个文件的组,并相应地设置用户来解决这个问题,因为据我所知,通常所有文件对于用户和组都具有相同的值。
这是不幸的!
你发出的后一个命令是把所有文件的所有权改为root。 因此,任何设置为suid的文件(设置UID,以便它们以其所有者的权限运行)将以root权限运行,并且用户也不会拥有其主目录。 对此非常小心。 考虑使用ls来search这样的文件,因为如果你的用户有任何suid shell脚本或者其他东西,这可能是一个严重的安全问题。
你面临困难的情况; 您现在必须确定谁应拥有哪些文件,并手动分配它。 在某些情况下,重build会更容易,而且这样做尤其如果你有configuration备份(我假设你备份了你的数据)。 如果你不这样做,那么现在就把它全部备份起来,以便在重build时有一个参考。 但是,如果您不介意有点不准确,那么有一些简单的规则:
chown -R username ~username 。 chown -R apache /path/to/webroot 。 chmod -R username /path/to/filesystem/object 。 chown root somefile.key 。 chown username /path/to/file 。 尽pipe如此,你应该考虑从备份恢复用户的主目录,因为他们可能已经设置了各种权限,并有各种各样的东西在那里。 这样做有助于避免开始时提到的安全风险。
你不能推断组中的所有者。 例如,用户主目录中的文件通常拥有所有权username:users 。 此外,许多文件都有可以编辑它们的特定所有者,以及可以读取和执行这些文件的特定组,并且对其他用户没有权限。 这也会导致奇怪的行为,或者只是失败(组不需要对应于用户)。
祝你好运! 如果你select不重build,从现在开始直到永远,如果你发现一个文件被破坏或权限不正确的奇怪的错误,你将不得不检查所有权。