免费注册 查看新帖 |

Chinaunix

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

[系统管理] linux中用户A修改用户B的文件file。强制保存退出,file的文件所有者和所属组变为A了 [复制链接]

论坛徽章:
1
天蝎座
日期:2014-10-18 18:48:57
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-24 12:55 |只看该作者 |倒序浏览
本帖最后由 蓦然princes 于 2014-05-24 15:07 编辑

实验环境: CentOs5.
问题: 用户alex和sam。同属project组,alex修改sam的文件file1, 强制保存退出之后,file1的所有者、所属组变成了alex。为什么???  按道理,alex对file1只有r权限啊?那alex就不能对file1进行修改啊,为什么可以修改,只是提示readonly, 但仍然可以保存修改,并且确实对文件file1的内容进行了修改。

我想了很久,有一点是明白了,就是,/  目录o=rwx权限代表其他用户可以修改此目录下的文件,这个是对的,也就是说,尽管file1所属组和所有者为sam,o=r, 其他用户依然可以修改/目录下的文件。 但是不明白的是,为什么修改file1内容之后,file1的所有者和所属组属性也变了???
下面是我做的实验,请老鸟帮忙解释一下,我哪里理解出错了。

[alex@localhost ~]$ ls -ld /
drwxr-xrwx 24 root root 4096 May 14 08:13 /       //我将跟目录权限改成了rwx权限

[alex@localhost ~]$ ls -l /
-rw-rw-r--   1 sam    sam          6 May 14 08:12 file1  //file1的所有者和所属组为sam

[sam@localhost ~]$ su - alex
Password:
[alex@localhost ~]$ vi /file1
diaba
opodldljdljf
~
~
~
~
"/file1" 2L, 19C written                                                                              
[alex@localhost ~]$ ls -ld /file1
-rw-rw-r-- 1 alex alex 19 May 14 08:13 /file1  //file1的所有者和所属组变成了alex。

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
2 [报告]
发表于 2014-05-24 16:39 |只看该作者
有这么不科学的事 ?!



不过, 从来没人拿 根目录 做实验. Good Luck !!  

论坛徽章:
1
天蝎座
日期:2014-10-18 18:48:57
3 [报告]
发表于 2014-05-24 18:03 |只看该作者
我用在其他目录下做实验也是一样的效果, 上面那个是我复制的实验结果。回复 2# q1208c


   

论坛徽章:
1
天蝎座
日期:2014-10-18 18:48:57
4 [报告]
发表于 2014-05-24 18:11 |只看该作者
这是我在宿主目录中做的实验结果:
[alex@localhost ~]$ ls -ld /home/alex
drwx---rwx 3 alex alex 4096 May 14 08:13 /home/alex   //alex宿主目录o=rwx

[alex@localhost ~]$ ls -l /home/alex
total 4
-rw-rw-r-- 1 alex alex 0 May 14 08:10 file1 //alex宿主目录中有file1文件,所有者和所属组为alex

[alex@localhost ~]$ su - sam
Password:
[sam@localhost ~]$ cd /home/alex
[sam@localhost alex]$ ls
file1
[sam@localhost alex]$ vi file1                //sam编辑file1
df dkdf d
~
~
~
~
~
~
~
"file1" 1L, 11C written                                                                                
[sam@localhost alex]$ ls -l
total 8
-rw-rw-r-- 1 sam sam 11 May 14 11:29 file1        //file1所有者和所属组变成了sam
[sam@localhost alex]$ 》》求解释???回复 2# q1208c


   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
5 [报告]
发表于 2014-05-24 18:21 |只看该作者
回复 4# 蓦然princes

原因很简单. 文件是vi的时候, 产生了一个临时文件. 由于目录权限是 707, 所以, 任何一个人都有写入文件的权力. 所以, 新的文件被写入了. 原来的文件没有了.

这也是为什么 /tmp 的权限是 o+t, 以防止文件被其它用户覆盖.

论坛徽章:
1
天蝎座
日期:2014-10-18 18:48:57
6 [报告]
发表于 2014-05-24 18:30 |只看该作者
那为什么连文件的所有者和所属组也改了,感觉不能理解啊,其他用户可以修改内容这个是当然的,因为对文件的所在目录有rwx,但是一旦修改连文件的所有者和所属组也该了???回复 5# q1208c


   

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
7 [报告]
发表于 2014-05-26 06:31 |只看该作者
回复 6# 蓦然princes

根据文件的 权限, 其他用户,是不能修改的. 所以, 你也根本没有修改原来的文件, 只不过是 用一个新的文件把原来的文件覆盖了.
   

论坛徽章:
1
天蝎座
日期:2014-10-18 18:48:57
8 [报告]
发表于 2014-05-26 09:28 |只看该作者
是这样啊!谢谢回复 7# q1208c


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP