我是UNIX新手。我想在文件夹上创建一些权限。我在目录中创建了一个文件,现在我想为所有用户隐藏它。我无法做到这一点。 请帮忙。
答案 0 :(得分:1)
Unix上没有hidden
属性。但按照惯例,所有以点.
开头的文件或目录都被视为隐藏。比如.gitconfig
。贝壳和ls
尊重这个惯例,所以
cat *
不打印" dotfiles"和
ls
没有列出" dotfiles"。
答案 1 :(得分:1)
'hide'是什么意思?如果您希望用户无法看到该文件的内容,请执行chmod -r file
。如果列出目录,他们仍然可以看到文件的任何链接。 (请记住,可能存在通过其他名称链接到文件的链接,但是由于用户没有读取权限,因此通过任何这些链接访问文件都将失败。)如果您想要链接(也称为“文件名”)当有人列出目录时不显示,删除目录的读取权限。由于您的问题表明您要在目录上创建权限(有时被错误地称为“文件夹”),您可能需要后者。但是删除目录上的读取权限不会使文件的内容无法访问,如果有人知道目录中文件的名称,则可以访问它。简而言之,如果您有一个名为'/ p / a / t / h / foo'的文件,并且您希望确保没有用户(除root之外)可以看到名称foo
或{的内容{1}},你可以这样做:
foo
请注意,删除目录的读取权限会使目录中的所有文件名都不可读,但这是使用传统访问权限可以获得的最佳粒度。如有必要,将您感兴趣的文件放在自己的子目录中以获得更好的控制。
只需添加'。'文件名的开头几乎没有任何结果。作为惯例(最初是一个错误),chmod -r /p/a/t/h # Make the directory unreadable
chmod -r /p/a/t/h/foo # Make the file unreadable
将不会显示以ls
开头的文件名,但这些文件会以.
列出,因此这可能不是您想要的。