Eu continuo voltando para as permissões perfeitas baseadas na web, eu fiz isso de algumas maneiras. Este post não é tão complexo como é um pouco longo, eu queria fornecer algumas amostras.
Eu pesquisei longe, mas estou me perguntando se existe um padrão de fato. Obrigado pelo seu tempo.
P: Alguém pode me aconselhar sobre a melhor abordagem de acordo com as metas básicas de permissão abaixo?
0777
www-data
é fixo myself
é stick (se possível, não acho que exista um padrão em setfacl)
Ubuntu 16.04
e 16.10
(versões do desktop no momento)
Eu defini isso antes, mas me pergunto por que isso destaca meu arquivo em uma cor laranja, isso me preocupa . O objetivo era manter arquivos atuais e novos como www-data
.
sudo chgrp -R www-data /var/www
sudo chmod -R g+rws /var/www # <-- s or S?
O acima funciona na maior parte mas eu li que é ruim usar , por quê? Então eu tentei setfacl
.
Aqui eu setfacl
, o problema é que ele vai fazer todos os arquivos atuais +x
para o usuário, eu não quero isso.
# For Current Files | User/Group
sudo setfacl -Rm u:myself:rwx /var/www
sudo setfacl -Rm g:ww-data:rwx /var/www
# For Future Files | User/Group
sudo setfacl -Rmd u:myself:rwx /var/www
sudo setfacl -Rm g:www-data:rwx /var/www
Então, uma ideia maluca que tive foi fazer uma função .bashrc
. Ainda não está totalmente correto, mas você entendeu.
function facl_file() {
echo "(+) Set ACL for $USER:www-data rw [Files Only, Persist]"
# Files cannot have defaults -d permissions
while IFS= read -r -d $'sudo chgrp -R www-data /var/www
sudo chmod -R g+rws /var/www # <-- s or S?
' file; do
echo " Setting $file"
# Default Mode: RW
mode="rw"
# If Executable, Add RWX
if [[ -x "$file" ]]; then
mode="rwx"
fi
sudo setfacl -m u:$USER:$mode $file
sudo setfacl -m g:www-data:$mode $file
done < <(find $CREATE -type f -print0)
echo "(+) Done with Files"
}
function facl_dir() {
echo "(+) Set ACL for $USER:www-data rwx [Directories Only, Persist]"
while IFS= read -r -d $'# For Current Files | User/Group
sudo setfacl -Rm u:myself:rwx /var/www
sudo setfacl -Rm g:ww-data:rwx /var/www
# For Future Files | User/Group
sudo setfacl -Rmd u:myself:rwx /var/www
sudo setfacl -Rm g:www-data:rwx /var/www
' dir; do
echo " Setting $dir"
sudo setfacl -m u:$USER:rwx $dir
sudo setfacl -dm u:$USER:rwx $dir
sudo setfacl -m g:www-data:rwx $dir
sudo setfacl -dm g:www-data:rwx $dir
done < <(find $CREATE -type d -print0)
echo "(+) Done with Directories"
}
O objetivo do acima foi impedir que Directories
perdesse o +x
e impedisse que os arquivos que não eram +x
se tornassem.
Qualquer conselho seria apreciado se eu estivesse indo na direção errada sobre isso. Não consigo encontrar um bom "Sticky Standard" que pareça certo.
Tags linux ubuntu web file-permissions