Base de conhecimento
1000 perguntas frequentes, 500 tutoriais e vídeos explicativos. Aqui, você encontra apenas soluções!
Entendendo o CHMOD (permissões de arquivos no servidor)
Este guia detalha o CHMOD (abreviação de change mode), que permite alterar as permissões de acesso de um arquivo ou diretório.
Modificar as permissões FTP
Os direitos (consulte este outro guia da Wikipédia) disponíveis para cada utilizador/grupo são os seguintes:
- leitura: concede o direito de listar (requer também o direito de execução) e ler num diretório e/ou ler um ficheiro
- escrita: concede o direito de criar, modificar, renomear e excluir arquivos e/ou diretórios
- execução: para um diretório: concede o direito de acessá-lo para ler seus subdiretórios -> Para um arquivo: concede o direito de executá-lo, caso seja um programa ou script, por exemplo.
- set uid (?): em um arquivo com permissões de execução, isso fará com que ele seja executado com as permissões do proprietário, caso utilize a chamada de sistema execve ou setuid.
- set gid (?): todos os novos arquivos criados pertencerão ao grupo do diretório e, em um arquivo com permissões de execução, isso fará com que ele seja executado com as permissões do grupo.
- bit de restrição (?): em um diretório, os arquivos do diretório só poderão ser renomeados ou excluídos pelo proprietário, mesmo que outros usuários tenham permissão de gravação. Permissão não muito útil em arquivos.
O Web FTP no painel de controle permite alterar as permissões dos arquivos (incluindo o de /web).
A maioria dos softwares/clientes FTP permite alterar as permissões de acesso aos arquivos; essa função geralmente é chamada de "CHMOD" e pode ser encontrada em "Propriedades", "Permissões" ou "Atributos" (geralmente clicando com o botão direito no arquivo ou pasta a ser modificado). Uma caixa de seleção geralmente permite aplicar as permissões a todos os subdiretórios e arquivos na pasta, em modo recursivo.
Depois de marcar as permissões desejadas, valide e as permissões serão alteradas, exceto aquelas que você não tem permissão para modificar ou que o usuário com o qual você está conectado não tem permissão para modificar.
Exemplo com o Filezilla:
Saiba mais
Quando se fala em alterar permissões, geralmente se refere a executar um comando como "chmod 777", "chmod 666" ou outro. Portanto, trata-se de três números, dos quais:
- o primeiro corresponde aos direitos do proprietário
- o segundo corresponde aos direitos do grupo
- o terceiro número corresponde aos direitos dos outros utilizadores.
E os direitos são divididos da seguinte forma:
- "4" para o direito de leitura (read)
- "2" para o direito de escrita (write)
- "1" para o direito de execução
Basta então somar esses números. Por exemplo, se você quiser todos os direitos para o proprietário, mas nenhum direito para os outros, você fará "chmod 700" (4 + 2 + 1 = 7). Se você quiser apenas os direitos de leitura e escrita para todos (4 + 2 = 6), você fará um "chmod 666".
Esses valores são conhecidos por qualquer bom software/cliente FTP, portanto, você terá a possibilidade de inserir diretamente o número no seu software/cliente FTP para que as permissões sejam alteradas.
Para alterar as permissões em arquivos ou diretórios em PHP, você também pode fazê-lo com a função “chmod”, como no exemplo a seguir:
chmod ("/a_folder/a_file", 0755)Note que o valor a ser aplicado deve estar em formato octal, razão pela qual o zero inicial é obrigatório. Tenha cuidado se você armazenar o valor em uma variável, pois isso pode causar um problema de tipo de dados, que você pode contornar com a função octdec(), como no exemplo a seguir:
$mode = 0755;chmod("uma_pasta/um_arquivo", octdec($mode))Link para esta FAQ: https://faq.infomaniak.com/111
Esta seção de perguntas frequentes foi útil?