Chinaunix

标题: BUG ? ksh里面 ./.*的含义? [打印本页]

作者: netdaddy    时间: 2004-12-08 10:53
标题: BUG ? ksh里面 ./.*的含义?
AIX 5.2
    ksh

在一个目录里面,比如/XXX
(当前路径是/XXX,这一点已经绝对可以肯定)

用root执行如下命令:
  
    chown A:B ./.*       #原意是想把/XXX里面的所有隐藏文件改属主

结果导致
    系统所有目录的属主均变成A:B,
包括/etc/,/usr/,/opt.....,最后系统崩溃


为什么会这样? 有人碰搞过这种情况吗?
作者: 九霄龙吟    时间: 2004-12-08 11:29
标题: BUG ? ksh里面 ./.*的含义?
chown 没加 -R 最多改了/下的文件和目录属性,
对照其他机器进维护模式改回去
作者: netdaddy    时间: 2004-12-08 20:33
标题: BUG ? ksh里面 ./.*的含义?
我已经参照了其他系统,将所有的目录的属主都改回去了。
不过就给局方批了一顿还要写报告:(

    我现在想知道的是造成这种现象的解释,有谁可以给我答案吗?
ksh就是这样的吗?
作者: netdaddy    时间: 2004-12-08 21:11
标题: BUG ? ksh里面 ./.*的含义?


类似于ls命令的 -R和a 参数
    cd /tmp
    ls -aR ./.*
会看到是所有目录的内容

原因想了半天,原来是 .* 包含了.. (父目录),加上-R 参数,而且我
又是全县超级大的root, 结果把./../里面,也就是/目录,的所有内容均
变成是user:group的了


结果是当场down机。后来用光盘启动,找同样的主机和系统做参照,
把所有的文件属主全改回去了,系统才回来了。最后给局方批了一顿还
要写报告:(

以后对隐藏文件的通配真是要小心又小心了。
  
作者: 九霄龙吟    时间: 2004-12-08 21:13
标题: BUG ? ksh里面 ./.*的含义?
按照描述的不会这样

至少在你的描述中没有写用了-R ,
记忆中的与实际执行的未必相符
还是看下 .sh_history   中到底执行了什么命令




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2