什么可能导致所有非root帐户失去基本的文件和目录权限?

请注意:我在下面描述的问题似乎已经“自行消失”了。 但这并不令人感到欣慰,所以我希望能够find一个解决scheme,或者至less是一个解释。

我只是使用Ubuntu Lucid服务器(CLI-only)为LAMPangular色准备一个Slicehost虚拟服务器。 我为自己(yukondude)创build了一个帐户,但是以root身份执行大部分安装。 在这个过程的某个时刻,mysql-server软件包( aptitude install -Pr mysql-server )失败,出现这个错误:

 Unable to set password for the MySQL "root" user An error occurred while setting the password for the MySQL administrative user. This may have happened because the account already has a password, or because of a communication problem with the MySQL server. 

这是第一次安装mysql-server,所以这个问题不可能是以前的密码。 然后安装脚本将这些行转储到terminal:

 100903 19:57:05 [Note] Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Can't create/write to file '/tmp/iblv4tJ0' (Errcode: 13) 100903 19:57:05 InnoDB: Error: unable to create temporary file; errno: 13 100903 19:57:05 [ERROR] Plugin 'InnoDB' init function returned error. 100903 19:57:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. ERROR: 1146 Table 'mysql.user' doesn't exist 100903 19:57:05 [ERROR] Aborting 

它挂在这一点上,所以我手动杀死了安装过程。

然后,我发现Apache2服务器拒绝服务我的testingindex.html文件,而是产生了403 Forbidden消息,即使/var/www/index.html的权限是开放的,Apacheconfiguration没有改变。 我也无法通过SSHlogin到我的yukondude帐户,并且su - yukondude产生了cd /home/yukondude Permission Denied错误(恐怕我没有确切的错误信息的副本)。 / home /和/ home / yukondude /的权限和所有权完全正常。 回顾一下mysql服务器错误,我想知道/ tmp /中文件的访问是否相关。

什么可能导致这个奇怪的权限问题? 我从来没有见过这样的事情。 我想知道PAM是否可能涉及,但我不知道这个系统。 我不确定mysql-server安装是否真的是罪魁祸首,或者只是当时出现的权限问题的受害者。

我尝试从完全相同的结果重新安装一个新的图像。 我的第三次也是最后一次尝试的确奏效了(不同的是我在任何安装之前更新了我的软件包版本),所以我今天上午似乎很清楚。 但是我很紧张,同样的问题可能有一天会再次发生。 我试着Googlesearch帮助,但还没有find一个好的search词组。 有什么build议么?

更新 :我要开始赏金。 正如我所指出的那样,这个问题已经不再影响我了,但是我确实想知道发生了什么。 我也很感激任何经历过类似情况的人的评论,以防这些情况提供线索。

尝试chmod +t /tmp ,看看是否修复它。

可能发生的一个很常见的事情是,你运行chmod或者chown参数错误。

快速search用于恢复chmod的serverfault会返回很多描述人员运行错误的chmod命令的类似症状的问题。

可能是您的Xen主机有磁盘或磁盘访问问题。

运行安装作业只能以root身份进行,所以你必须su或sudo。 当您尝试使用其他帐户login时,您不拒绝访问系统,但拒绝访问您的主文件夹。 可以肯定地说,排除了PAM的任何问题。

我们曾经有过类似症状的问题。 我们的Xen Guest试图写一些东西到磁盘上,最终导致客户内核恐慌。 在此之前,客人的performance非常像您的服务器。 在Xen主机中发现一个带有guest虚拟机镜像的磁盘出现故障,导致客户的I / O操作超时。 在某些情况下,当Xen主机实际还没有提交它们时,Xen主机接受你的磁盘写入,当主机写入超时时,你的服务器镜像将被损坏。

三个想法:

  • Slicehost的底层系统遇到了像内核强制重新安装到只读的问题
  • 您的Slice或Slicehost系统的磁盘空间不足
  • 一个混乱的编译脚本(从不运行它们作为根)或安装程序

你有两个用户使用相同的UID吗? 看看/ etc / passwd

只是这样做:

 sudo chmod 777 /tmp/