免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1570 | 回复: 0
打印 上一主题 下一主题

目录的奇怪属性 drwS-w-rwt [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-19 10:07 |只看该作者 |倒序浏览
在一台服务器上发现一个很古怪的问题:
同事在查看系统的时候发现如下问题:
/backup分区(/dev/md0)是两个250G SATA盘做的软RAID, 从其他服务器rsync传送几万
个文件过来备份过程中, 发现一个文件居然变成了一个同名的特别大的目录, 访问该目录
报无数的hole in directory错, 导致需要重启服务器. 重启后fsck, 解决很多inode,
flag等错误.

昨天上午, umount /backup, fsck -f /backup, 又发现错误. 而此间并没有写过这个
分区. fsck修正错误后, 保持/backup为umount状态, 一直无读写.

昨天晚上, 再次fsck -f /backup, 又发现一个duplicate block, 见附文. 按照道理,
检查过干净后没有挂上使用的文件系统, 完全不应该再发现错误.

[root@mailgw ~]# fsck -f /dev/md0
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Duplicate blocks found... invoking duplicate block passes.
Pass 1B: Rescan for duplicate/bad blocks
Duplicate/bad block(s) in inode 23035938: 331
Pass 1C: Scan directories for inodes with dup blocks.
Pass 1D: Reconciling duplicate blocks
(There are 1 inodes containing duplicate/bad blocks.)

File

/dumps/luntan_post/luntan-2001_2003/2001/0/150/20011212/post_1632103_1231323_150_1231

323_20011212164930.htm (inode #23035938, mod time Thu Sep  8 14:44:16 2011)
  has 1 duplicate block(s), shared with 0 file(s):
Duplicated blocks already reassigned or cloned.

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/backup: 5092690/30539776 files (0.3% non-contiguous), 29921728/61048976 blocks

[root@mailgw ~]# fsck -f -p /dev/md0
fsck 1.35 (28-Feb-2004)
/backup: Duplicate or bad block in use!
/backup: Duplicate/bad block(s) in inode 23035938: 331
/backup: (There are 1 inodes containing duplicate/bad blocks.)

/backup: File

/dumps/luntan_post/luntan-2001_2003/2001/0/150/20011212/post_1632103_1231323_150_1231

323_20011212164930.htm (inode #23035938, mod time Thu Sep  8 14:44:16 2011)
  has 1 duplicate block(s), shared with 0 file(s):
/backup: Duplicated blocks already reassigned or cloned.

/backup: 5092690/30539776 files (0.3% non-contiguous), 29921728/61048976 blocks

[root@mailgw ~]# fsck -f -p /dev/md0
fsck 1.35 (28-Feb-2004)
/backup: Duplicate or bad block in use!
/backup: Duplicate/bad block(s) in inode 23035938: 331
/backup: (There are 1 inodes containing duplicate/bad blocks.)

/backup: File

/dumps/luntan_post/luntan-2001_2003/2001/0/150/20011212/post_1632103_1231323_150_1231

323_20011212164930.htm (inode #23035938, mod time Thu Sep  8 14:44:16 2011)
  has 1 duplicate block(s), shared with 0 file(s):
/backup: Duplicated blocks already reassigned or cloned.

/backup: 5092690/30539776 files (0.3% non-contiguous), 29921728/61048976 blocks

[root@mailgw /]# fsck -f -p -c -v /dev/md0
fsck 1.35 (28-Feb-2004)
/backup: Duplicate or bad block in use!
/backup: Duplicate/bad block(s) in inode 23035938: 331
/backup: (There are 1 inodes containing duplicate/bad blocks.)

/backup: File /dumps/luntan_post/luntan-2001_2003/2001/0/150/20011212/post_1632103_1231323_150_1231323_20011212164930.htm (inode #23035938, mod time Thu Sep  8 14:44:16 2011)
  has 1 duplicate block(s), shared with 0 file(s):
/backup: Duplicated blocks already reassigned or cloned.

5092690 inodes used (16%)
   16217 non-contiguous inodes (0.3%)
         # of inodes with ind/dind/tind blocks: 4478/404/0
29921728 blocks used (49%)
       0 bad blocks
      14 large files

4891144 regular files
  199632 directories
       0 character device files
       0 block device files
       0 fifos
       0 links
    1905 symbolic links (1905 fast symbolic links)
       0 sockets
--------
5092681 files

[root@mailgw /]# fsck -f -p  /dev/md0
fsck 1.35 (28-Feb-2004)
/backup: Duplicate or bad block in use!
/backup: Duplicate/bad block(s) in inode 23035938: 331
/backup: (There are 1 inodes containing duplicate/bad blocks.)

/backup: File /dumps/luntan_post/luntan-2001_2003/2001/0/150/20011212/post_1632103_1231323_150_1231323_20011212164930.htm (inode #23035938, mod time Thu Sep  8 14:44:16 2011)
  has 1 duplicate block(s), shared with 0 file(s):
/backup: Duplicated blocks already reassigned or cloned.

/backup: 5092690/30539776 files (0.3% non-contiguous), 29921728/61048976 blocks
[root@mailgw 20011212]# cd post_1632103_1231323_150_1231323_20011212164930.htm/
[root@mailgw post_1632103_1231323_150_1231323_20011212164930.htm]# ls
[root@mailgw post_1632103_1231323_150_1231323_20011212164930.htm]# pwd
/backup/dumps/luntan_post/luntan-2001_2003/2001/0/150/20011212/post_1632103_1231323_150_1231323_20011212164930.htm
[root@mailgw post_1632103_1231323_150_1231323_20011212164930.htm]# ls -al
total 48
drwS-w-rwt  2 2839649057 2611766410 45056 Sep  8  2011 .
drwxr-xr-x  3 cyzhu      tech        4096 Dec 28  2005 ..
[root@mailgw post_1632103_1231323_150_1231323_20011212164930.htm]# cd ..
[root@mailgw 20011212]# rm -rf  post_1632103_1231323_150_1231323_20011212164930.htm/
rm: cannot remove directory `post_1632103_1231323_150_1231323_20011212164930.htm/': Operation not permitted
删上一级子目录也在该子目录处失败(not permitted), 改不了目录属主也做不
了chmod.

我倒~ 他又重新反复check了5遍, 完全一样的错误. 到对应目录下看那个文件:
  drwS-w-rwt    2 2839649057 2611766410 45056 Sep  8  2011 post_1632103_1231323_150_1231323_20011212164930.htm
除了文件名外, 类型, perm, owner, group, date...全都是错的. 这个实际
为文件的"目录"下没有任何内容, 但也无法手工删除(fsck总是无法修复也属可
理解了):

我新建一个用户2839649057,然后登录进去,发现连post_1632103_1231323_150_1231323_20011212164930.htm目录都无法进入。
无论使用什么方法,使用什么用户,都无法删除
郁闷了。。。。。

万般无奈中我试用了lsattr命令,发现
[root@mailgw 20011212]# lsattr
------------- ./post_1632103_1231324_150_1231324_20011212164946.htm
su-Di-dA-j-tT ./post_1632103_1231323_150_1231323_20011212164930.htm
------------- ./post_1632103_1231325_150_1231325_20011212165130.htm
是不是由于这个的原因呢?
尝试着使用chattr命令:
[root@mailgw 20011212]# man chattr
CHATTR(1)                                                                                                        CHATTR(1)
NAME
       chattr - change file attributes on a Linux second extended file system
SYNOPSIS
       chattr [ -RV ] [ -v version ] [ mode ] files...
...........
chattr - 在EXT2文件系统上改变文件属性(EXT3同样适应)
操作符  '+'  表示将选中的属性增加到指定的文件上; '-' 则表示删除该属性;
'=' 表示文件仅仅设置现在选择的属性(之前设置的属性全部移除)
死马当活马医
[root@mailgw 20011212]# chattr -suDidAjtT post_1632103_1231323_150_1231323_20011212164930.htm

[root@mailgw 20011212]# lsattr
------------- ./post_1632103_1231324_150_1231324_20011212164946.htm
------------- ./post_1632103_1231323_150_1231323_20011212164930.htm
------------- ./post_1632103_1231325_150_1231325_20011212165130.htm

然后就可以使用使用chown chmod 等进行修改了

[root@mailgw 20011212]# chmod 755 post_1632103_1231323_150_1231323_20011212164930.htm

哈哈,居然可以更改了。。。。。。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23834/showart_281193.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP