Actualizar y corregir permisos (UIDs) en Plesk

permisos-de-archivos

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

No space left on device: mod_rewrite… Solución para servidor web Apache

servidor apache

servidor apache

En alguna ocasión me he topado con que al reiniciar Apache después de matar todos los procesos con killall -9 httpd el servidor Apache no quiere arrancar, Apache start [FALLA], dando en el log el error de más arriba. Se trata de que Apache no ha liberado recursos del sistema y debemos hacerlo nosotros. En concreto se trata de semáforos. Linux tiene dos comandos que me ayudan a hacer esto (ipcs e ipcrm). Por si acaso antes vamos a eliminar los procesos zoombie:

Ver procesos zoombie:

# ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]’

Matar procesos zoombie (tardará un poco):

# kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]’ | awk ‘{print $2}’`

Este es el error al reiniciar o arrancar Apache:

[crit] (28) No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed

Solución:

Revisar los semáforos de Apache

# ipcs -s | grep apache

Eliminamos todos los semáforos de los procesos de Apache

# ipcs -s | grep apache | perl -e ‘while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}’

Iniciar Apache

# service httpd start

Como instalar Gnome 3 en Ubuntu

gnome3

Os voy a dar dos pasos sencillos para instalar Gnome 3 en Ubuntu (para otros sistemas operativos Linux basados tipo Debian seria igual, para los basados en Red Hat seria con YUM)

Bueno, lo primero será abrir el terminal. Para a continuación teclear las siguientes líneas de códigos.

Agrega el PPA.

sudo add-apt-repository ppa:ubuntu-desktop/gnome3-builds

Actualiza e instala Gnome 3

sudo apt-get update
sudo apt-get install gnome3-session

Terminado este proceso solo restara que cierres sección. Y desde GDM accedas a Gnome 3.

instalar gnome3

raiola manda y no el panda

Script bash para instalar Adobe Flash Player 10.2 en Ubuntu / Linux

Se encuentra disponible la versión de Flash player 10.2 entre algunas de sus mejoras, la capacidad de reproduccion de videos completos para varios reproductores, y reducción en el consumo de recursos. A continuación dejo un script de instalación que me acabo de currar para la version de 32 bits:

#!/bin/bash

echo ":::::::::::::::::::::::::::::::::::::"
echo ": Instalador de Flash 10.2 (32 bits):"
echo ":::::::::::::::::::::::::::::::::::::"
gksudo echo "Empiza la instalacion. Se guardaran copias .backup de los plugins previos"
cd /tmp
FILE="http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz"
wget -c "$FILE"
tar xvf install_flash_player_10_linux.tar.gz

# Firefox y similares:
if [ -f /usr/lib/mozilla/plugins/libflashplayer.so ];
then
	sudo mv /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup
	sudo cp libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so
fi

if [ -f ~/.mozilla/plugins/libflashplayer.so ];
then
	sudo mv ~/.mozilla/plugins/libflashplayer.so ~/.mozilla/plugins/libflashplayer.so.backup
	sudo cp libflashplayer.so ~/.mozilla/plugins/libflashplayer.so
fi

# Chromium
if [ /usr/lib/chromium-browser/plugins ];
then
	sudo mv /usr/lib/chromium-browser/plugins/libflashplayer.so /usr/lib/chromium-browser/plugins/libflashplayer.so.backup
	sudo cp libflashplayer.so /usr/lib/chromium-browser/plugins/libflashplayer.so
fi

echo "Instalacion finalizada. Reinicie"
cd -

Para el que quiera instalarlo manualmente, nada. Es descomprimir el script y copiar el archivo libflashplayer.so a las rutas correspondientes, por lo general: /usr/lib/mozilla/plugins/, ~/.mozilla/plugins/ y /usr/lib/chromium-browser/plugins (si usas chromium). Acuerdate de sacar una copia del anterior, por si hubiera algun problema y quisieras volver a la versión que tenias previamente instalada.

Link de Adobe

Recomponer archivos tar.gz que se han descomprimido sin crear directorio

¿A quién no le ha ocurrido? Descargas un fichero.tar.gz en /home/tuuusuario/ , invocas el conjuro para desempaquetar y descomprimir:

tar -xvzf fichero.tar.gz

Y cuando observas el resultado te das cuenta que el muy *HIJO DE ****PIiiI*****uta* se ha descomprimido SIN crear un directorio para el contenido que tiene dentro, o sea, ha dejado todo tu $HOME lleno de ficheros. Es lo que se conoce como una bomba tar.

Bien, el siguiente comando atb (anti-tar-bomb), encontrado en commandlinefu.com, analiza el tar.gz (o .bz2 o .tgz) ANTES de descomprimirlo. Si resulta que se trata de una bomba tar, crea un directorio con el mismo nombre X que el fichero X.tar.gz y luego lo descomprime en X. Magia!

 atb() {shopt -s extglob ; l=$(tar tf $1); if [ $(echo "$l" | wc -l) -eq $(echo "$l" | grep $(echo "$l" | head -n1) | wc -l) ]; then tar xf $1; else mkdir ${1%.t@(ar.gz|ar.bz2|gz|bz|ar)} && tar xf $1 -C ${1%.t@(ar.gz|ar.bz2|gz|bz|ar)}; fi ; shopt -u extglob}