Alterando a permissão de pastas em Linux
|
O acesso via SSH (Configurando o Putty) permite efetuar várias tarefas nos servidores, como conectar-se à área de hospedagem, proteger diretórios, gerar e restaurar backups do MySQL e PostgreSQL.
Permissões possíveisAbaixo segue a tabela com os códigos de permissão (formato octal):
| | r | w | x | Descrição
| 0 | - | - | - | Nenhuma permissão de acesso.
| 1 | - | - | x | Permissão somente de execução (x).
| 2 | - | x | - | Permissão somente de gravação (w).
| 3 | - | x | x | Permissões de gravação e execução (wx).
| 4 | x | - | - | Permissão somente de leitura (r).
| 5 | x | - | x | Permissões de leitura e execução (rx).
| 6 | x | x | - | Permissões de leitura e gravação (rw).
| 7 | x | x | x | Permissão total (leitura, gravação e execução, rwx).
Exemplos mais comunsUsaremos o código de cores para facilitar a compreensão quanto ao owner, grupo e outros: Permissão 644: SFTP e FTPAlterando a permissão em arquivos ou em diretóriosAcesse a sua área de hospedagem por algum programa de SFTP ou FTP que tenha suporte à alteração de permissão. Na imagem abaixo usamos o WinSCP:
Aplicando permissão recursiva
SSHAlterando a permissão de um arquivo ou de um diretórioPara alterar a permissão de um diretório ou arquivo digite o seguinte comando: chmod [permissão] [nome do diretório ou caminho do diretório] Por exemplo: cd ~/public_html chmod 777 teste ou chmod 777 ~/public_html/teste/ O exemplo acima aplica a permissão total ao diretório "teste" para o Dono (owner), o Grupo e Outros. drwxrwxrwx 1 teste teste 4493 Aug 14 16:42 teste
Aplicando permissão recursivaPara aplicar permissão recursivamente (aplicar a permissão no diretório e todos os seus arquivos e sub-diretórios), use a opção -R: chmod -R 777 teste Nota: Não recomendamos aplicar permissão total na raiz de seu site (~/public_html).
Como garantir que os arquivos criados ou enviados através de scripts sejam acessados por FTP tambémTópico válido somente para as hospedagens Linux antigas Arquivos criados por scripts em PHP ou enviados através deles em diretórios com permissão 777 ou 0777 terão o owner "webserver" (herdarão a permissão do usuário webserver, o usuário do Apache), e você não conseguirá fazer o download dele por FTP, nem editá-lo e nem apagá-lo. Então você deverá aplicar a permissão 1777.
Por SSH
chmod 1777 teste ou
chmod 1777 -R teste
Por SFTP ou FTP
No exemplo contido na imagem acima, marque a opção Sticky bit. Também possível dar permissão recursiva com o Sticky bit ativado.
Importante: Nas hospedagens Linux mais recentes não existe mais esta situação. Função chmod() do PHPSe o diretório foi criado por script, seu owner será webserver (em hospedagens antigas somente). Nas hospedagens novas, o owner será o seu próprio usuário de FTP. Para dar a permissão de escrita via chmod() do PHP em arquivos e diretórios, deve-se aplicar sempre a permissão 0777 ou 1777. Documentação oficial da função chmod() do PHP Veja também
Links |
|
