Portada del sitio > Internet > Instalar un servidor > Añadiendo usuarios al sistema

Instalar un servidor - XII

Añadiendo usuarios al sistema

Viernes 12 de mayo de 2006, por Dani

La idea de añadir usuarios al sistema, tiene como finalidad que los usuarios:

 dispongan de espacio web para publicar sus páginas
 tengan acceso vía ftp para subir los ficheros de sus web’s personales
 dispongan de una cuenta de correo en nuestro dominio (por ejemplo: usuario@lubrin.org)
 no tengan acceso al shell del sistema, de forma que no puedan acceder directamente ni remotamente a la línea de comandos

También sería conveniente establecer cuotas de espacio en disco para los usuarios, tanto para el correo como para el espacio dedicado a web personal. Una manera fácil de establecer cuotas de disco para el espacio web es mediante el servidor de ftp (el inconveniente es que sería la misma cuota para todos los usuarios). Si queremos cuotas individualizadas, tendremos que valernos de aquote
Puesto que se trata de una red casera con pocos y fiables usuarios, la autentificación la haremos con /etc/passwd, es decir, como usuarios del sistema. Cada usuario dispondrá de su login y password que les servirá tanto para su cuenta de correo como para su espacio web.
De todas formas, en el apartado Seguridad de este manual, aconsejaré como método más seguro la autentificación mediante LDAP.

Respecto a las contraseñas, se habilitará un plugin para el correo-web de forma que los usuarios puedan cambiar sus contraseñas cuando lo consideren conveniente.

Añadiendo usuarios

Básicamente el añadir un usuario al sistema consta de varios pasos (aunque se puede automatizar creando un script, dando contenido a /etc/skel, modificando el adduser.conf, etc.)
Nótese que existen dos órdenes: useradd y adduser que no son lo mismo (lo mejor es practicar ambas para aprender sus diferencias).

# useradd -m -s /bin/false pepico
# passwd pepico
# mkdir /home/pepico/public_html
# chown pepico:users -R /home/pepico

Hemos añadido al usuario pepico, creando su carpeta /home/pepico (-m) y dejándolo sin shell (-s /bin/false)
En la segunda línea le asignamos una contraseña
Le creamos la carpeta public_html (en caso de que queramos darle espacio web). No es necesario crearle la carpeta /home/pepico/mail puesto que la configuración de nuestros programas de correo lo harán automáticamente.
Em la última línea ponemos como dueño a pepico de su carpeta personal (/home/pepico) y todo lo que incluya (-R)
 

Permitiendo web’s personales a los usuarios

Debemos modificar la configuración de apache para que permita que los usuarios tengan web’s personales. Se accederá a esas web personales mediante:
http://www.midominio.xxx/~usuario
También necesitaremos un pequeño scrip para quitar el carácter '~', de forma que se pueda acceder mediante:
http://www.midominio.xxx/usuario (ejemplo: http://www.lubrin.org/dani)
Para ello debemos activar en primer lugar el módulo de apache userdir
Los módulos activos de apache están en la carpeta /etc/apache2/mods-enabled/
Por tanto podemos saber si el módulo userdir está activado tecleando:

$ ls /etc/apache2/mods-enabled/
cgi.load  userdir.conf  userdir.load

Observamos que tenemos activo el módulo userdir

el módulo userdir posibilita que los usuarios tengan sus webs personales

Si no queremos que tengan web personal, desactivamos el módulo:

# a2dismod userdir

[apache2 disable modulo userdir]
Si nos arrepentimos, para activarlo:

# a2enmod userdir

Las webs personales tienen que incluirlas en su directorio:
/home/usuario/public_html/

Se puede cambiar la carpeta por defecto: public_html por otra. Para ello se lo decimos a apache en su fichero /etc/apache2/apache2.conf mediante la línea:

   UserDir public_html

que cambiaremos por:

   UserDir otra_carpeta

Si cambiamos los ficheros de configuración debemos reiniciar apache:

   # /etc/init.d/apache2 restart 

La carpeta public_html hay que crearla para cada usuario.
Además hay que asegurarse que apache tiene permiso para entrar en esas carpetas.
(descomentado el #UserDir public_html)
Supongamos que ya hemos dado de alta al usuario pepe
Ahora pepe no tendría más que poner sus web's en su carpeta /home/pepe/public_html y para verlas desde Internet:
http://dominio/~pepe
Cuando 'pepe' entre por FTP (con su login y password) verá que ya hay creada una carpeta en su esepacio (public_html) y debe saber que lo que quiera publicar tiene que estar dentro de esa carpeta.
Pues ahora pepe está contento, ha creado su web personal y le ha dado la url a sus amigos/as para que vean su web, pero resulta que algunos le dicen que no saben poner el "~", que no está en sus teclados [ese carácter especial se pone con la combinación de teclas AltGr+4].

Quitando el "gusanillo":"~"

Pondremos un script en perl en el fichero /etc/apache2/httpd.conf [fichero que, en Debian, normalmente estará vacío] de forma que los usuarios puedan acceder a sus web’s mediante:
http://dominio/usuario

<perl>
	opendir H, '/home/';
	my @dir = readdir(H);
	closedir H;
	foreach my $u (@dir)  {
		next if $u =~ m/^\./;
		if (-e "/home/$u/public_html"){
			push @Alias, ["/$u", "/home/$u/public_html/"];
			}
		}
</perl>

Además, para que funcione, debemos instalar el módulo de perl y reiniciar apache:

# apt-get install libapache2-mod-perl2
# /etc/init.d/apache2 restart

 

Mensajes

  • No está mal el artículo, pero creo que se debería repasarlo para eliminar el montón de fallos ortográficos.

    Solo unos ejemplos:

    "...y dejándolo si shell (-s /bin/false)" debería ser "... sin shell ..."

    "http://www.midominio.xxx/ usuario
    También necesitaremos un pequeño scrip para quitar el carácter ’ ’, de ..."

    Falta la tilde en el URL y entre los ’ ’ (eso por un fallo en la configuración de vuestro servidor que se lo draga - lo he probado en ésta respuesta, mira: siguien tres tildes: )

    "... saber si el mósulo user está activado ..." debería ser "... módulo userdir .."

    Para los principiantes esos fallos pueden ser rompecabezas y no inspira mucha confianza cuando ya la ortografía está mal!

    Un saludo, Klaus

    Ver en línea : Añadiendo usuarios al sistema

¿Un mensaje, un comentario?

moderación a priori

Este foro es moderado a priori: su contribución sólo aparecerá una vez validada por un/a administrador/a del sitio.

¿Quién es usted?
Su mensaje

Para crear párrafos, deje simplemente líneas vacías.

Añadir un documento