Unix文件权限 - 写入是否意味着读取?

时间:2013-07-19 13:10:47

标签: unix file-permissions

如果某个文件只有写入权限,如果用户无法阅读该文件,他怎么能行使编辑该文件的权利呢?

在Unix中“写”是否意味着'读'?

4 个答案:

答案 0 :(得分:4)

在类似unix的系统中,文件可能很多。例如,它可能是一个管道,用户可能会向其提交数据,但不会从中接收数据。所以不,写入权限并不意味着阅读。

另一个例子可能是用户可以存放数据的目录(可能会破坏现有数据),但不能读取其他人存放的数据。

答案 1 :(得分:4)

Unix / Linux中的读,写,执行权限是独立的。没有读取权限就可以拥有写入权限。对于二进制文件,您可能已经看到未授予读取权限,但执行权限使您可以执行它。另一方面,shell脚本或任何其他需要解释的文件需要读取权限才能执行。

只需提供无需读取的写入权限,您就可以编写(也删除)该文件而无法读取该文件。

以下内容应该是不言自明的:

$ touch foo
$ ls -l foo
-rw-rw-r-- 1 devnull devnull 0 Jul 19 12:00 foo
$ chmod -r foo
$ ls -l foo
--w--w---- 1 devnull devnull 0 Jul 19 12:00 foo
$ cat foo
cat: foo: Permission denied
$ echo hey > foo
$ ls -l foo
--w--w---- 1 devnull devnull 4 Jul 19 12:00 foo
$ cat foo
cat: foo: Permission denied
$ > foo
$ ls -l foo 
--w--w---- 1 devnull devnull 0 Jul 19 12:00 foo
$ rm -f foo 
$ ls -l foo
ls: cannot access foo: No such file or directory

答案 2 :(得分:3)

  1. 你可能会失明并仍能写作:

    $触及一个$ chmod 0200 a $ ls -ln a
    --w ------- 1 1000 1000 4 Jul 19 15:13 a > $ cat a
    cat:a:许可被拒绝
    $ echo“秘密消息”>> a $ chmod 0400 a $ cat a
    秘密消息

  2. 没有:)

答案 3 :(得分:1)

1)只写只写只写 - 所以,没办法这样做 2)否