Um arquivo com -rwx-wx-wx
permissões tem permissões de leitura / gravação / execução para o proprietário e permissões de gravação / execução (mas não leitura) para todos os outros.
Se for um script (geralmente um arquivo de texto com #!
na primeira linha), então não pode ser executado por outros, porque a execução de um script realmente executa o intérprete, que deve ser capaz de ler o roteiro. (O interpretador deve ser um binário, não outro script.) (Na verdade, isso não é verdade para todos os sistemas; o Ubuntu, com um kernel Linux 3.2.0, permite que o próprio intérprete seja um script interpretado. Parece haver um limite de cerca de 4 níveis. Não é provável que seja relevante para esta questão.)
Se for um executável binário, ele pode ser executado diretamente, mas seu conteúdo não pode ser lido. Isso significa, por exemplo, que alguém além do proprietário pode executá-lo como um comando, mas não pode pegar uma cópia do executável.
É claro que a execução requer leitura, mas é lida pelo kernel, não pelo usuário. Você pode obter algumas informações sobre o conteúdo do executável examinando a memória do processo durante a execução, mas duvido que você possa reconstruir o arquivo executável binário. E se o executável for setuid, você não poderá examinar a memória do processo (a menos que tenha acesso à conta na qual está sendo executado).
Por acaso, -rwx-wx-wx
é um conjunto muito estranho de permissões; ele protege o arquivo de ser lido por qualquer pessoa que não seja o proprietário, mas permite que qualquer pessoa o modifique. Não consigo pensar em um caso em que isso faria sentido.