免费注册 查看新帖 |

Chinaunix

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

setgid 的疑难杂症 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-06 16:29 |只看该作者 |倒序浏览
blag-pts/0-root:/ChoLee# ll                                                                  
total 12
drwxr-sr-x 2 bin  bin  4096 Oct 23 04:01 abc-with-setgid/
drwxr-xr-x 2 root root 4096 Oct 23 03:55 test1/
drwxr-xr-x 2 root root 4096 Oct 23 04:00 test2/

blag-pts/0-root:/ChoLee# cp -r test1 abc-with-setgid
                                          
blag-pts/0-root:/ChoLee# mv test2 abc-with-setgid  
                                             
blag-pts/0-root:/ChoLee# ll abc-with-setgid                                                      
total 8
drwxr-sr-x 2 root bin  4096 Oct 23 04:01 test1/
drwxr-xr-x 2 root root 4096 Oct 23 04:00 test2/

test2怎么沒有sgid位,也沒有繼承父目錄的bin组。y?

[ 本帖最后由 qucklay 于 2007-12-6 16:30 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-12-06 17:48 |只看该作者
刚刚用 strace -v 看过了,可能是在下面这里有差别

下面是 strace -v cp 命令的

open("subdir/a", O_WRONLY|O_CREAT|O_LARGEFILE, 0100644) = 4
fstat64(4, {st_dev=makedev(8, 5), st_ino=426027, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=500, st_blksize=4096, st_blocks=8, st_size=0, st_atime=2007/12/06-17:20:40, st_mtime=2007/12/06-17:20:40, st_ctime=2007/12/06-17:20:40}) = 0



下面是 strace -v mv 命令的

stat64("subdir/", {st_dev=makedev(8, 5), st_ino=426026, st_mode=S_IFDIR|S_ISGID|0755, st_nlink=2, st_uid=500, st_gid=500, st_blksize=4096, st_blocks=16, st_size=4096, st_atime=2007/12/06-17:20:56, st_mtime=2007/12/06-17:20:57, st_ctime=2007/12/06-17:20:57}) = 0
lstat64("a", {st_dev=makedev(8, 5), st_ino=4079630, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=0, st_atime=2007/12/06-17:21:01, st_mtime=2007/12/06-17:21:01, st_ctime=2007/12/06-17:21:01}) = 0


就差别在 fstat64 和 lstat64 这两行上



  1. NAME
  2.        stat, fstat, lstat - get file status
复制代码

[ 本帖最后由 ailms 于 2007-12-6 17:51 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-12-06 21:37 |只看该作者
不是很懂。
非常感謝

论坛徽章:
0
4 [报告]
发表于 2007-12-06 21:41 |只看该作者
那有沒有辦法讓執行mv操作,繼承存在sgid目錄的s bit以及group?

论坛徽章:
0
5 [报告]
发表于 2007-12-06 21:48 |只看该作者
我想不行,因为这是 mv 默认的动作来的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP