Actualizar y corregir permisos (UIDs) en Plesk

permisos-de-archivos

Tal vez os haya pasado, que tras copiar contenidos desde otro servidor Plesk, sobretodo cuando se hace con el comando rsync, se desajustan los nombres de usuario y grupo que tenian originalmente. Aqui dejamos un script en bash totalmente operativo que corrige todos estos permisos. Recordar esto es solo script en bash  para Plesk, funciona en cualquiera de sus versiones de Plesk en cualquier distribucion Linux, no tiene ninguna funcionalidad en otros entornos

#!/bin/bash
# Corrige los permisos de los archivos y directorios de los dominios
cat /etc/passwd |egrep vhos > /tmp/$$
wc=`wc -l /tmp/$$ |awk ‘{ print $1 }’ `
for i in `seq 1 $wc`
do
linea=`head -$i /tmp/$$ |tail -1`
user=`echo $linea |awk -F: ‘{ print $1}’`
home=`echo $linea |awk -F: ‘{ print $6}’`
echo “$user – $home”
#corrigiendo el home
chown root.root $home
chmod 755 $home
#corrigiendo el httpdocs y demas principales
for dir in httpdocs httpsdocs cgi-bin anon_ftp
do
if [ -d $home/$dir ];then
#el directorio
chown $user.psaserv $home/$dir
chmod 750 $home/$dir
#el contenido
chown $user.psacln $home/$dir/* -R
chmod 777 $home/$dir/* -R
fi
done
for dir in statistics subdomains web_users
do
if [ -d $home/$dir ];then
chown root.psaserv $home/$dir
chmod 755 $home/$dir
if [ -d $home/$dir/httpsdocs ];then
chown $user.psaserv $home/$dir/httpsdocs
chmod 750 $home/$dir/httpsdocs
chown $user.psacln $home/$dir/httpsdocs -R
chmod 777 $home/$dir/httpsdocs -R
fi
fi
done
done


5 opiniones en “Actualizar y corregir permisos (UIDs) en Plesk”

  1. #!/bin/bash
    # Corrige los permisos de los archivos y directorios de los dominios
    cat /etc/passwd |egrep vhos > /tmp/$$
    wc=`wc -l /tmp/$$ |awk ‘{ print $1 }’ `
    for i in `seq 1 $wc`
    do
    linea=`head -$i /tmp/$$ |tail -1`
    user=`echo $linea |awk -F: ‘{ print $1}’`
    home=`echo $linea |awk -F: ‘{ print $6}’`
    echo “$user – $home”
    #corrigiendo el home
    chown root.root $home
    chmod 755 $home
    #corrigiendo el httpdocs y demas principales
    for dir in httpdocs httpsdocs cgi-bin anon_ftp
    do
    if [ -d $home/$dir ];then
    #el directorio
    chown $user.psaserv $home/$dir
    chmod 750 $home/$dir
    #el contenido
    chown $user.psacln $home/$dir/* -R
    chmod 777 $home/$dir/* -R
    fi
    done
    for dir in statistics subdomains web_users
    do
    if [ -d $home/$dir ];then
    chown root.psaserv $home/$dir
    chmod 755 $home/$dir
    if [ -d $home/$dir/httpsdocs ];then
    chown $user.psaserv $home/$dir/httpsdocs
    chmod 750 $home/$dir/httpsdocs
    chown $user.psacln $home/$dir/httpsdocs -R
    chmod 777 $home/$dir/httpsdocs -R
    fi
    fi
    done
    done

  2. Pingback: Bitacoras.com
  3. La idea la veo muy buena… pero y esos 777 de manera resursiva ?

    chmod 777 $home/$dir/* -R
    chmod 777 $home/$dir/httpsdocs -R

    Eso me parece muy peligroso…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *