Sudo chmod obtém permissões negadas

Oct 03 2020

Quando eu executo ls -l, o arquivo cujas permissões desejo alterar é:

-rw-r--r-- 1 82176 1491 193716029663 Feb 16  2019 cfdna_hc_bam.bam

Primeira tentativa: chmod 775 cfdna_hc_bam.bam. Resultado:chmod: changing permissions of 'cfdna_hc_bam.bam': Permission denied

Segunda tentativa: sudo chmod 775 cfdna_hc_bam.bam. Ele pede minha senha, eu fornecê-la e os resultados: chmod: cannot access 'cfdna_hc_bam.bam': Permission denied.

Quando eu entrar cd .., ls -lpara ver as permissões no diretório em que o meu arquivo é, este é o resultado: drwxrwsr-x 1 93501 1491 8192 Sep 28 14:24 bam_files.

A única pergunta que achei semelhante é ( Sudo chmod + x leva a "não é possível acessar a permissão [arquivo] negada" ), e isso tinha a ver com um problema de imagem montada, o que não é o meu caso aqui.

EDITAR :

  • Eu criei um arquivo neste diretório, alterei suas permissões e funcionou:

    touch a
    chmod 755 a
    

    Isso funciona.

  • Então eu fiz a mesma coisa usando 'sudo', e não:

    touch a
    sudo chmod 755 a I get: `chmod: cannot access 'a': Permission denied`.
    
  • Além disso, quando executo o comando id, recebo:

    uid=1004(yonatan) gid=1005(yonatan) groups=1005(yonatan),27(sudo),132(docker)
    
  • Tentando correr sudo chown yonatan:yonatan -R <dir>no diretório em que o arquivo é (e também em cima diretórios), resulta em: chown: cannot access 'bam_files': Permission denied.

Respostas

1 johncli Oct 03 2020 at 18:43
  1. O diretório foi recebido de outro usuário na máquina remota.
  2. Você não é o proprietário dessa máquina, então suspeito que o diretório está "protegido" do comando sudo.
  3. Tente entrar em contato com o usuário do qual você recebeu o diretório e a raiz da máquina remota e peça a eles para executar estes comandos:
    • chown -R yonatan:yonatan <filename>ou chown -R 1004:1005 <filename>(que é o mesmo comando).
    • se o root executar o comando, ele poderá executá-lo diretamente no arquivo que você recebeu.
    • se o usuário que enviou a você o diretório executando os comandos, ele precisa executá-lo em uma cópia em seu próprio "arquivo inicial" e, em seguida, enviá-lo a você com suas permissões uid e gid.
  4. Depois que você será o dono do diretório tente executar novamente o chmodcomando com as permissões que deseja.
    • Por exemplo chmod 775 <filename>
  5. Observações:
    • no seu caso específico, 93501 é o usuário proprietário do diretório e 1491 é o grupo proprietário do diretório.
    • outra opção para uma solução é adicionar 1491 seu próprio usuário (pela raiz), mas se outros usuários do grupo 1491 tiverem acesso ao seu diretório, eles ainda terão permissões para o arquivo.
    • eu recomendo usar esta calculadora como "calculadora de permissões" http://permissions-calculator.org/
    • Se a seguinte resposta não resolver o problema, por favor, avise-me nos comentários para que possamos continuar tentando resolver o problema .