domingo, 1 de marzo de 2020

Configurar un Ubuntu Server que funcione como dominio SAMBA

Configurar un Ubuntu Server que funcione como dominio SAMBA

Antes de nada, para configurar esto tendremos que tener realizado: Enrutamiento, DHCP y DNS.

Con el Samba instalado:

- sudo apt-get install samba samba-common

Y todo lo demás configurado nos vamos a ir a configurar el dominio de Samba:

- sudo nano /etc/samba/smb.conf


Y dentro de aquí tenemos que modificar o añadir:

- Dentro de Global Settings:

workgroup = antonio.local (nombre de dominio)
netbios name = ubuntuserver (nombre del servidor ubuntu)
logon path = \\%N\perfiles\%U (ruta para los perfiles móviles)
domain logons = yes
domain master = yes
admin users = root, mateos (Usuarios que se van a poder conectar al dominio) (IMPORTANTE PARA PODER UNIRSE LUEGO)*
profile acls = yes



- Dentro Share Definitions:

[homes]
read only = no
create mask = 0640
directory mask = 0750
browseable = no



Y creamos una nueva con la carpeta perfiles debajo de la de homes:

[perfiles]
path = /perfiles
read only = no
create mask = 0640
directory mask = 0750
browseable = no


Ahora guardamos y cerramos y nos vamos a crear la carpeta de perfiles para que se guarden allí:

- sudo mkdir -p /perfiles


El fichero de smb.conf (SIN CARPETAS ANÓNIMAS Y SEGURAS Debería de quedar así):



Y reinciamos el servicio de Samba:

- sudo service smbd restart


Y comprobamos los parámetros son sudo testparm


Nos debería de dar esto: ROLE_DOMAIN_PDC

Ahora vamos a crear el usuario SAMBA con el que se va a unir y conectar a Windows 7 (DEFINIDO EN EL FICHERO SMB.CONF)

- sudo adduser mateos


Le ponemos una clave igual en Samba:

- sudo smbpasswd -a mateos



Creamos un grupo con el nombre de Dominio:

- sudo groupadd antonio.local


*IMPORTANTE*

Ahora creamos la cuenta de confianza para el equipo que nos vamos a conectar a Samba:

(TIENE QUE COINCIDIR CON EL NOMBRE DE NETBIOS (EQUIPO) DEL WINDOWS 7)

- sudo adduser --force-badname WIN7$



La clave es recomendable que se ponga la del usuario creado anteriormente

Ahora agregamos el equipo al dominio:

- sudo adduser WIN7$ antonio.local


Y le ponemos la contraseña del Samba:

- sudo smbpasswd -a -m WIN7


Y reiniciamos Samba:

- service smbd restart
- service nmbd restart


Ahora nos vamos al Windows 7


Le damos a "Aceptar" Y nos saldrá una ventana donde tendremos que poner el usuario que hemos dado del alta para el Samba y que está definido en smb.conf en "admin users" y creado anteriormente.


En el caso de que nos salga un error:



1º Tendremos que crear un fichero .reg con lo siguiente:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters]

"DomainCompatibilityMode"=dword:00000001
"DNSNameResolutionRequired"=dword:00000000


Para ello creamos un nuevo fichero de texto en Windows7, copiamos esto de arriba, lo pegamos y cambiamos la extensión a .reg:


Y lo ejecutamos.

Una vez lo hayamos ejecutado volvemos a intentar conectar al dominio:


Y así deberíamos poder conectarnos al dominio. Reiniciamos 

Como podemos comprobar cuando se reinicia se nos ha unido al dominio:


Le damos a Cambiar de usuario, y ponemos el usuario creado el Samba:








Si por casualidad no funcionara con el .reg, tendremos que crear otro .reg con lo siguiente:

Windows Registry Editor Version 5.00

; Win7/Samba 3.4.x - Workstation Share
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\lanmanserver\parameters]
"AutoShareWks"=dword:00000001

; Win7/Samba 3.4.x - Compat
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\lanmanworkstation\parameters]
"DNSNameResolutionRequired"=dword:00000000
"DomainCompatibilityMode"=dword:00000001
; AllowPlain ....
; RequireSecuritySignature"=dword:00000000

; Win7/Samba 3.4.x - Compat
; http://us.generation-nt.com/answer/samba-rejecting-auth-request-client-xxx-machine-account-win7-help-206090182.html#206092242
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\netlogon\parameters]
"DisablePasswordChange"=dword:00000001
"RequireSignOrSeal"=dword:00000001
"RequireStrongKey"=dword:00000001

;Turn off last user logged in stuff.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]
"dontdisplaylastusername"=dword:00000001

;Disable the security center stuff annoyances
; [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wscsvc]
; "Start"=dword:00000003

; Speedup settings
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
"SlowLinkDetectEnabled"=dword:00000000
"DeleteRoamingCache"=dword:00000001
"WaitForNetwork"=dword:00000000
"CompatibleRUPSecurity"=dword:00000001

; Can drive you nuts
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000
"LocalAccountTokenFilterPolicy"=dword:00000001

;Stupid keys that make the windows 7 sysprep crap out.
[HKEY_LOCAL_MACHINE\SYSTEM\Setup]
"RestartSetup"=dword:00000000
"SetupType"=dword:00000000
"SystemSetupInProgress"=dword:00000000
"SetupPhase"=dword:00000000
"CmdLine"=""
"OOBEInProgress"=dword:00000000



Una vez creado, lo ejecutamos y probamos.

Samba y sus carpetas en modo seguro

Samba y sus carpetas en modo seguro

Para crear las carpetas de Samba en modo seguro tendremos que hacer:

1º Crear un grupo:

- sudo addgroup samba


2º Crear un usuario y añadirlo directamente al grupo:

- sudo useradd mateos -G samba


3º Tenemos que crear al usuario que hemos creado, una contraseña para samba:

- sudo smbpasswd -a mateos


4º Ahora vamos a crear una nueva carpeta y le damos permisos para alojar los documentos que están seguros.

- sudo mkdir -p /samba/seguro
- chmod -R 0770 /samba/seguro
- chown root:samba /samba/seguro


5º Tenemos que ir a /etc/samba y modificar el fichero smb.conf

- sudo nano /etc/samba/smb.conf

Y en Share Definitions tendremos que poner la nueva carpeta y ruta donde se va a encontrar:

[Nombre Carpeta a mostrar]
path = /samba/segura (Ruta completa)
valid users = @samba (Grupo para los usuarios)
guest ok = no (Invitados)
writable = yes (Se puede escribir)
browseable = yes (Se puede mostrar en el explorador de archivos)


6º Ahora reiniciamos Samba:

- service smbd restart


7º Ahora nos vamos a Windows 7 y en la ruta de explorador de archivos ponemos el nombre definido en la netbios del fichero smb.conf del apartado [global] (ES EL NOMBRE DEL SERVIDOR)


En mi caso es ubuntuserver y como podemos comprobar sale "Segura" y "Anonima", Vamos a "Segura".
Nos aparece esta ventana para poder inscribir nuestro nombre del usuario de samba, que está metido en el grupo de @samba


Como podemos comprobar está bien realizado ya que nos deja entrar:



Ahora vamos a crear un fichero y comprobar si se puede puede escribir algun archivo y comprobar que está en el ubuntu:


Como podemos comprobar está bien realizado.

sábado, 29 de febrero de 2020

Samba y sus carpetas en modo anónimo

Samba y sus carpetas en modo anónimo

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX.

Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.

*REQUISITO IMPORTANTE PARA REALIZAR SAMBA:*

Tener antes de nada instalado, configurado y en funcionamiento: ENRUTAMIENTO, DHCP y DNS y una máquina W7 configurada con la red.

Instalación SAMBA:

- sudo apt-get install -y samba samba-common (python-glade2 system-config-samba opcional)


Configuración SAMBA:

Tenemos que ir a /etc/samba/

1º Hacer copia de seguridad del fichero de smb.conf.

- sudo cp smb.conf smb.conf.old


2º Configuración del fichero de smb.conf

- sudo nano smb.conf

Dentro de aquí vamos a diferenciar de dos formas de hacerlo:

COMPARTIR CARPETAS DE FORMA ANÓNIMA y COMPARTIR CARPETAS DE FORMA SEGURA.


COMPARTIR CARPETAS DE FORMA ANÓNIMA:

- En el fichero de configuración smb.conf tendremos que tenerlo tal que así:

Esta es la parte global.


workgroup: Defines el nombre de grupo
server string = Samba server (NO SE TOCA)
netbios name = nombre del servidor
map to guest =bad user 
dns proxy = no
Y lo demás no se toca.

Ahora nos vamos a "Share Definitions"

Y ponemos para la carpeta compartida anonima:


[Anonima] (Como se va a llamar la compartida en Windows)
path = /samba/anonima (Ruta completa donde se encuentra la carpeta creada)
browseable = yes (Navegable)
writable = yes (Escribible)
guest ok = yes (Invitados)
read only = no (Solo lectura)
force user = nobody (Fuerza al nobody)

Después de configurar esto, (O ANTES) pasaremos a crear la carpeta en la raíz de samba con el nombre de la carpeta que hemos configurado anteriormente.

- sudo mkdir -p /samba/anonima


Y en esa carpeta establecemos los permisos:

- chmod -R 0775 /samba/anonima (Quiere decir: Para el usuario: Lectura, Escritura y Ejecución, Para grupos: Lectura, Escritura y Ejecución. Para otros usuarios: Lectura y Ejecución)

Y después establecemos los dueños:

- chown -R nobody:nogroup (Nadie y ningún grupo) /samba/anonima


Una vez tengamos esto, reiniciamos SAMBA:

- sudo service smbd restart

Y ahora si nos vamos a el Windows 7 configurado previamente con Enrutamiento, DHCP y DNS:
Ponemos en la barra de búsqueda: \\ubuntuserver (nombre del netbios)





Y nos aparecerá nuestra carpeta que hemos definido en el archivo de smb.conf



Ahora creamos un fichero para comprobar que está bien:


Y nos vamos a la carpeta en el Ubuntu para comprobarla:


Cuotas de disco en Ubuntu Server

Cuotas de disco en Ubuntu Server

Primeramente antes de empezar se tienen que instalar los paquetes quota y quotatool:

- sudo apt-get install quota quotatool


Una vez instalado tenemos que definir en el disco los siguientes parametros: usrquota,grpquota dentro del disco de /home.

Para ello nos vamos al fichero /etc/fstab.

- sudo nano /etc/fstab:


Guardamos y reiniciamos el equipo.

O también puedes poner el comando: sudo mount -o remount,rw /home (YO RECOMIENDO REINICIAR).

Ahora vamos a crear las cuotas para ello ponemos: 

- sudo quotacheck -cmgu /home


Si nos vamos a /home y hacemos un ls, podemos comprobar que tenemos los ficheros de las cuotas creados correctamente:


Ahora vamos a editar las cuotas tanto para usuarios como para grupos con los comandos:

- edquota -u antonio (nombre usuario)
- edquota -g grupomaestro (nombre grupo)

Hay dos tipos de cuotas: por bloques o por inodos.

Por bloques:

- Un bloque corresponde a un 1kb

Por inodos: 

- Se puede ver como 1 inodo = 1 archivo

Las columnas de bloques y de inodos son informativas, esto quiere decir que ahí se muestra los bloques o los inodos que está utilizando actualmente los usuarios.

Y las que tenemos que editar son las columnas: blando y duro.


IMPORTANTE: Si vamos a poner blando y duro, el límite del blando es menor que el duro, ya que si se pone solamente el duro, no habrá advertencias previas al usuario, si se establecen los dos tanto el duro como el blando, cuando supere el blando, tiene una cierta cantidad hasta el duro y entra en periodo de gracia. (Más adelante se explica como hacer)

Nosotros vamos a hacerlo por bloques:

-  Le voy a poner en blando 100 MB que son en bloques 102400 (Hacer conversión multiplicando por 1024)

- Y en duro le voy a poner 110 MB que son en bloques 112640



Ahora guardamos y cerramos y vamos a modificar el periodo de gracia que hay entre blando y duro:

Para ello ponemos:

- edquota -t


Como podemos ver tenemos dos, por bloque o por inodo.

Para definir el periodo de gracia deberemos utilizar las unidades de tiempo en inglés (days, hours, minutes o seconds)

Tendremos que cambiar los dos para que funcione y ponerlo en inglés, lo voy a cambiar por 1 día. (1days)

Una vez tengamos ya las cuotas puestas, para saber si las tenemos bien y comprobar pondremos:

- sudo repquota -sv /home y nos saldrá toda la información:

Si queremos ver la de un usuario en específico pondremos:

- sudo quota -u mateos (nombreusuario)


Para desactivar las quotas tenemos que poner:

- sudo quotaoff /home (ruta)

IMPORTANTE *Si se reinicia el equipo se pondrá las cuotas automáticamente otra vez, para quitar las cuotas definitivamente hay que ponerlas a 0*

Para volver a activar las quotas:

- sudo quotaon /home (ruta)