Created
October 16, 2023 21:25
-
-
Save mlpassos/d424266497a7624001e17eae26821b4f to your computer and use it in GitHub Desktop.
Bash Script for Setting File and Folder Permissions for WordPress
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Função para exibir mensagens de erro e sair | |
die() { | |
echo "Erro: $1" | |
exit 1 | |
} | |
# Função para exibir a mensagem de ajuda | |
display_help() { | |
echo "Uso: $0 [--folder=<caminho>] [--help]" | |
echo "Configura as permissões corretas para um diretório WordPress de acordo com as melhores práticas de segurança." | |
echo | |
echo "Opções:" | |
echo " --folder=<caminho> Especifica o caminho para o diretório WordPress." | |
echo " --help Exibe esta mensagem de ajuda." | |
exit 0 | |
} | |
# Verifica se o script está sendo executado como root | |
if [ "$(id -u)" != "0" ]; then | |
die "Este script precisa ser executado como root (use sudo)." | |
fi | |
# Tratamento dos argumentos | |
if [ $# -eq 0 ]; then | |
display_help | |
fi | |
for arg in "$@"; do | |
case $arg in | |
--folder=*) | |
folder="${arg#*=}" | |
shift | |
;; | |
--help) | |
display_help | |
;; | |
*) | |
die "Argumento inválido: $arg. Use --help para obter ajuda." | |
;; | |
esac | |
done | |
# Verifica se o diretório especificado existe | |
if [ ! -d "$folder" ]; then | |
die "O diretório especificado não existe." | |
fi | |
# Define as permissões recomendadas para o WordPress | |
wp_permissions() { | |
local dir="$1" | |
find "$dir" -type d -exec chmod 755 {} \; | |
find "$dir" -type f -exec chmod 644 {} \; | |
chown -R www-data:www-data "$dir" | |
} | |
# Aplica as permissões ao diretório WordPress | |
wp_permissions "$folder" | |
echo "Permissões configuradas com sucesso para $folder." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment