Ilustración de Rsync de Walker Cahall
Introducción
Este tutorial lo guiará a través de la configuración de un demonio rsync en su servidor Linux. Es posible que desee un demonio rsync si tiene archivos que desea que estén disponibles para que cualquiera (o solo usted mismo) pueda descargar archivos existentes o cargar archivos nuevos. Esta guía revisará tanto la ejecución de rsync como su propio demonio como su ejecución a través de xinetd.
Requisitos
– Un servidor Linux con rsync instalado:si aún no tiene un servidor, ¿por qué no activar un servidor VPS robusto y confiable en menos de 30 segundos?
– (Opcional) Xinetd instalado.
– Permisos apropiados para leer y/o escribir en el demonio rsync (este tutorial mostrará los comandos que se ejecutan como usuario raíz).
Configuración de un demonio Rsync
Primero, utilizando su editor de texto preferido, deberá crear el archivo de configuración /etc/rsyncd.conf
, si aún no tiene uno. A continuación se muestra un ejemplo de nuestros parámetros de configuración básicos y explicaciones de cada uno.
pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsync.log port = 12000 [files] path = /home/public_rsync comment = RSYNC FILES read only = true timeout = 300
pid file
:El archivo de identificación del proceso que usa el daemon.
lock file
:El archivo de bloqueo del demonio.
log file
:La ubicación del archivo de registro.
port
:Si no desea que el demonio rsync se ejecute en su puerto predeterminado (873), puede especificar un nuevo puerto aquí. Asegúrese de que este puerto esté abierto en su firewall. Rsync utiliza el protocolo TCP para sus transferencias.
[files]
:Este es el nombre del módulo. El nombre que se usa aquí es el que colocará en el comando de extracción rsync como la primera parte de la fuente (/files/../..). Puedes ponerle el nombre que quieras y puedes tener tantos como quieras.
path
:La ruta del archivo para los archivos asociados con este módulo.
comment
:Comentario descriptivo para este módulo.
read only
:Esto le dice al daemon que el directorio de este módulo es de solo lectura. No puedes cargarlo. Para cargar solo, use cargar solo =verdadero.
timeout
:Tiempo, en segundos, que el demonio rsync esperará antes de finalizar una conexión muerta.
Esta es solo una configuración básica. Para obtener una lista más detallada de opciones, consulte la página del manual.
Ejecutar Rsync como demonio
Ahora, con esta configuración básica, podemos iniciar el demonio por sí mismo ejecutando lo siguiente:
rsync --daemon
Puede verificar que el demonio se está ejecutando con:
ps x | grep rsync
Si tiene algo extraño en la salida, como una declaración que indica que no está confinado, es posible que SELinux bloquee el daemon. Deberá trabajar para agregar rsync para que SELinux lo acepte y pueda ejecutar el daemon.
.
Ahora que el demonio rsync se está ejecutando, está listo para aceptar conexiones. Si no está seguro de cómo conectarse desde un cliente rsync, consulte nuestra guía sobre cómo conectarse con rsync.
Para detener el demonio, puede ejecutar kill
comando.
kill `cat /var/run/rsyncd.pid`
.
Ejecución de Rsync a través de Xinetd
Si ya está utilizando xinetd para administrar servicios, también puede agregar el control del demonio rsync. Si bien xinetd proporciona un mayor control central sobre los procesos en ejecución, tenga en cuenta que no significa necesariamente una mayor seguridad.
Primero, edite el archivo xinet.d para rsync, si ya existe (si no, puede crearlo y usar la configuración de ejemplo a continuación). Cambiar el disabled
línea a no
. También querrá agregar el port
línea con el predeterminado (873) o su puerto personalizado.
Nota:si está utilizando un puerto personalizado, también deberá editar el puerto rsync en el archivo de servicio (/etc/services
) a su puerto personalizado.
.
Usando su editor de texto preferido, cree o edite /etc/xinetd.d/rsync
como a continuación:
# default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no flags = IPv6 socket_type = stream port = 12000 wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
Ahora solo necesita reiniciar xinetd y el demonio rsync debería ejecutarse.
/etc/init.d/xinetd restart
.
Prueba de los directorios de Rysnc
Para probar su conexión al demonio rsync y encontrar qué rutas están disponibles para usted, simplemente conéctese desde su cliente al host rsync usando el siguiente método. Este método ejecuta solo una parte de un comando de extracción, pero le revelará las rutas.
rsync -rdt rsync://IPADDR:RsyncPort/
Encuentra la ruta del archivo
Este comando le mostrará qué directorios están abiertos para usted. Si no conoce el nombre del archivo, puede repetir el proceso (agregándolo a la ruta del archivo) hasta que encuentre los archivos deseados.
rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName
Más rutas de archivo descubiertas
Y una vez que encuentre el archivo, puede completar el comando y extraerlo.
rsync -rdt rsync://IPADDR:RsyncPort/DirectoryName/File /DestinationDirectory/
Ruta completa encontrada
Agregar nombres de usuario y contraseñas al demonio Rsync
Puede hacer que su demonio rsync sea más seguro agregando un requisito de nombre de usuario y contraseña en su archivo de configuración. Abra /etc/rsyncd.conf
con su editor de texto preferido e ingrese estos parámetros en el módulo.
[files] path = /home/public_rsync comment = RSYNC FILES read only = true timeout = 300 auth users = rsync1,rsync2 secrets file = /etc/rsyncd.secrets
auth users
:Lista de usuarios, separados por comas. No es necesario que existan necesariamente en el sistema, pero sí en el archivo de secretos.
secrets file
:Ruta del archivo a su archivo de secretos que contiene la lista de nombres de usuario y contraseñas.
Luego, nuevamente usando su editor de texto preferido, abra o cree su /etc/rsyncd.secrets
expediente. Utilice el siguiente formato username:password
.
rsync1:9$AZv2%5D29S740k rsync2:Xyb#vbfUQR0og0$6 rsync3:VU&A1We5DEa8M6^8
Una vez que haya guardado este archivo, asegúrelo para que solo el usuario root pueda leerlo o editarlo.
chmod 600 /etc/rsyncd.secrets
Tenga en cuenta que agregamos un usuario rsync3 que no especificamos en el parámetro de usuarios de autenticación en /etc/rsyncd.conf
. Verás por qué a continuación.
Ahora, cuando se conecte a este demonio rsync, deberá asegurarse de usar el nombre de usuario adecuado.
Usuario válido de rsync
Si intenta conectarse con un usuario no permitido en los usuarios de autenticación, obtendrá el siguiente error.
Usuario de rsync no válido
Solo recuerda que los usuarios autorizados deben aparecer tanto en el /etc/rsyncd.conf
y el /etc/rsyncd.secrets
archivos.
.
Y eso es todo por lo básico de un demonio rsync. ¡Ahora debería poder crear un demonio rsync básico y tener directorios especificados para cargar, descargar o ambos! Vuelva a consultar aquí para obtener más actualizaciones y para considerar un servidor de alojamiento VPS Linux líder en el mercado de Atlantic.Net.
Obtenga más información sobre nuestros servicios de alojamiento VPS y servidores privados virtuales.