Linux下/tmp文件目录引起不正常登录问题

现象:/tmp占用400M的空间
动作:删除/tmp目录
【Linux下/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用户才能直接访问或修改的文件 , 当然前提是这个普通用户对这个文件的某个部分拥有相应的权限 。

    推荐阅读