学习日记

正在关注 Linux 、开源的个人博客。

首页 | 留言本 | 标签云 | 网站地图 | 美味书签 | Learning Diary | 登录 |

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

2007年03月16日 下午 2:51 | 作者:littlebat

昨天无意查看到/tmp目录竟占了400M的空间,看到里面全是一个乱七八糟的东西。联想到windows的temp目录的作用。就把/tmp目录删除了,想系统启动时可能就重新建了这个目录。结果系统只能启动到控制台模式;

又用mkdir /tmp建了这个目录,结果系统在控制台模式登录和X windows模式登录状态间反复切换,不能进入系统;

后来在网上查了一下,改变了/tmp目录的权限为:chmod a+rwx,o+t /tmp,即为:

drwxrwxrwt    4 root     root         4096  3月 16 10:18 tmp

系统恢复正常。

具体分析原因如下:

正常情况下,/tmp目录的权限是:

drwxrwxrwt    4 root     root         4096  3月 16 10:18 tmp

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

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

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

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

如果你用:chmod a+w /tmp改变/tmp目录的权限为:

drwxrwxrwx    3 root     root         4096  3月 16 11:34 tmp

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

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

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

详情见转帖:linux的权限和所有权模型(转帖): http://java.learndiary.com/diaries/3110.jsp

本人的系统是redhat linux9.0+amd duron 700。在网上查到有人说删除某些linux发行版本的/tmp目录下的文件会使系统不能正常工作,也不知道是不是真的。不过,这次也再一次给我一个教训,对linux操作系统不熟悉的地方不能按照windows的模式想当然的操作。尤其是系统是正式的工作系统,应该坚持“宁滥勿缺”的原则,不要想当然的删除你不熟悉的文件或目录。

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

相关日记

随机日记

添加到网摘

[del.icio.us]  [新浪 VIVI]  [365key]  [YouNote]  [博采中心]  [Poco]  [SOHU狐摘]  [天极网摘]  [和讯网摘] 

发表评论

*必填

*必填 (不会被公开)


Copyright © 2004-2008 www.learndiary.com(学习日记)
Powered by WordPress with theme by UCDCHINA for Blogool come from JunChen Wu, nowa
联系版主:mdx-xx at tom dot com。2004.7.25