linux 目录权限问题

比如我用root用户在/home下建立一个目录dir1,然后用chmod o=wx dir1,修改其他用户权限为读执行,然后用root在dir1下touch 文件file1,切换到user01普通用户后,竟然可以用vi 强制修改file1文件,这是为什么呢?求各位大侠告知,谢谢!

我来回答你。首先你用ROOT用户在/home目录下建立dir1。
1:该目录建立好后默认就有755的权限,即drwxr-xr-x=755.
2:你执行命令chmod o=wx dir1后,dir1目录的权限变成drwxr-x-wx=753
解释:chmod o=wx dir1 ,o代表其他。o=wx表示删除软来的权限,更改为:wx,原来的是r-x,现在变成-wx.
意思是其他用户对这个目录可以写入和执行。
你切换user01普通用户后,可以vi保存是正常的,file1文件的权限是:753, 3等于=wx。
懂?
不懂追加追问

对文件来说,能否写不是由文件的w权限决定的吗
目录的写权限是能够决定用户能否在其下面创建和删除文件的吗

追答

对于文件来说,能否写当然由w权限决定,目录的写权限可以决定用户在其目录下创建文件和删除文件,但删除的文件,必须是对用用户有写的权限。
打个比方:dir1目录的全下是:drwxr-x-wx 2 root root,说明其他用户对该目录有wx,写和执行,
用户user01进去该目录,输入ls, 肯定提示没权限,因为没有读的权限,但是可以touch和rm。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-10
因为权限设置对于文件和目录的具体作用不同。

r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

参考资料:http://linux.chinaitlab.com/administer/38992.html

第2个回答  2013-01-10
目录必须具有r和x权限才能进入,具有w权限才能对里面的文件进行删除或增加新的文件。追问

看我的补充,帮帮忙,解释下

追答

要明确一个概念,你修改的是目录的权限,而不是文件的权限。如果不允许写该文件,则需设置该文件的写权限。而目录的写权限只是意味着是否允许删除这个文件,并不对文件内容的权限做保证。

第3个回答  2013-01-11
1、因为上级目录不可见,所以user01无法看到这个文件
2、当使用w!的时候,系统根据上级目录的w权限,来修改文件所有者为user1(因为目录w权限决定了是否可以修改文件的权限)
3、此时因为源文件权限为rw-r--r--(所有者为user1,已经不是root了),而上级目录是rwxr-x-wx,所以此时user1可以修改文件,但是却看不到文件

诚恳回答,敬请选择!
第4个回答  2021-05-31

本场景将提供一台配置了Aliyun Linux 2的ECS实例(云服务器)。您可以参考本教程学习Linux系统中常用的文件目录管理与文件权限管理命令。

相似回答