Menu

Compartiendo con Samba + AD

2 enero, 2015 - Linux

El objetivo de esto es compartir una o varias carpetas alojadas en un nas home / pyme tipo iomega ix2/ix4 pero teniendo un mayor control sobre los permiso y cuotas los recursos compartidos que las que el mismo nas ofrece, a demas a permitira acceso o no a diferentes usuarios gracias a la integracion de samba con active directory.

La unica limitante que encontre hasta el momento fue que no puedo presentarle al user un disco de tamaño predeterminado, claro esta que me refiero a un tamaño diferente al real. Como lo que yo necesito es asignar una cuota a un grupo de usuarios, lo que termine haciendo, fue crear un disco virtual del tamaño que necesito y lo comparto por samba. El dia de mañana si se queda corto, tengo la opcion de expandirlo.

 

Preparando la unidad a compartir

Una vez agregado el disco virtual ya particionado y formateado creo el directorio donde sera montado, mkdir /mnt/Shares

Luego edito el /etc/fstab agregando la siguiente linea

/dev/vda1  /mnt/Shares ext4 errors=remount-ro 0 1

Aplicar los cambios con   mount -a y verificar que la unidad se encuentre montada con el comando df -h

 

Instalación de Samba junto con los complementos para integracion con AD

aptitude install samba-* winbind krb5-admin-server krb5-kdc krb5-user ntp ntpdate -y

 

Sincronizando la hora con la del AD (es muy importante que ambos posean la misma fecha/hora)  

ntpdate -u adserver.dominio.local (o en su defecto la ip o nombre del ntp server que utilizas para tu red)

update-rc.d ntp defaults

 

Configurando Samba

Reemplazar el contenido de /etc/samba/smb.conf por el siguiente y adecuarlo a tu caso particular

[global]

workgroup = DOMINIO
realm = DOMINIO
security = ads
password server = adserver.dominio.local
idmap uid = 500-200000
idmap gid = 500-200000
winbind separator = @
template homedir = /mnt/Share/homes/%U
template shell = /bin/bash
winbind use default domain = yes
winbind offline logon = false
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind nested groups = yes

[Prueba1]
write list = @grupo1,@administracion,@”domain admins”
path = /mnt/Shares/prueba1
create mode = 0660
directory mode = 0770
[Prueba2]
write list = @grupo2
path = /mnt/Shares/pureba2

 

Crear los directorios de ejemplo y les dejo permisos full, total los controlare luego desde el samba

mkdir /mnt/Shares/prueba1

mkdir /mnt/Shares/prueba2

chmod 777 /mnt/Shares/prueba1

chmod 777 /mnt/Shares/prueba2

 

editar /etc/krb5.conf de forma que quede de la siguente manera

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = DOMINIO.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true

[realms]
DOMINIO.LOCAL = {
kdc = adserver.dominio.local
admin_server = adserver.dominio.local
}

[domain_realm]
.dominio.local = DOMINIO.LOCAL

dominio.local = DOMINIO.LOCAL

 

luego service smb restart

net join ads -U administrator -S adserver.dominio.local

el resultado deberia de ser  “Joined domain DOMINIO”

configurar /etc/nsswitch.conf

passwd: files winbind
shadow: files winbind
group: files winbind

 

service winbind restart

wbinfo -u  (nos debe de mostrar el listado de usuarios)

wbinfo -g (lista los grupos)

 

Para agregar los usuarios y grupos del AD 

getent passwd

getent group

 

Saludos!

Dejá un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *