Controlador de Dominio de Active Directory mediante Samba4
Instalaremos un sistema Debian Jessie que actuará como controlador de dominio para o dominio asir.iesrodeira.com, e uniremos ao dominio ordenadores Windows e Linux, de xeito que os usuarios do dominio podan iniciar sesión en calqueira ordenador da rede.
A administración do DC se poderá realizar mediante as ferramentas administrativas Windows, que serán instaladas nun Windows 7/8.1/2008/2012.
SAMBA 4
Permíte entre outras cousas implementar un Controlador de Dominio de Active Directory nunha máquina con Sistema Operativo GNU/Linux. O Controlador de Dominio (PDC) engloba as seguintes funcións:
- Servidor de Autentificación (KDC Kerberos Domain Controler): Autentifica os inicios de sesión dos usuarios.
- LDAP: Emprega LDAP para consultar a información almacenada no catálogo do Directorio Activo.
- Servidor DNS: Para localizar os equipos na rede e os obxectos no Dominio
Situación Inicial
Partimos dunha máquina virtual con Debian Jessie. A súa IP será 172.20.0.5 e o nome do equipo será radagast
root@radagast:~# more /etc/hosts
127.0.0.1 localhost
127.0.1.1 radagast.IESRODEIRA.COM radagast
root@radagast:~# more /etc/hostname
radagast
root@radagast:~# more /etc/resolv.conf
domain iesrodeira.com
search iesrodeira.com
nameserver 172.20.0.5 # Ten que ter a si mesmo como servidor DNS
nameserver 8.8.8.8
Instalación do Active Directory Domain Controller
O DC se utilizará principalmente para a autenticación de usuarios e para dar acceso a carpetas compartidas con información de interese para o conxunto do alumnado. Os ficheiros personais dos alumnos estarán situados nas máquinas cliente, e os perfís móbiles desactivados. O host no que instalaremos o controlador de dominio será radagast.iesrodeira.com con IP 172.20.0.5. A información relevante é a seguinte:
Realm (Dominio Kerberos): ASIR.IESRODEIRA.COM
Domain:ASIR
Server Role:dc
DNS Backend:Internal
DNS Forwarder:172.20.2.1
Instalación do DC
- En primeiro lugar necesitamos que a rede esté sincronizada. Utilizaremos servidores de tempo da rede local mediante NTP:
apt-get install ntp
vim /etc/ntp.conf
Engadimos a ntp.conf as seguintes lineas:
server gandalf.iesrodeira.com iburst
server earendil.iesrodeirra.com iburst
server hora.roa.es iburst
Comprobaremos a sincronización con ntpq -p
- Instalamos de Samba e smbclient
apt-get install samba smbclient ldb-tools
- Creamos o controlador de dominio
samba-tool domain provision --use-rfc2307 --interactive --use-xattrs=yes
Aqui especificamos o Realm, Dominio, Server Role, Tipo de DNS e o Forwarder. O noso dominio será ASIR, e será un subdominio de IESRODEIRA.COM, sendo o Realm ASIR.IESRODEIRA.COM. O nome do Host será radagast.iesrodeira.com, e o DNS Forwarder 172.20.2.1 ou proxy.iesrodeira.com.
Realm [IESRODEIRA.COM]: ASIR.IESRODEIRA.COM
Domain [ASIR]: enter
Server Role (dc, member, standalone) [dc]: enter
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: enter
DNS forwarder IP address (write 'none' to disable forwarding) [172.20.2.1]: 172.20.2.1
Se creará automáticamente un usuario Administrator que será administrador do dominio. Reiniciamos samba e comprobamos o seu funcionamento:
/etc/init.d/samba restart
smbclient -L localhost -U%
smbclient //localhost/netlogon -UAdministrator -c 'ls'
#Comprobamos o funcionamento do servidor DNS integrado no SAMBA4
host -t SRV _ldap._tcp.asir.iesrodeira.com.
host -t SRV _kerberos._udp.asir.iesrodeira.com.
host -t A radagast.asir.iesrodeira.com.
- OPCIONAL: Comprobamos o funcionamento e as credenciais Kerberos:
apt-get install krb5-user
mv /etc/krb5.conf /etc/krb5.conf.orixinal
cp /var/lib/samba/private/krb5.conf /etc
kinit Administrador #Solicitamos un ticket para o usuario administrador
klist #Comprobamos que o ticket existe
kdestroy
Si queremos resolver os nomes do AD en esta máquina (por exemplo, para poñer cuotas de disco), instalamos libnss-winbind e dexamos así /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat winbind
group: compat winbind
shadow: compat
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Podemos comprobar o funcionamento con getent passwd e getent group.
Os shares se configuran en /etc/samba/smb.conf que quedaría así:
[global]
workgroup = ASIR
realm = ASIR.IESRODEIRA.COM
netbios name = RADAGAST
server role = active directory domain controller
dns forwarder = 172.20.2.1
#allow dns updates = signed
idmap_ldb:use rfc2307 = yes
[netlogon]
path = /var/lib/samba/sysvol/asir.iesrodeira.com/scripts
read only = No
# Compartidos por NFS
# earendil:/isos
[Software]
path = /SAMBA/software/otros
comment = "Software Gratuito e Drivers"
read only = No
[MSDN]
path = /SAMBA/software/msdn
comment = "Software de Microsoft MSDN"
read only = No
#disk01 en earendil: Disks/Storage, NO RAID
[Buzon]
path = /SAMBA/buzon/info
comment = "Buzon Alumnado"
read only = No
[Xefatura]
path = /SAMBA/xefatura/info
comment = "Xefatura de Departamento"
read only = No
#disk02 en earendil: System/Storage, RAID
[Datos]
path = /SAMBA/datos/homes
comment = "Datos do Usuario"
read only = No
[Maquinas Virtuais]
path = /SAMBA/vms/info
comment = "Maquinas Virtuais"
read only = No
[sysvol]
path = /var/lib/samba/sysvol
read only = No
Unha vez creados os shares en smb.conf podemos activar a configuración co comando smbcontrol all reload-config.
Os directorios compartidos, se montan por NFS de outros servidores en algúns casos, e de outro disco en outros. No directorio no que se almacenará a información dos usuarios, gustaríanos poder restrinxir as cuotas de uso, polo que faremos uso das cuotas nativas ext4 instalando o paquete quota
apt-get install quota
O fstab será o seguinte:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/DC_ROOT-Root / ext4 user_xattr,acl,errors=remount-ro 0 1
/dev/mapper/DC_ROOT-Homes /home ext4 defaults 0 2
/dev/mapper/DC_ROOT-swap none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/mapper/ERaid-Datos /SAMBA/datos ext4 user_xattr,acl,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2
/dev/mapper/Stripped-Buzon /SAMBA/buzon ext4 user_xattr,acl,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2
/dev/mapper/Stripped-MaqViruais /SAMBA/vms ext4 user_xattr,acl 0 2
/dev/mapper/Stripped-Xefatura /SAMBA/xefatura ext4 user_xattr,acl 0 2
nfs:/templates /SAMBA/vms/info/KVM nfs4 ro 0 0
earendil:/isos/software /SAMBA/software/otros nfs4 ro 0 0
earendil:/isos/msdn /SAMBA/software/msdn/isos nfs4 ro 0 0
Unha vez montados todos os shares, configuraremos as quotas:
quotacheck -gcu /SAMBA/datos
quotacheck -gcu /SAMBA/buzon
quotacheck -vguma
quotaon -av
Xa podemos editar e poñer as cuotas cos comandos setquota ou edquota. Podemos tamén obter información das cuotas con repquota. Si queremos poñer a moitos usuarios a mesma cuota podemos facelo do seguinte xeito:
#Supoñemos que ''quotauser'' ten postas as cuotas. Pon cuotas aos usuarios con PID > 999
edquota -p quotauser `awk -F: '$3 > 999 {print $1}' /etc/passwd`
Instalación dun Cliente Windows 8.1
Nos clientes Windows, bastará engadir con normalidade o equipo ao dominio ASIR.
O cliente Windows terá que ter como servidor de DNS a IP do Servidor de dominio (172.20.0.5). Unha vez feito esto será un membro do dominio do xeito habitual.
Farémolo empregando o único usuario dispoñible agora mesmo administrator con contrasinal abc123.
Engadimos un equipo chamado Windows7 con IP 172.20.2.100
Comprobamos que o equipo se engadiu correctamente
- Comprobamos que o servidor DNS actualizouse co novo equipo
nslookup windows7.asir.iesrodeira.com
Server: 172.20.0.5
Address: 172.20.0.5#53
Name: windows7.asir.iesrodeira.com
Address: 172.20.4.100
- Comprobamos que o equipo aparece na base de datos do Dominio
pdbedit -L
RADAGAST$:3000024:
Administrator:0:
WINDOWS7$:3000023:
krbtgt:3000017:
nobody:65534:nobody
Ferramentas de Administración do Dominio
Para administrar o servidor samba podemos facer uso das ferramentas de administración remota de Windows (RSAT - Remote Server Administration Tools). Estas ferramentas se poden descargar nos seguinte sitios:
Unha vez instaladas temos que activalas en Panel de Control->Programas->Programas e Características->Activar e Desactivar as Características de Windows->Ferramentas de Administración Remota do Servidor
Selecciona polo menos as seguintes caraterísticas
Por defecto, Windows non amosa o menú 'Ferramentas administrativas no menú inicio, para engadilo manualmente segue estes pasos:
Agora podemos xestionar o noso dominio creado con Samba4 dende as ferramentas de administración remota de Windows. Podemos empregar entre outras
- DNS: Permitirános xestionar o servidor DNS do noso servidor
- Usuarios e equipos de active directory: Permitiranos crear usuarios e Unidades organizativas
Xestionando os permisos dos recursos compartidos no Servidor
Podemos empregar as ferramentas de Windows para xestionar os seus permisos. Para comprobar as carpetas compartidas no noso servidor simplemente escribimos \\radagast no explorador de arquivos
Automatizando a creación dos recursos compartidos no Servidor
Supoñamos que inicialmente só temos unha carpeta compartida no noso servidor. O seu código /etc/samba/smb.conf sería.
#As miñas carpetas compartidas
[Software]
path = /SAMBA/software
comment = "Software Gratuito e Drivers"
read only = No
Podemos facer unha serie de scripts que nos faciliten a creación de novos recursos compartidos
- 00-variables.sh: Define variables que se empregarán nos outros scripts
# Variables para os scripts
# Para empregalo source 00-variables.sh
# Non necesita permiso de execución, source engade ó código
export SAMBACONF=/etc/samba/smb.conf
export DISCO1=/SAMBA #Disco onde se almacenan os recursos compartidos
- 01-creaunshare.sh: Crea un recurso compartido. Pasámoslle tres parámetros Nome Recurso compartido, Comentario, Carpeta
#!/bin/bash
source 00-variables.sh
if grep "\[$1\]" $SAMBACONF
then
echo "[$1] xa existe..."
else
echo "[$1]" >> $SAMBACONF
echo comment = $2 >> $SAMBACONF
echo path = $3 >> $SAMBACONF
echo read only = No >> $SAMBACONF
echo >> $SAMBACONF
fi
- 02-creashares.sh: Crea varios recursos compartidos empregando os outros scripts
#!/bin/bash
source 00-variables.sh
#Copia de seguridade do arquivo de configuración actual
copia=$(date +%Y%m%d%H%M%S)
cp $SAMBACONF $SAMBACONF.copia-$copia
#Creamos datos usuarios
mkdir $DISCO1/datos
./01-creaunshare.sh Datos "Datos dos alumnos" $DISCO1/datos
#buzón do alumnado
mkdir $DISCO1/buzonAlumnado
./01-creaunshare.sh "Buzon Alumnado" "Buzón do alumnado" $DISCO1/buzonAlumnado
# Actualizamos a configuración do servidor samba
smbcontrol all reload-config
Empregando BATS para crear a organización do noso Dominio
Podemos empregar .bat para crear dende o noso windows engadido o Dominio tanto unidades organizativas como usuarios, grupos..
O noso Dominio almacenará os usuarios do Ciclo de Informática do IES de Rodeira. Temos un só ciclo que se imparte tanto en Diurno como Nocturno.
Creando as Unidades Organizativas
- 00-Variables.bat: Define variables que se empregarán nos outros scripts
@echo off
set SERVER=radagast
set DOMINIO=dc=asir,dc=iesrodeira,dc=com
set CURSO=Curso 2013-2014
- 01-CrearOU.bat: Crea as unidades organizativas
@echo off
call 00-Variables.bat
dsadd ou "ou=ASIR,%DOMINIO%"
dsadd ou "ou=Administradores,ou=ASIR,%DOMINIO%"
dsadd ou "ou=Alumnos,ou=ASIR,%DOMINIO%"
dsadd ou "ou=Equipos,ou=ASIR,%DOMINIO%"
dsadd ou "ou=Profesores,ou=ASIR,%DOMINIO%"
REM Creo OU dentro de alumnos
dsadd ou "ou=Rexime Adultos,ou=Alumnos,ou=ASIR,%DOMINIO%"
dsadd ou "ou=%CURSO%,ou=Rexime Adultos,ou=Alumnos,ou=ASIR,%DOMINIO%"
dsadd ou "ou=Rexime Diurno,ou=Alumnos,ou=ASIR,%DOMINIO%"
dsadd ou "ou=%CURSO%,ou=Rexime Diurno,ou=Alumnos,ou=ASIR,%DOMINIO%"
REM Creo OU dentro de Equipos
dsadd ou "ou=Departamento,ou=Equipos,ou=ASIR,%DOMINIO%"
dsadd ou "ou=Aula3,ou=Equipos,ou=ASIR,%DOMINIO%"
dsadd ou "ou=Aula4,ou=Equipos,ou=ASIR,%DOMINIO%"
Creando os Grupos de Usuarios
Creamos os diferentes grupos de usuarios, cada un dentro da súa correspondente Unidade Organizativa. Ademáis haberá grupos que pertenzan a outros subgrupos, por exemplo, S-alumnosASIDiurno é membro de S-alumnosASI.
- 02-CrearGrupos.bat: Crea os grupos do noso Directorio Activo
@echo off
call 00-Variables.bat
rem Administradores ASI
dsadd group "cn=S-admASI,ou=ASIR,%DOMINIO%"
rem Alumnos ASI
dsadd group "cn=S-alumnosASI,ou=Alumnos,ou=ASIR,%DOMINIO%"
dsadd group "cn=S-alumnosASIAdultos,ou=Rexime Adultos,ou=Alumnos,ou=ASIR,%DOMINIO%" -memberOf "cn=S-alumnosASI,ou=Alumnos,ou=ASIR,%DOMINIO%"
dsadd group "cn=S-alumnosASIDiurno,ou=Rexime Diurno,ou=Alumnos,ou=ASIR,%DOMINIO%" -memberOf "cn=S-alumnosASI,ou=Alumnos,ou=ASIR,%DOMINIO%"
rem Profesores
dsadd group "cn=S-profesoresASI,ou=Profesores,ou=ASIR,%DOMINIO%"
Podemos comprobar que se crean na súa correspondente OU dende Usuarios e Equipos de AD de Windows.
Podemos comprobar dende o Servidor radagast que os grupos foron creados con
getent group
ASIR\S-admASI:*:3000025:
ASIR\S-alumnosASI:*:3000026:
ASIR\S-alumnosASIAdultos:*:3000027:
ASIR\S-alumnosASIDiurno:*:3000028:
ASIR\S-profesoresASI:*:3000029:
Creando un Usuario
É interesante ter un bat para automatizar a creación dos alumnos, xa que serán moitos e variarán cada curso. Os profesores poden crearse manualmente xa que son poucos, senón podería facerse un .bat semellante a este.
- 03-CrearAlumno.bat: Crea un alumno coa contrasinal por defecto (abc123.) a partir dos seguintes parámetros, tamén crea a súa carpeta de rede
- $1=xiana (SAMID)
- $2= Martínez (ln)
- $3= Pérez
- $4 = Xiana (fn)
- $5 = (d|a) quenda (diurno|adultos)
Exemplo de emprego
03-CrearAlumno.bat xiana Martínez Pérez Xiana d
@echo off
call 00-Variables.bat
rem para corregir problema de acentos
mode con cp select=1250 > nul
rem Creo carpeta de usuario
mkdir \\%SERVER%\Datos\%1
rem Axusto permisos1
rem Desactivo herdanza
icacls \\%SERVER%\Datos\%1 /inheritance:r
rem Creo usuario
if /i "%5"=="d" (
set grupo=S-alumnosASIDiurno
set contedor=Rexime Diurno
) else (
set grupo=S-alumnosASIAdultos
set contedor=Rexime Adultos
)
dsadd user "cn=%4 %2 %3,ou=%CURSO%,ou=%CONTEDOR%,ou=Alumnos,ou=ASIR,%DOMINIO%" ^
-samid %1 ^
-fn %4 ^
-ln %2 ^
-display "%4 %2 %3" ^
-pwd abc123. ^
-memberof "cn=%grupo%,ou=%CONTEDOR%,ou=Alumnos,ou=ASIR,%DOMINIO%" ^
-hmdir \\%SERVER%\Datos\%1 ^
-hmdrv Z: ^
-canchpwd yes ^
-pwdneverexpires yes ^
-disabled no
rem Axusto permisos2
icacls \\%SERVER%\Datos\%1 /grant "Domain Admins":(OI)(CI)F
icacls \\%SERVER%\Datos\%1 /grant "%1":(OI)(CI)F rem CT para o usuario
rem Restauro os conxunto de caracteres por defecto da consola
mode con cp select=850 >nul
Comprobamos como o usuario foi creado correctamente
Agora Xiana xa pode iniciar sesión. Vemos como se automonta a súa carpeta de rede e comproba que ten os permisos axeitados e pode escribir nela
Tamén podemos comprobar a información do usuario creado dende o Servidor Samba. Isto é responsabilidade de Winbind, é o encargado de resolver a información dos usuarios do Active Directory.
getent passwd | grep xiana
ASIR\xiana:*:3000033:100:Xiana Martínez Pérez:/home/ASIR/xiana:/bin/false
Comprobamos que o usuario existe e o seu UID no servidor Debian será 3000033, pero dende unha máquina Windows empregará outro identificador o SID. Winbind proporciónanos o comando wbinfo para obter os SID dun usuario a partir do seu UID e viceversa
wbinfo --uid-to-sid=3000033
S-1-5-21-4115708957-2851539935-2112738394-1121
wbinfo --sid-to-name=S-1-5-21-4115708957-2851539935-2112738394-1121
ASIR\xiana 1
Creando varios Usuarios
Crearemos un novo bat que lea os datos dos novos usuarios dun arquivo .csv e os cree empregando o .bat do apartado anterior
Especificaremos os datos dos alumnos nun arquivo chamado alumnos.csv co seguinte formato: Login, Apelido1, Apelido2, Nome, Quenda
pgarcia,García,Sanchez,Pablo,d
amartinez,Martínez,Pérez,Ana,d
ublanco,Blanco,Pérez,Uxía,a
- 04-CrearAlumnos.bat: Emprega 03-CrearAlumno.bat e alumnos.csv para a creación masiva de alumnos
@echo off
rem para corregir problema de acentos
mode con cp select=1250 > nul
For /f "tokens=1,2,3,4,5 delims=, " %%i in (alumnos.csv) do (
call 03-CrearAlumno.bat %%i %%j %%k %%l %%m
)
mode con cp select=850 >nul
Instalación dun Cliente Debian Jessie
Uniremos o equipo adclient.iesrodeira.com ao dominio, e iniciaremos sesións cos usuarios dados de alta no mesmo.
En primeiro lugar, debemos asegurarnos que o noso /etc/hosts, e o hostname conteñen as entradas correctas. No noso caso:
/etc/hostname
adclient.iesrodeira.com
/etc/hosts
127.0.0.1 localhost
127.0.1.1 adclient.local
172.20.33.33 adclient.asir.iesrodeira.com adclient
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/etc/resolv.conf
domain iesrodeira.com
#radagast.iesrodeira.com
nameserver 172.20.0.7
Para engadir o noso equipo o dominio faremos o seguinte:
Para máis información Autenticación Linux cun Controlador de Dominio Windows
Procederemos á instalación de krb5-user e samba....
#Realm: ASIR.IESRODEIRA.COM, kdc: radagast.asir.iesrodeira.com, administrative server: radagast.asir.iesrodeira.com
apt-get install krb5-user samba
Precisaremos tamén crear un arquivo smb.conf co seguinte contido:
[global]
netbios name=adclient
security = ads
realm = asir.iesrodeira.com
password server = radagast.asir.iesrodeira.com
workgroup = ASIR
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
domain master = no
local master = no
preferred master = no
os level = 0
idmap config ASIR:backend = ad
idmap config ASIR:schema_mode = rfc2307
idmap config *:backend = tdb
#idmap config *:range = 3000000 - 400000 Non funcionou
idmap config *:range = 10000 - 20000 #rangos de UID de usuarios do AD que resolverá
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
winbind trusted domains only = no
Unimos o equipo ao dominio e comprobamos:
net ads join -U Administrator -k
Enter Administrator's password:
Using short domain name -- ASIR
Joined 'ADCLIENT' to dns domain 'asir.iesrodeira.com'
#Comprobamos
net ads testjoin
Join is OK
#Comprobamos o DNS
host -t A adclient.iesrodeira.com.
adclient.asir.iesrodeira.com has address 172.20.33.33
Configuramos a autenticación:
apt-get install acl winbind libnss-winbind libpam-winbind
#Autenticación. Engadimos winbind a group e passwd en nsswitch.conf
vim /etc/nsswitch.conf
/etc/init.d/winbind stop
/etc/init.d/samba restart
/etc/init.d/winbind start
#Comprobamos
wbinfo -u
wbinfo -g
getent passwd
getent groups
Podemos consultar información dos usuarios do dominio
finger xiana
Login: ASIR\xiana Name: Xiana Martínez Pérez
Directory: /home/ASIR/xiana Shell: /bin/bash
Never logged in.
No mail.
No Plan.
E importante a sincronización con NTP. Podemos sincronizalo cos servidores de sincronización da rede gandalf.iesrodeira.com e earendil.iesrodeira.com, ou convertir o controlador de dominio en un servidor NTP e sincronizalo con él.
Para poder iniciar sesión no equipo cun usuario do dominio
Configuraremos pam_mkhomedir, para que se non existe cree o $HOME dese usuario na máquina o loguearnos. Para elo engadimos a última liña o ficheiro /etc/pam.d/common-auth.
Quedaría
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 #Se non poñemos esta liña asinarálle como $HOME o directorio raíz
Na ventá de login iniciaremos sesión como ASIR\xiana Tamén podemos iniciar sesión por ssh con
ssh ASIR\\xiana@172.20.33.33
Nota: Se empregamos o nome dun usuario na liña de comandos temos que empregar dobre \ como separador do nome do dominio
Poderíamos probar máis cousas coas librerías pam:
- pam_mount: Permitiríanos montar unha carpeta do servidor o facer login
- pam_exec: Permitiríanos executar un script o loguearnos.
Empregando Cuotas de Disco
Queremos limitar o espazo que poden empregar os usuarios nas particións de datos. Queremos asignar cuotas diferentes os Alumnos e os Profesores.
- Alumnos: 500 MiB
- Profesores:2 GiB
Supoñamos que queremos poñer unha cuota a Xiana, agora mesmo cando comprobamos o espazo en disco obtemos
Para establecerlle unha cuota deberíamos empregar o comando
edquota -u UID
O problema está en que nos manexamos o nome do usuario do AD (ASIR\xiana). Para obter o seu UID podemos empregar wbinfo
wbinfo -i xiana
ASIR\xiana:*:3000033:100:Xiana Martínez Pérez:/home/ASIR/xiana:/bin/false
O UID de xiana é 3000033. Para illalo
wbinfo -i xiana|cut -d':' -f 3
3000033
Ou sexa que para editar a súa cuota sería
edquota -u `wbinfo -i xiana|cut -d':' -f 3`
Agora xiana xa só ten 500 MiB dispoñibles na unidade