红联Linux门户
Linux帮助

删除Linux的/tmp目录引起的不能正常登录系统

发布时间:2007-09-20 00:18:07来源:红联作者:reventPar
  现象:/tmp占用400M的空间(里面全部是乱七八糟的东西)

  动作:删除/tmp目录
  后果:造成只能启动到控制台模式

  应急:
  1 创建目录:#mkdir /tmp 结果系统在控制台模式登录和X windows模式登录状态间反复切换,不能进入系统

  2 改变权限:#chmod a+rwx,o+t /tmp

  即为:
  drwxrwxrwt 4 root root 4096 9月 16 15:18 tmp

  系统恢复正常。

  具体分析原因如下:
  正常情况下,/tmp目录的权限是:
  drwxrwxrwt 4 root root 4096 9月 16 15:18 tmp

  它表示所有的用户都可以在其中建立文件(或目录),即任何人都对tmp目录拥有“写权限”,但是除非tmp目录的所有者和文件的所有者,其他人不能在/tmp目录下改写(或删除、重命名)别人的文件(或目录)。

  如果你删除了系统的tmp目录,又用mkdir /tmp建立这个目录,那么根据umask的规定,默认建议的目录的权限是:

  drwxr-xr-x 3 root root 4096 9月 16 15:31 tmp

  那么其他人就不能在/tmp目录下建立文件了;这时,系统将出现故障(如:不能启动或不能进入x windows);

  如果你用:chmod a+w /tmp改变/tmp目录的权限为:
  drwxrwxrwx 3 root root 4096 9月 16 16:34 tmp

  那么任何人都可以删除别人在/tmp目录下的文件了,包括删除root在/tmp目录下建立的文件;

  如果用:chmod o+t /tmp为/tmp目录加了粘滞位t,那么其他人就不能在tmp目录下改写(或删除、重命名)别人的文件(或目录),起到了/tmp目录的作用。

  另外,“suid”和“sgid”特殊标志位可以使普通用户运行一个程序,使这个程序访问或修改只有文件所有者或root用户才能直接访问或修改的文件,当然前提是这个普通用户对这个文件的某个部分拥有相应的权限。
文章评论

共有 3 条评论

  1. zpsevenstar 于 2007-09-21 14:31:41发表:

    :0L :0L

  2. million 于 2007-09-20 16:44:32发表:

    收下了
    慢慢学习

  3. jiehui520 于 2007-09-20 08:53:47发表:

    谢谢拉