2014-04-09 53 views
-1

我是UNIX新手。我想在文件夹上创建一些权限。我在一个目录中创建了一个文件,现在我想为所有用户隐藏它。我无法做到这一点。 请帮助。在UNIX中隐藏文件或目录

+6

这个问题似乎是脱离主题,因为它是关于http://unix.stackexchange.com/ –

回答

1

Unix上没有hidden属性。但按照惯例,所有以点号.开头的文件或目录都被认为是隐藏的。比如.gitconfig。壳和ls都遵守这个约定,所以

cat * 

不打印 “点文件” 和

ls 

没有列出 “点文件”。

1

'hide'是什么意思?如果您希望用户无法看到文件的内容,请执行chmod -r file。如果他们列出目录,他们仍然能够看到文件的任何链接。 (请记住,可能有不同名称的文件链接,但通过任何这些链接访问文件将失败,因为用户没有读取权限。)如果您想要链接(又名“文件名”)不要在有人列出目录时出现,请删除目录上的读取权限。由于您的问题表明您要在目录上创建权限(有时错误地称为“文件夹”),因此您可能需要后者。但是删除目录上的读权限不会使文件的内容无法访问,并且如果有人知道目录中文件的名称,则可以访问它。简而言之,如果您有一个名为'/ p/a/t/h/foo'的文件,并且您希望确保没有任何用户(非root用户)可以看到名称foofoo的内容,则可以执行:

chmod -r /p/a/t/h  # Make the directory unreadable 
chmod -r /p/a/t/h/foo # Make the file unreadable 

注意,在目录中删除读取权限,使目录中的所有文件名不可读的,但是这是你可以使用传统的访问权限最精细粒度。如有必要,请将您感兴趣的文件放在其自己的子目录中以获得更好的控制。

只需添加'。'到文件名的开头几乎完成任何事情。作为一个约定(最初是一个bug),ls将不会显示以.开头的文件名,但这些文件与ls -a一起列出,所以这可能不是您想要的。

相关问题