Permissões: Por que eu sempre tenho que digitar 'sudo' antes de cada comando?

2

Estou editando arquivos de tema em um site wordpress de propriedade da www-data: www-data como meu usuário principal 'oma'. Toda vez que eu criar um arquivo ou editar um, eu tenho que usar o comando sudo e ele é criado como root: root. Na verdade, eu praticamente tenho que usá-lo em todos os lugares. Grande dor, como eu invariavelmente me esqueço de digitar isso e então minhas mudanças não são salvas.

O que eu gostaria é que seja criado como www-data: www-data. Eu estou até confuso sobre o porquê de eu estar sendo perguntado por isso, eu pensei que quando eu adicionasse o grupo 'admin' e 'wheel' em /etc/sudoers.d/oma eu teria mais privilégios.

Permissões do UNIX simplesmente confundem minha mente. Qualquer ajuda seria muito apreciada.

    
por manafire 04.08.2011 / 21:37

2 respostas

2
  • Ao adicionar-se à roda, você pode usar o sudo.
  • Se você é um usuário, normalmente não é possível modificar os arquivos de outro usuário ou criar novos arquivos em um diretório de propriedade deles. Se você quiser fazer isso, altere as permissões nos arquivos / diretórios que deseja abrir, usando chmod:

    chmod a+rw somename concederá permissões de leitura para todos os usuários no arquivo chamado nome do usuário

  • Você pode fazer o sudo para "www-data" em vez de "root" se quiser:

    sudo -u www-data whatever

    Se você tem su na sua máquina, você pode mudar para outro usuário no shell:

    su www-data

  • Você pode alterar a propriedade dos arquivos usando chown , mas não faça isso, pois o usuário do seu servidor da Web provavelmente não conseguirá ler os arquivos de outros usuários.

por 04.08.2011 / 21:44
0

É provável que você esteja com problemas porque a pasta já é de propriedade do root, portanto, não é possível modificar o conteúdo. Se esse for o caso, você provavelmente desejará alterar as permissões na árvore inteira: sudo chown -R www-data:www-data site-directory . Você pode precisar mexer com sua configuração do Apache posteriormente, para ter certeza de que o Apache ainda tem a capacidade de acessar e ler esses arquivos.

Todas as coisas adicionadas ao seu arquivo sudoers oferecem mais recursos com o comando sudo . No entanto, talvez você consiga se acalmar adicionando um sinalizador NOPASSWD em / etc / sudoers, da seguinte forma:

%www-data  ALL=(ALL) NOPASSWD: ALL

Você ainda precisará usar sudo , mas não solicitará uma senha. Cuidado com as implicações de segurança de fazer isso, já que todos os usuários do grupo www-data serão capazes de lavar completamente a mangueira da sua máquina.

Você pode querer pesquisar um tutorial sobre permissões de arquivos do Unix. Eles são complexos no começo, mas depois que você pega o jeito deles, eles são bem simples e poderosos. Eu encontrei este com um rápido googling.

    
por 04.08.2011 / 21:43