Saltar a contenido

Usuarios en SAMBA.

Usuario Invitado.

Cuando accedemos como “invitado” (guest ok) por defecto accedemos como el usuario nobody:nogroup.

Esto se puede modificar usando el siguiente parámetro:

⚡ force user = salva

⚡ force group = alumnos

De esta forma cuando accedamos al sistema como invitado accederemos como el usuario salva que tiene el grupo principal alumnos.

No es recomendable utilizar force user = root porque estaría entrando todo el mundo como administrador.

Usuarios

Los usuarios deben existir tanto en samba como en el servidor.

Crear usuario en el servidor

Si no queremos que este usuario pueda acceder al sistema podemos ponerle un shell inexistente y no ponerle contraseña en el sistema.

sudo useradd -s /bin/true “usuario”

Crear usuario en SAMBA

Es recomendable que la contraseña sea diferente a la usada en el sistema.

sudo smbpasswd –a “usuario”

Opciones de smbpasswd
Significado
-a Crear usuario
-d Deshabilitar usuario en samba.
-x Eliminar un usuario
-e Habilitar usuario en samba

Comprobar usuarios creados en SAMBA

sudo pdbedit -L

Restricción por usuarios.

En caso de que no permitamos el acceso de invitados (guest ok = no) el servidor nos solicitará nuestras credenciales.

Se puede restringir los usuarios que pueden tener acceso a un recurso:

⚡ valid users = salva pepe jorge

⚡ invalid users = root @profesores @root

El “@” indica que se hace referencia a un grupo. Por tanto ningún usuario perteneciente al grupo root o de profesores puede acceder.

Si un usuario está en el listado de “valid users” y en el de “invalid users” se le deniega el acceso.

Los usuarios dentro de esta lista actuarán como root.

⚡ admin users = salva

No es una práctica recomendable, solo debe ser usada si es totalmente necesaria.

Restricción por IP

hosts allow | deny: Permite restringir el acceso por IP:

  • Permitir redes → hosts allow = 192.168.2.0/255.255.255.0 192.168.3.0/255.255.255.0
  • IP específica → hosts allow = 192.168.2.5 192.168.3.100 192.168.3.200
  • Permitir una red excepto una IP → hosts allow = 150.203. EXCEPT 150.203.6.66
  • Permitir por parte de red → hosts allow = 192.168.
  • Rechazar por parte de red → hosts deny = 10. (Deniega acceso a todos los hosts que comiencen por 10.)

Opción
Significado
hosts allow Especifica desde qué direcciones IP se podrá acceder al servicio.
hosts deny Especifica los rangos no permitidos, del mismo modo que host allow.

Orden de Ejecución

Su funcionamiento es más permisivo, es decir, si tenemos:

hosts allow = 127.0.0.1 192.168.2.0/24 192.168.3.0/24

hosts deny = 127.0.0.1 192.168.2.0/24 192.168.3.0/24

Permite el acceso porque manda el allow ante el deny.

Restaurar Conexiones en Windows.

En Windows las conexiones se quedan guardadas en memoria, por lo que una vez iniciado sesión en un servicio SAMBA, por ejemplo con el usuario "salva" ya no nos saltará de nuevo la ventana para introducir las credenciales de nuevo.

En caso de que queramos borrar esa memoria debemos abrir una consola "cmd" y ejecutar "net use * /DEL".

Borrar Caché Windows (CMD)

net use * /DEL

Logs.

Los logs del sistema se suelen guardar en /var/log:

  • syslog: Logs del sistema.
  • auth.log: Intentos de logs de autentificaciones fallidas en servicios del sistema (SSH, SCP, SAMBA).
  • /var/log/samba: Logs relacionados con samba.

Por defecto en samba se almacena los fallos del servicio en syslog y los fallos de autenticación en auth.log.

Opción
Significado
log level Especifica el nivel de detalle que se guardará en un log.
log file Dónde vamos a guardar los logs.

Se puede especificar el detalle del registro por módulos, por ejemplo el módulo de auth_audit muestra información sobre los intentos de acceso.

Ejemplos.

En el siguiente ejemplo se guarda un log por cada máquina (%m). Por ejemplo en "log.192.168.56.1"

En ese log se guarda un nivel uno en general y un nivel 3 para autenticación.

Level 1 del servicio --> Solo guarda errores del servicio.

Level 3 de autenticación --> Guarda fallos y aciertos en la autenticación.

log file = /var/log/samba/log.%m
log level = 1 auth_audit:3 auth_json_audit:3
log file = %S.log