cd no diretório sem ter permissão

117

Ao cdentrar em um dos meus diretórios chamados, openfireo seguinte erro é retornado:

bash: cd: openfire: Permission denied

Existe alguma maneira de contornar isso?

user812954
fonte

Respostas:

149

A resposta de @ user812954 foi bastante útil, exceto que tive que fazer isso em duas etapas:

sudo su
cd directory

Então, para sair do modo "superusuário", basta digitar exit.

Jonathan
fonte
107

Entre no modo superusuário e faça cd no diretório que você não tem permissão para entrar. Sudo requer senha de administrador.

sudo su
cd directory
user812954
fonte
2
resposta perfeita!
gaurav
46

Se for um diretório seu, conceda a si mesmo acesso a ele:

chmod u+rx,go-w openfire

Isso lhe concede permissão para usar o diretório e os arquivos nele ( x) e listar os arquivos que estão nele ( r); ele também nega a permissão de gravação do grupo e de outros no diretório, o que geralmente é correto (embora às vezes você possa permitir que o grupo crie arquivos no seu diretório - mas considere usar o sticky bit no diretório, se o fizer).

Se for o diretório de outra pessoa, você provavelmente precisará da ajuda do proprietário para alterar as permissões para que possa acessá-lo (ou precisará da ajuda de rootpara alterar as permissões para você).

Jonathan Leffler
fonte
Estou pesquisando há uma hora tentando consertar o fato de que não podia usar SSH sem usar "sudo" (que eu sabia que estava errado) - e isso resolveu o problema. Finalmente!
GrayedFox
25

chmod +x openfiretrabalhou para mim. Ele adiciona permissão de execução à pasta openfire.

wcyn
fonte
@Winnemucca Não tenho certeza. Não trabalhei com docker antes. Mas eu suponho que pode
wcyn
6

Você tem várias opções:

  • Use uma conta de usuário diferente, uma com xpermissões efetivas naquele diretório.
  • Altere as permissões no diretório para permitir que sua conta de usuário e xpermissões de execução.
    • Use chmod(1)para alterar as permissões ou
    • Use o setfacl(1)comando para adicionar uma entrada da lista de controle de acesso à sua conta de usuário. (Isso também requer a montagem do sistema de arquivos com a aclopção; consulte mount(8)e fstab(5)para obter detalhes sobre o parâmetro de montagem.)

É impossível sugerir a abordagem correta sem saber mais sobre o problema; por que as permissões de diretório são definidas da maneira que são? Por que você precisa acessar esse diretório?

Sarnold
fonte
3

Alternativamente, você pode fazer:

sudo -s
cd directory
howDidMyCodeWork
fonte
1

A menos que você tenha permissões de sudo para alterá-lo ou em seu próprio grupo de usuários / conta, você não poderá acessá-lo.

Verifique man chmodno terminal para obter mais informações sobre como alterar as permissões de um diretório.

John Riselvato
fonte