Instalei o apache2 no Ubuntu agora e notei que a pasta / var / www está protegida. Eu posso apenas sudo
tudo, mas prefiro apenas dar acesso de gravação.
Como posso fazer isso?
Eu tentei, sudo chmod 7777 /var/www
mas não funcionou.
Instalei o apache2 no Ubuntu agora e notei que a pasta / var / www está protegida. Eu posso apenas sudo
tudo, mas prefiro apenas dar acesso de gravação.
Como posso fazer isso?
Eu tentei, sudo chmod 7777 /var/www
mas não funcionou.
Respostas:
Para compartilhar da melhor maneira com vários usuários que devem poder se inscrever /var/www
, deve ser atribuído um grupo comum. Por exemplo, o grupo padrão para o conteúdo da web no Ubuntu e Debian é www-data
. Verifique se todos os usuários que precisam de acesso de gravação /var/www
estão nesse grupo.
sudo usermod -a -G www-data <some_user>
Em seguida, defina as permissões corretas em / var / www.
sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www
Além disso, você deve tornar o diretório e todos os diretórios abaixo dele "set GID", para que todos os novos arquivos e diretórios criados sob /var/www
sejam de propriedade do www-data
grupo.
sudo find /var/www -type d -exec chmod 2775 {} \;
Encontre todos os arquivos /var/www
e adicione permissão de leitura e gravação para o proprietário e o grupo:
sudo find /var/www -type f -exec chmod ug+rw {} \;
Pode ser necessário sair e fazer login novamente para poder fazer alterações se estiver editando a permissão para sua própria conta.
sudo chmod -R g+w
e não é g+rw
ou g+rwX
?
Existe uma maneira mais simples de fazer isso, tente executar este comando.
sudo chmod -R 757 /var/www
Essencialmente, o chmod
comando altera as permissões e a -R
opção afeta todos os usuários. Então é simplesmente dar as permissões corretas para usar.
chmod $permissions -R $file
não é válido ...
sudo chmod -R 757 /var/www
Você também pode replicar o que o jtimberman sugeriu usando as listas de controle de acesso . O comando setfacl aceita -s para substituir uma ACL existente ou -m para modificá-la; -R para tornar as ACLs do diretório recursivas; e -d para tornar as configurações especificadas o padrão, o que é útil se você estiver antecipando contas de usuário futuras.
Eles apenas definem as permissões como você faria para o usuário, grupo, outro e máscara usando chmod:
setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY
E pode ser assim que você faria isso para um usuário especificado ou seu grupo:
setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY
E, claro, a força é que você pode designar qualquer usuário específico, vários usuários, etc., tudo sem precisar modificar as configurações do seu grupo. E, diferentemente do chmod, se você deseja que alguns groupies tenham acesso a um diretório e outros groupies tenham acesso apenas a outro, é realmente possível com o setfacl. Por fim, para visualizar as ACLs de um diretório, execute getfacl :
getfacl DIRECTORY
E você pode especificar -R para ver as ACLs dos subdiretórios ou -d para ver os padrões.
A resposta rápida e fácil -
uma. Adicione ( -a ) seu usuário ( nome_do_usuário ) ao grupo ( -G ) www-data .
sudo usermod -a -G www-data user_name
b. Conceda ao Grupo ( g ) as mesmas permissões ( = ) que o Usuário proprietário ( u ) de / var / www Recursivamente ( -R ).
sudo chmod -R g=u /var/www
Explicação: O Apache 2 no Debian / Ubuntu define o usuário e o grupo www-data como o proprietário de / var / www . As permissões padrão para o usuário são "Exibir e modificar conteúdo", no entanto, o grupo pode apenas "Exibir conteúdo". Portanto, adicionar-se ao grupo www-data e conceder as mesmas permissões que o usuário wwww-data é uma maneira rápida e fácil de se desenvolver. Eu faço isso para todos os meus ambientes de desenvolvimento da Web localhost (PC / Laptop).
Você pode apenas tentar chmod 0777 /var/www
?
Uma palavra de aviso: se você permitir que todos acessem esta pasta, isso significa que os hackers podem acessá-la se tiverem acesso ao seu sistema. É por isso que é melhor criar um grupo de usuários permitidos e conceder acesso a esse grupo de gravação.
Primeiro, insira o caminho da pasta específica e, em seguida, use este comando…
chmod -R 777 foldername
chown username:username foldername