日期:2014-05-16  浏览次数:20823 次

奇怪 文件权限问题
我已root身份创建了一个目录(权限设置为777),并且在该目录下我创建了一个文件test.txt (权限为644)

然后我用yuna123 的身份登录系统 居然可以用 vim 修改test.txt 的文本内容? 按理说不能修改啊。求解!


------解决方案--------------------
因为这个目录是777,允许所有用户读写此目录下的文件了,并且没有设置sticky,所以普通用户在用vi修改这个文件的时候会遇到告警,但可以用‘:w!’来强制写入,事实上,直接用普通用户删除这个文件也是可以的,也就是警告你一下,这个文件有写保护,但是确认的话还是可以删除成功的。
如果你只希望root可修改这个目录下的文件,那应该把目录权限设置成755,这样即使这个目录下的文件所有者是普通用户,这个用户也无法删除这个文件。
如果你想要做的是所有用户都可以在这个目录下操作,但只允许文件的所有者才能修改文件的话,那这个目录需要设置sticky标志,也就是在chmod时,加上原来缺省为0的第1位数字,像这样:
chmod 7777 dirname
这里是4个7,这样所有用户都可以在这个目录下修改文件,但仅限于用户有权限修改的文件。
------解决方案--------------------
权限好像没有问题   知识这个文件可以读   vim相当于copy一份出来你在上面修改是可以的啊