INSTALAR SAMBA - PDC - CUOTAS

En esta guia, voy a las los pasos correspondientes para montar en samba
un PDC, Controlador Primario de Dominio... ademas usaremos cuotas de disco
y aplicaremos directivas de seguridad como mismo haciamos en windows...

Para empezar como siempre se hace en Debian


aptitude install samba samba-doc sudo quota quotatool

Agregamos usrquota,grpquota en /etc/ftab al disco que deseamos
utilizar para las cuotas
ej:

/dev/sda6 /home ext3 nodev,nosuid,noexec,usrquota 0

Creamos los grupos de sistema en /etc/group

addgroup winadmin
addgroup winusers
addgroup winguests
addgroup winsystem
addgroup winwork

Seguidamente nos queda generar los grupos de dominio

net groupmap add ntgroup="Domain Admins" unixgroup=winadmin rid=512 type=d
net groupmap add ntgroup="Domain Users" unixgroup=winusers rid=513 type=d
net groupmap add ntgroup="Domain Guests" unixgroup=winguests rid=514 type=d
net groupmap add ntgroup="Domain Computers" unixgroup=winsystem rid=515 type=d
net groupmap add ntgroup="Domain Work" unixgroup=winwork type=d

Editamos el archivo samba.conf

# AdminPDC-SMB-SKY ###
#######################
# Definiciones globales
[global]
# Identificacion del equipo
netbios name = SERVER
workgroup = DOMINIO
server string = Samba PDC Version %v

# Definicion de dominio
os level = 64
domain master = Yes
local master = Yes
preferred master = Yes
domain logons = Yes
wins support = no
dns proxy = no

# Gestion de inicio de sesion
logon script = scripts\default.bat OR %U.bat OR %G.bat
logon path = \\%N\profiles\%U
logon home = \\%N\%U
#logon path = \\%L\profiles\%U
#logon home = \\%L\%U
#logon home = \\%L\%U\.profile
logon drive = z:

# Caracteristicas de claves
security = User
encrypt passwords = true
null passwords = no

# Gestion de claves
obey pam restrictions = Yes
unix password sync = yes
passdb backend = tdbsam
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .

# Scripts de gestion de usuarios y equipos
add user script = /usr/sbin/useradd -m %u
delete user script = /usr/sbin/userdel -r %u
add group script = /usr/sbin/groupadd %g
delete group script = /usr/sbin/groupdel %g
add user to group script = /usr/sbin/groupmod -A %u %g
delete user from group script = /usr/sbin/groupmod -R %u %g
add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody %u

# IDs de usuarios y equipos
idmap uid = 15000-20000
idmap gid = 15000-20000

# Registro de sucesos
log level = 2
log file = /var/log/samba/log.%m
max log size = 50

# Caracteristicas extra
time server = Yes
hide dot files = Yes
hide unreadable = yes
unix charset = ISO8859-15
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192

# Recurso de directorios personales
[homes]
comment = Directorio personal
path = /home/samba/personal/%S
valid users = %S
read only = No
browseable = No

# Recurso de perfiles en red
[profiles]
comment = Users profiles
path = /home/samba/personal/netlogon/profiles
read only = No
browseable = No
hide files = /desktop.ini/ntuser.ini/NTUSER.*/

# Recurso de inicio en red
[netlogon]
comment = Network Logon Service
path = /home/samba/personal/netlogon
read only = Yes
guest ok = Yes
browseable = No
write list = @winadmin
delete readonly = yes
force create mode = 0777
force directory mode = 0777

# Otros Recursos necesarios
[publico]
comment = Directorio publico
path = /home/samba/publico
read only = Yes
guest ok = Yes
browseable = No
write list = @winadmin,@winwork
delete readonly = yes
force create mode = 0777
force directory mode = 0777

Añadimos root al samba y le asignamos la contraseña...

smbpasswd -a root

Reiniciamos el samba

invoke-rc.d samba restart

Garantizamos permisos a "Domain Admins" uno a uno:

net rpc rights grant 'DOMAIN\Domain Admins' SeMachineAccountPrivilege -S server -U root
net rpc rights grant 'DOMAIN\Domain Admins' SePrintOperatorPrivilege -S server -U root
net rpc rights grant 'DOMAIN\Domain Admins' SeAddUsersPrivilege -S server -U root
net rpc rights grant 'DOMAIN\Domain Admins' SeRemoteShutdownPrivilege -S server -U root
net rpc rights grant 'DOMAIN\Domain Admins' SeDiskOperatorPrivilege -S server -U root
net rpc rights grant 'DOMAIN\Domain Admins' SeTakeOwnershipPrivilege -S server -U root

Creamos las carpetas de trabajo

mkdir /home/samba/personal
mkdir /home/samba/personal/netlogon
mkdir /home/samba/personal/netlogon/profiles
mkdir /home/samba/personal/netlogon/scripts
mkdir /home/samba/publico

Dentro de /home/samba/personal/netlogon/scripts, creamos un archivo

touch default.bat
REM windows client logon script
REM
net time \\server /SET /YES
net use z: \\server\homes /PERSISTENT:NO
net use x: \\server\publico
exit

Copiamos el archivo editado por el poedit.exe en

/home/samba/personal/netlogon/ntconfig.pol

Administramos los usuarios por el siguiente script...

#!/bin/sh
case $2 in

-adduser)
#------------------------------------
if [ `grep ^$1: /etc/passwd` ]; then
echo "El usuario YA existe"
exit
else

sudo /usr/sbin/groupadd $1
sudo /usr/sbin/useradd -g $1 -c $1 -d /dev/null -s /bin/false $1
sudo /bin/mkdir /home/samba/personal/$1
sudo /bin/mkdir /home/samba/personal/netlogon/profiles/$1
sudo /bin/chown -R $1:$1 /home/samba/personal/$1
sudo /bin/chown -R $1:$1 /home/samba/personal/netlogon/profiles/$1
sudo /bin/chmod -R 700 /home/samba/personal/$1
sudo /bin/chmod -R 700 /home/samba/personal/netlogon/profiles/$1
sudo /usr/bin/smbpasswd -a $1
sudo /usr/sbin/usermod -a -G $1 $1
sudo /usr/sbin/usermod -G $1,winusers $1
sudo /usr/sbin/setquota -u $1 100000 100000 0 0 -a
echo Usuario $1 Agregado

fi
;;
#-------------------------------------------------------------

-deluser)
#------------------------------------
if ! [ `grep ^$1: /etc/passwd` ]; then
echo "El usuario NO existe"
exit
else

sudo /bin/chown -R root:root /home/samba/personal/$1
sudo /bin/chown -R root:root /home/samba/personal/netlogon/profiles/$1
sudo /bin/rm -rf /home/samba/personal/$1
sudo /bin/rm -rf /home/samba/personal/netlogon/profiles/$1
sudo /usr/sbin/setquota -u $1 0 0 0 0 -a
sudo /usr/bin/smbpasswd -x $1
sudo /usr/sbin/userdel $1
sudo /usr/sbin/groupdel $1
echo Usuario $1 borrado

fi
;;
#-------------------------------------------------------------

*)
#-----------------------------------
echo ====== AdminPDC-SMB-SKY =======
echo .
echo Uso: s_adminPDC usuario [-opcion]
echo Ej: s_adminPDC srbrocard -adduser
echo .
echo ===============================
;;
#-------------------------------------------------------------
esac
exit

Agregamos las maquinas al dominio y listo...

Suerte...

Comentarios

Este pedazo de código puede

Imagen de deathUser

Este pedazo de código puede dar falsos positivos:


if [ `grep $1 /etc/passwd` ];
then
/bin/echo "El usuario ya existe"
/bin/echo =============================================
exit 1
fi

Es decir si busco el usuario "death" y ya tengo creado el usuario "deathUser", tu script reportará que el usuario death ya existe.

Reemplaza con:


if [ `grep ^$1: /etc/passwd` ];
then
/bin/echo "El usuario ya existe"
/bin/echo =============================================
exit 1
fi

bye
:)

Re:

Gracias hermano, ya lo arregle...
Pues le confesare que me ha gustado estar en este foro
y como mismo he ayudado a muchos tambien he aprendido
bastante, si el colectivo me deja y pertenecer como miembro
de esta web, con toda dispocicion apoyare...

Salud2s
______________________
!!!AdminRed_Debian!!!

ecualug
______________________
!!!AdminRed_Debian!!!

Te faltaron los ":"

Imagen de deathUser

Te faltaron los ":" ...

Remplaza:

^$1

por

^$1:

Sin los ":" sigue haciendo match death con deathUser, pero ya no death con adeath :D

Ese es el fin de Ecualug, colaborar con la comunidad para hacerla cada día más grande.
Gracias por tus aportes ...

bye
:)

Perfiles

Hola, antes que nada ¡¡buena guia!!

Bueno, queria recalcar que en el caso de que quiera ingresar en el dominio maquinas con WinXP el uso de poedit.exe queda desfasado y pasa a llamarse gpedit.msc

Mi duda es la siguiente:

Estoy intentando utilizar una politica de grupo que contenga una plantilla GENERAL para todos los usuarios que ingresen en el dominio.

Es decir, un perfil GENERICO que por ejemplo restrinja el acceso al panel de control, a no instalar programas, a no cambiar el fondo de pantalla, etc.

He probado a poner el fichero ntconfig.pol en el directorio netlogon pero al ingresar un usuario con WinXP en el dominio, este no lee el fichero ntconfig.pol

Como no me leia el fichero ntconfig.pol pensé en poner un fichero .bat en la carpeta de scripts que lanzara las politicas de grupo, (pero no se como seria en este caso).

La otra cosa que estube probando fue, crear un usuario local en un WinXP y crear las directivas con gpedit.msc, después copiar ese perfil en la ruta de profiles de nuestro PDC.

De que forma se podría hacer ?

Saludos a todos.

Decirte amigo que si realizas

Decirte amigo que si realizas los pasos correctamente todo saldra bien... eso de que no lee el ntconfig.pol, revisa los permisos y que este correctamente configurado....

No tengo nada mas que decirte porque nunca me ha fallado..

Saluds...

ecualug
______________________
!!!AdminRed_Debian!!!

Prueba

Solo basta con probar, en caso de algun fallo, solo postea aca y buscaremos el modo de ayudarte...

ecualug
______________________
!!!AdminRed_Debian!!!

Debería funcionar sin

Imagen de deathUser

Debería funcionar sin problemas, quizás lo único que cambia es la sentencia para instalar los paquetes:

aptitude install samba samba-doc sudo quota quotatool

por

yum install samba samba-doc sudo quota quotatool

bye
;)

Una cosa mas!

Estoy probando el tutorial, solo que me pierdo donde dice

Copiamos el archivo editado por el poedit.exe en

/home/samba/personal/netlogon/ntconfig.pol

No entiendo esa parte, yo no he usado poedit.exe

Frodelo1

Páginas