Estou usando Amazon Linux. Eu defini permissões globais de leitura em um arquivo, mas não consigo acessá-lo como um usuário normal:
[myuser@mymachine ~]$ ls -al /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css
ls: cannot access /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css: Permission denied
[myuser@mymachine ~]$ sudo ls -al /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css
-rwxrwxr-x 1 jboss jboss 771 Oct 29 18:51 /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css
[myuser@mymachine ~]$ whoami
myuser
Observe que quando executo "sudo" consigo acessá-lo. Eu gostaria de manter o arquivo de propriedade do usuário jboss. Como posso obter o arquivo acessível ao meu (ou ao usuário de qualquer outra pessoa) no modo de leitura?
Você precisa verificar as permissões de cada elemento no caminho, não apenas as permissões do arquivo. Cada diretório deve ter acesso 'x' (que significa executar para arquivos, mas atravessar para diretórios) para o usuário que deseja executar o comando.