aifly 于 2011-02-08 12:21:13发表:
受教了,我顶啊!
situyuntian 于 2011-02-07 03:16:18发表:
感谢,这下搞清楚了
weatny 于 2011-02-06 18:36:08发表:
相思版主说的很好 呵呵 向版主学习
相思爱文 于 2011-02-06 18:24:35发表:
回帖后刷新一下,帖子就应该出现了。 文件(目录)一般只有三种权限:读、写、执行(目录则为进入) 用户只有三种:主、组、其他 这些属性组合,可以完成多种权限分配 只要文件去除相应的w权限,就不能改变内容了。 chmod a-w filename 所有用户都不能修改 chmod o-w filename 其他用户不能修改 文件还有一种特殊属性,用chattr修改,可以让文件只读,就连root也没办法修改和删除。 可以进,只能读,目录属性5 可以读,不能改,文件属性4 “想实现的是文件的权限不变,在两个不同的文件夹,访问文件的权限发生了改变。” 这句话没明白,访问文件具体是指什么,阅读、修改、还是执行。 文件的权限,用ls -l查看,不管在什么地方,不修改,文件的权限都一样。
相思爱文 于 2011-02-06 18:01:20发表:
[i=s] 本帖最后由 相思爱文 于 2011-2-6 18:12 编辑 [/i]
引用:situyuntian 这个明白了一些,不过如果我想实现可以进,只能读,而且不想改变文件的权限,有可能实现么? 下面是我整个文件夹的图示 coord1创建的文件,如果是在coordinator1\final文件夹下的话, chair(在这个文件夹下被定义为others) 用户只可以读。 但是 coord1创建的文件,如果是在chair\submitted中,应该是可以被chair(在这个文件夹中为owner)用户读写,而coord1用户为group用户 tree ./project |-- [drwx-wx--- chair group1 ] chair | |-- [drwx------ chair group1 ] approved | | `-- [-rw-rw-rw- coord1 group2 ] co1-2.txt | `-- [drwx-wx--- chair group1 ] submitted | |-- [-rw-rw-rw- coord1 group2 ] co1-1.txt <-- 只可被chair 或者coord1修改。本文件由coord1创建 | |-- [-rw-rw-rw- coord2 group2 ] co2-1.txt | `-- [-rw-rw-rw- coord2 group2 ] co2-2.txt |-- [drwxr-xr-x coord1 group2 ] coord1 | |-- [drwxr-xr-x coord1 group2 ] cur | | |-- [-rw-rw-rw- coord1 group2 ] co1-1.txt <--chair 如何实现只能看,不能写(问题所在)。 | | `-- [-rw-rw-rw- coord1 group2 ] co1-2.txt | |-- [drwx---r-x coord1 group2 ] final | | |-- [-rw-rw-rw- coord1 group2 ] co1-1.txt | | `-- [-rw-rw-rw- coord1 group2 ] co1-2.txt | `-- [drwxrwx--- coord1 group2 ] rev | |-- [-rw-rw-rw- coord1 group2 ] co1-1.txt | `-- [-rw-rw-rw- coord1 group2 ] co1-2.txt `-- [drwxr-x--T root project ] share
situyuntian 于 2011-02-06 15:30:54发表:
小补充一下。。想实现的是文件的权限不变,在两个不同的文件夹,访问文件的权限发生了改变。
pallana 于 2011-02-06 14:09:04发表:
可以修改文件,但不能新建文件(不能修改目录)。 目录是一种记录目录名和位置的文件。 只要有x权限,可以进入,对文件的操作就与目录无关了。修改文件内容,目录不会改变。 学习了,顶楼上的
相思爱文 于 2011-02-06 13:31:40发表:
[i=s] 本帖最后由 相思爱文 于 2011-2-6 13:37 编辑 [/i]实际测试一下 hcc@debian:/tmp$ cd /tmp #进入临时目录 hcc@debian:/tmp$ mkdir test #建立测试目录 hcc@debian:/tmp$ chmod 755 test/ #修改权限 hcc@debian:/tmp$ ls -ld test/ #查看目录权限 drwxr-xr-x 2 hcc hcc 4096 02-06 13:18 test/ hcc@debian:/tmp$ touch test/text.txt #建立测试文件 hcc@debian:/tmp$ cd test/ hcc@debian:/tmp/test$ ls -l 总计 0 -rw-r--r-- 1 hcc hcc 0 02-06 13:19 text.txt hcc@debian:/tmp/test$ chmod 666 text.txt #修改权限 hcc@debian:/tmp/test$ ls -l 总计 0 -rw-rw-rw- 1 hcc hcc 0 02-06 13:19 text.txt hcc@debian:/tmp/test$ 这就符合贴中条件了, 目录test的权限是drwxr-xr-x 文件text.txt的权限是-rw-rw-rw- 下面换另一用户操作 hcc@debian:/tmp/test$ su sun #切换用户(属others) 密码: sun@debian:/tmp/test$ ls -l 总计 0 -rw-rw-rw- 1 hcc hcc 0 02-06 13:19 text.txt sun@debian:/tmp/test$ echo aaaaaaaaaaaaaaaaaaaaa>text.txt #修改文件内容 sun@debian:/tmp/test$ ls -l #查看文件大小已经改变 总计 4 -rw-rw-rw- 1 hcc hcc 22 02-06 13:23 text.txt sun@debian:/tmp/test$ cat text.txt #查文件内容已经改变 aaaaaaaaaaaaaaaaaaaaa sun@debian:/tmp/test$ touch file #无法建立新文件 touch: 无法触碰 “file”: 权限不够 sun@debian:/tmp/test$ mv text.txt newtext.txt #无法修改文件名 mv: 无法将 “text.txt” 移动至 “newtext.txt”: 权限不够 ---------------------------------------------------------------------------- 可以修改文件,但不能新建文件(不能修改目录)。 目录是一种记录目录名和位置的文件。 只要有x权限,可以进入,对文件的操作就与目录无关了。修改文件内容,目录不会改变。
相思爱文 于 2011-02-06 13:19:46发表:
请给出 ls -l echo $USER 的输出结果 和建立(修改)文件的详细过程 对目录无写权限,只有进入权限,是可以修改文件内容的,但不能修改文件名,也不能新建文件。 修改文件,并不改变目录。目录也是一个文件,可以理解为记录着“其下所有文件名和位置”的一种文件。 对目录有写权限,就可以把目录下的任何文件删除,包括其他用户(包括root)身份建立的文件也可以删除。
aifly 于 2011-02-08 12:21:13发表:
受教了,我顶啊!
situyuntian 于 2011-02-07 03:16:18发表:
感谢,这下搞清楚了
weatny 于 2011-02-06 18:36:08发表:
相思版主说的很好 呵呵
向版主学习
相思爱文 于 2011-02-06 18:24:35发表:
回帖后刷新一下,帖子就应该出现了。
文件(目录)一般只有三种权限:读、写、执行(目录则为进入)
用户只有三种:主、组、其他
这些属性组合,可以完成多种权限分配
只要文件去除相应的w权限,就不能改变内容了。
chmod a-w filename 所有用户都不能修改
chmod o-w filename 其他用户不能修改
文件还有一种特殊属性,用chattr修改,可以让文件只读,就连root也没办法修改和删除。
可以进,只能读,目录属性5
可以读,不能改,文件属性4
“想实现的是文件的权限不变,在两个不同的文件夹,访问文件的权限发生了改变。”
这句话没明白,访问文件具体是指什么,阅读、修改、还是执行。
文件的权限,用ls -l查看,不管在什么地方,不修改,文件的权限都一样。
相思爱文 于 2011-02-06 18:01:20发表:
[i=s] 本帖最后由 相思爱文 于 2011-2-6 18:12 编辑 [/i]
situyuntian 于 2011-02-06 15:30:54发表:
小补充一下。。想实现的是文件的权限不变,在两个不同的文件夹,访问文件的权限发生了改变。
pallana 于 2011-02-06 14:09:04发表:
可以修改文件,但不能新建文件(不能修改目录)。
目录是一种记录目录名和位置的文件。
只要有x权限,可以进入,对文件的操作就与目录无关了。修改文件内容,目录不会改变。
学习了,顶楼上的
相思爱文 于 2011-02-06 13:31:40发表:
[i=s] 本帖最后由 相思爱文 于 2011-2-6 13:37 编辑 [/i]
实际测试一下
hcc@debian:/tmp$ cd /tmp #进入临时目录
hcc@debian:/tmp$ mkdir test #建立测试目录
hcc@debian:/tmp$ chmod 755 test/ #修改权限
hcc@debian:/tmp$ ls -ld test/ #查看目录权限
drwxr-xr-x 2 hcc hcc 4096 02-06 13:18 test/
hcc@debian:/tmp$ touch test/text.txt #建立测试文件
hcc@debian:/tmp$ cd test/
hcc@debian:/tmp/test$ ls -l
总计 0
-rw-r--r-- 1 hcc hcc 0 02-06 13:19 text.txt
hcc@debian:/tmp/test$ chmod 666 text.txt #修改权限
hcc@debian:/tmp/test$ ls -l
总计 0
-rw-rw-rw- 1 hcc hcc 0 02-06 13:19 text.txt
hcc@debian:/tmp/test$
这就符合贴中条件了,
目录test的权限是drwxr-xr-x
文件text.txt的权限是-rw-rw-rw-
下面换另一用户操作
hcc@debian:/tmp/test$ su sun #切换用户(属others)
密码:
sun@debian:/tmp/test$ ls -l
总计 0
-rw-rw-rw- 1 hcc hcc 0 02-06 13:19 text.txt
sun@debian:/tmp/test$ echo aaaaaaaaaaaaaaaaaaaaa>text.txt #修改文件内容
sun@debian:/tmp/test$ ls -l #查看文件大小已经改变
总计 4
-rw-rw-rw- 1 hcc hcc 22 02-06 13:23 text.txt
sun@debian:/tmp/test$ cat text.txt #查文件内容已经改变
aaaaaaaaaaaaaaaaaaaaa
sun@debian:/tmp/test$ touch file #无法建立新文件
touch: 无法触碰 “file”: 权限不够
sun@debian:/tmp/test$ mv text.txt newtext.txt #无法修改文件名
mv: 无法将 “text.txt” 移动至 “newtext.txt”: 权限不够
----------------------------------------------------------------------------
可以修改文件,但不能新建文件(不能修改目录)。
目录是一种记录目录名和位置的文件。
只要有x权限,可以进入,对文件的操作就与目录无关了。修改文件内容,目录不会改变。
相思爱文 于 2011-02-06 13:19:46发表:
请给出
ls -l
echo $USER
的输出结果
和建立(修改)文件的详细过程
对目录无写权限,只有进入权限,是可以修改文件内容的,但不能修改文件名,也不能新建文件。
修改文件,并不改变目录。目录也是一个文件,可以理解为记录着“其下所有文件名和位置”的一种文件。
对目录有写权限,就可以把目录下的任何文件删除,包括其他用户(包括root)身份建立的文件也可以删除。