Mac OSX 10.6.6 - É possível permitir o acesso a um diretório que esteja dentro de um diretório ao qual você não deseja dar acesso

2

Dentro de "MyDir / Library / Application Support / Games" é um diretório que eu gostaria de permitir que todos os usuários possam ler. Eu não quero, no entanto, que eles possam ler qualquer outro diretório em MyDir.

Qual é a melhor maneira de conseguir isso?

Obrigado.

    
por Ted Trobaugh 13.04.2011 / 01:14

1 resposta

0

Não há uma maneira realmente boa de fazer isso, pois para chegar a esse diretório, outros usuários precisarão acessar MyDir, MyDir / Library, etc. Dito isso, há alguns maneiras de fazer isso:

  1. Você pode definir as permissões em MyDir, MyDir / Library, etc para permitir a travessia, mas não a leitura. Problemas com esta abordagem: outros usuários não poderão navegar para a pasta normalmente, eles teriam que usar a opção Ir para Pasta do Finder (ou Cmd + Shift + G ) e digite o caminho para isso. Além disso, embora eles não pudessem ver o conteúdo de MyDir, MyDir / Library, etc, eles seriam capazes de acessar os arquivos lá se eles novos (/ poderia adivinhar) os nomes. Como o conteúdo das Bibliotecas costuma ser bastante previsível, isso significa que elas podem ser acessadas em MyDir / Library / Preferences, MyDir / Library / Keychains, etc, a menos que você as proteja adequadamente também. Supondo que você queria fazer isso, aqui estão os comandos de configuração relevantes (aviso: estes não são facilmente reversíveis, por favor pense cuidadosamente antes de executar):

    chmod og= MyDir/* MyDir/Library/* MyDir/Library/Application\ Support/*
    chmod og=x MyDir MyDir/Library MyDir/Library/Application\ Support
    chmod og=rx MyDir/Library/Application\ Support/Games
    
  2. Você pode colocar o conteúdo em algum lugar mais acessível e fazer um link simbólico para MyDir / Library / Application Support / Games. Problemas potenciais com isso vêm de programas que não seguem links simbólicos (especialmente, instaladores que podem substituí-lo por um diretório real - você teria que limpá-lo manualmente). Aqui está um exemplo, usando / Usuários / Compartilhado / Jogos como o local público:

    mkdir /Users/Shared/Games
    ln -s /Users/Shared/Games MyDir/Library/Application\ Support/Games
    
por 13.04.2011 / 03:35

Tags