Você não pode. Há uma diferença fundamental na maneira como os sistemas de arquivos lidam com configurações ocultas. No Windows, o sistema de arquivos armazena vários atributos para o arquivo em metadados, incluindo os atributos "oculto" e "sistema" (os quais são tipos de arquivos ocultos). Em sistemas de arquivos comuns * nix, nenhum atributo é armazenado. Em vez disso, as informações devem ser colocadas em outro lugar, como no nome do arquivo. A convenção é, portanto, que os arquivos que começam com. (e dependendo do seu sistema, talvez alguns outros como _) não serão mostrados pela maioria das ferramentas por padrão.
Isto é puramente por conveniência, a. começar um nome de arquivo significa absolutamente nada, mas "o usuário provavelmente não quer ver isso o tempo todo". Para ter certeza de que você sabe, executando, por exemplo, ls -a
mostrará todos os arquivos.
Se você não quiser ter um arquivo bagunçado em suas listas no Linux, você deve renomeá-lo para começar com um ponto (Bônus: isso também funcionará para o OS X, se estivermos falando de um dispositivo portátil) . Se você não quer que os usuários consigam encontrar um arquivo, você está fazendo errado - é para isso que as permissões são necessárias.
As permissões do Unix, como dizem respeito aos diretórios, muitas vezes confundem as pessoas, e talvez compreendê-lo melhor o ajudará. As permissões "ler" e "executar" ( r
e x
) significam algo diferente para diretórios do que para arquivos. Para diretórios, a permissão execute x
determina se você acessa ou não os inodes no diretório. A permissão r
de leitura determina se você pode ou não acessar a listagem do diretório. Funcionalmente, x
permite que o usuário faça as coisas em um diretório, enquanto a permissão r
permite que eles vejam o que está nele. Estes são diferentes e a diferença pode ser confusa. Vamos ver um exemplo:
jeanluc@login64: ~ $ mkdir example
jeanluc@login64: ~ $ echo "you can read it" > example/file
jeanluc@login64: ~ $ ls example/
file
jeanluc@login64: ~ $ cat example/file
you can read it
jeanluc@login64: ~ $ chmod -x example/
jeanluc@login64: ~ $ ls example/
ls: cannot access example/file: Permission denied
file
jeanluc@login64: ~ $ cat example/file
cat: example/file: Permission denied
jeanluc@login64: ~ $ cd example/
-bash: cd: example/: Permission denied
jeanluc@login64: ~ $ chmod +x example/
jeanluc@login64: ~ $ chmod -r example/
jeanluc@login64: ~ $ ls example/
ls: cannot open directory example/: Permission denied
jeanluc@login64: ~ $ cat example/file
you can read it
jeanluc@login64: ~ $ cd example/
jeanluc@login64: ~/example $ ls
ls: cannot open directory .: Permission denied
jeanluc@login64: ~/example $ cd ..
Portanto, observe que, sem executar, ainda posso listar os arquivos (embora ls mostre um erro porque não é possível obter as propriedades do arquivo), mas não posso alterar o diretório ou ler os arquivos nele. Sem ler, não consigo listar os arquivos, mas ainda posso mudar para o diretório e, se souber o nome de um arquivo, ainda posso acessá-lo.
Observe, porém, que a remoção da permissão de leitura apenas oferece segurança por obscuridade. Se o usuário adivinhar o nome do arquivo, ele poderá ler seu conteúdo.
Isso pode não ter sido realmente relevante para sua pergunta, eu só queria ter certeza de que você entendeu as permissões de diretório.