Professional Documents
Culture Documents
Vamos a desarrollar un supuesto que sirva tanto como base del aprendizaje de
configuración de distintos servicios como de forma práctica para poderlo utilizar en la
realidad.
La mayoría de las acciones que vamos a realizar requieren acceso como root al
sistema.
Qué necesitamos
Configuración de red
Descripción de la red
Suponemos que nuestra red principal, la que queremos configurar, en principio no va
a tener más de 250 equipos, por lo que escogemos una dirección IP de red del
rango privado 192.168.1.0 con máscara 255.255.255.0 y dirección de difusión
192.168.1.255. La pasarela predeterminada será 192.168.1.254
Además, tenemos otra red inalambrica separada con dirección 192.168.2.0 y la
dirección IP en el interfaz que nos une a esa red es 192.168.2.1 y a la que
tendremos que acceder.
Existe una tercera red con dirección 192.168.100.0 a la cual podremos accedes a
través de la pasarela 192.168.2.254, es decir a través de la red inalámbrica.
Asignación de direcciones
Suponemos que el servidor se une a la red local mediante una tarjeta ethernet
(eth0). Los parámetros que deberemos de asignar serán :
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=192.168.1.1
IPXPRIMARY_802_2="no"
IPXACTIVE_802_2="no"
IPXPRIMARY_802_3="no"
IPXACTIVE_802_3="no"
IPXPRIMARY_ETHERII="no"
IPXACTIVE_ETHERII="no"
IPXPRIMARY_SNAP="no"
IPXACTIVE_SNAP="no"
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
PEERDNS=no
TYPE=Ethernet
DEVICE=wlan0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=192.168.2.1
IPXPRIMARY_802_2="no"
IPXACTIVE_802_2="no"
IPXPRIMARY_802_3="no"
IPXACTIVE_802_3="no"
IPXPRIMARY_ETHERII="no"
IPXACTIVE_ETHERII="no"
IPXPRIMARY_SNAP="no"
IPXACTIVE_SNAP="no"
BROADCAST=192.168.2.255
NETWORK=192.168.2.0
PEERDNS=no
TYPE=Wireless
DOMAIN=
ESSID=centro_ies
CHANNEL=1
MODE=Managed
RATE=11Mb/s
Para el caso de las redes inalámbricas también tenemos otro fichero adicional en la
misma ubicación llamado keys-wlan0 donde podremos introducir la clave WEP, por
ejemplo: KEY=8899AABBFF
Evidentemente, todo lo dicho para eth0 y wlan0 sería igualmente válido para
cualquier otra interfaz de red que estuviéramos configurando, por ejemplo eth1,
wlan1,...
Si ejecutamos:
Producirá los mismos efectos pero de forma transitoria, hasta que reinicien los
servicios de red, en cuyo caso se toman los parámetros de los ficheros anteriores.
NETWORKING=yes
# FORWARD_IPV4 removed; see /etc/sysctl.conf
HOSTNAME=ns1.centro.ies
DOMAINNAME=centro.ies
GATEWAY="192.168.1.254"
GATEWAYDEV="eth0"
IPX="no"
IPXINTERNALNETNUM="0"
IPXINTERNALNODENUM="0"
IPXAUTOPRIMARY="off"
IPXAUTOFRAME="off"
FORWARD_IPV4="yes"
Rutas estáticas
/etc/sysconfig/network-scripts/route-wlan0
y el contenido:
interfaz.route
Donde interfaz podrá ser eth0, eth1.route, wlan0, ... Evidentemente podremos tener
un fichero por interfaz.
Si, por ejemplo, la maquina 192.168.0.253 fuese una pasarela para acceder a la red
192.168.100.0 accesible desde el interfaz "wireless" wlan0 tendríamos
/etc/sysconfig/networking/devices/wlan0.route:
ADDRESS0 = 192.168.100.0
NETMASK0 = 255.255.255.0
GATEWAY0 = 192.168.2.254
En este fichero se define una ruta por linea, y en cada línea indicamos:
• Interfaz a la que se asocia la ruta
• Tipo de ruta, de red (net), o de maquina (host)...
• IP de red de la ruta (la red o el host al que queremos tener acceso)
• Máscara de la red destino, precedida de la palabra "netmask"
• IP de la pasarela precedida de la palabra "gw" .
Configuración DNS
Ahora configuramos el servidor DNS del servidor linux, que hemos llamado
ns1.centro.ies y queremos que sea él mismo su servidor DNS. La configuración del
servidor DNS en una máquina Linux se hace en el fichero /etc/resolv.conf que
deberá tener un contenido similar al siguiente:
nameserver 127.0.0.1
Claro está que para que este linux sea su propio servidor DNS tendremos que
configurar el servicio DNS.
caching-nameserver-x.y.z
bind-utils-xx.xx-x
bind-xx.xx-x
Montamos el cd con la distribución en /mnt/cdrom:
mount /mnt/cdrom
Configurar /etc/named.conf
options {
directory "/var/named";
};
zone "." {
type hint;
file "root.cache";
};
zone "centro.ies" in {
type master;
file "centro.ies";
allow-update{
127.0.0.1;
192.168.1.1;
};
};
Zone indica el nombre del dominio que estamos configurando, el resto son sus
detalles. Type master indica que es el servidor principal de la zona. Si fuera un
servidor secundario tendríamos que poner "type slave".
La línea file indica qué fichero contiene los datos de la zona. Este fichero se debe
encontrar en el directorio /var/named, según especificamos en "options".
Por último, allow-update indica desde qué equipos se pueden realizar
actualizaciones dinámicas, en nuestro caso sólo el mismo puede realizarlas. Si fuera
un servidor secundario tendremos que poner la dirección del servidor principal.
En estos ficheros tendremos que poner direcciones IP y no nombres porque el
sistema de resolución aun no está activo. Es justo eso lo que queremos hacer.
$TTL 604800
@ IN SOA ns1.centro.ies. root.ns1.centro.ies. (
2002111502 ; serial
86400 ; refresh
7200 ; retry
2592000 ; expire
172800 ; default_ttl
)
@ IN NS ns1.centro.ies.
@ IN MX 5 ns1.centro.ies.
ns1 IN A 192.168.1.1
www.centro.ies. IN CNAME ns1.centro.ies.
correo IN CNAME ns1.centro.ies.
secretaria IN A 192.168.1.2
router IN A 192.168.1.254
Los parámetro numéricos los dejaremos tal y como están, salvo quizás el número de
serie que indica que es la segunda modificación (02) del día 15/11/2003 (20031105).
Estas líneas asignan dos alias a nuestro servidor principal, es decir ns1.centro.ies se
llama también www.centro.ies y correo.cento.ies.
Las dos últimas líneas son dos nuevos registros de asignación de direcciones a
nombres de máquina.
NOTA IMPORTANTE
Podemos observar como algunos nombres acaban en punto. El punto indica un
nombre completo; si no tiene punto el sistema le añade automáticamente el nombre
del dominio. Por ejemplo correo es equivalente a correo.centro.ies. Sim embargo si
ponemos correo.cento.ies (sin punto final) en realidad lo que estamos poniendo es
correo.centro.ies.cento.ies. Esta es la causa más frecuente de errores a la hora de
configurar el servicio DNS.
tail -f /var/log/messages
/etc/init.d/named restart
nslookup ns1.centro.ies
nslookup www.centro.ies
En ambos casos nos debe responder con la dirección IP del servidor Linux.
Configuración DHCP
Una herramienta que puede hacer más agradable la vida de los administradores de
una red local. Me explico: DHCP don las iniciales de Dynamic Host Configuration
Protocol, un protocolo que instalado en un servidor de una red local, permite la
configuración automática del protocolo TCP/IP de todos los clientes de dicha red.
Nos permite evitar el tedioso trabajo de tener que configurar el protocolo TCP/IP
cada vez que agregamos una nueva máquina a la red, por ejemplo, dirección IP,
servidores DNS, gateway, WINS y alguna que otra cosa más muy interesante
también. Con un servidor DHCP tendremos una red con máquinas "plug-and-play",
con sólo contectarlas podrá dialogar con red.
La ventaja no es sólo esta, además podremos modificar la configuración de todos los
equipos de la red con sólo modificar los datos del servidor.
Teniendo esta herramienta, ¿qué administrador irá cliente por cliente configurándolo
de forma independiente?
El servidor DHCP viene prácticamente con todas las distribuciones de GNU/Linux.
En cualquier caso, se puede encontrar en Internet Software Consortium (ISC --
http://www.isc.org/products/DHCP/) si queremos compilar nosotros mismos el
programa. Además también incluye el cliente DHCP.
Cuando el cliente DHCP arranca resulta evidente que ignora la configuración de red
por lo que necesita realizar las primeras comunicaciones mediante mensajes de
difusión o broadcast. Esta difusión y el resto de las comunicaciones se basa en 8
tipos de mensajes en DHCP:
parámetro valor;
y línea de la forma:
option parámetro valor;
El valor dependerá del parámetro que queramos configurar; podrá ser un valor lógico
(on u off, por ejemplo), una dirección, un nombre predefinido u otro valor según el
caso.
En este fichero también se definen las subredes en las que actúa el servidor DHCP y
qué rangos de direcciones puede asignar. Existen unos parámetros que pueden ser
globales o se pueden especificar dentro de una declaración de subred. Cualquier
parámetro especificado en una subred tiene preferencia en esta subred sobre los
establecidos de forma global.
Primero vemos un ejemplo de configuración y posteriormente veremos una
descripción de las líneas que contiene y otras que podría contener:
authoritative;
one-lease-per-client on;
server-identifier ns1.centro.ies;
default-lease-time 604800;
max-lease-time 604800;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1;
option domain-name "centro.ies";
ddns-domainname "centro.ies";
ddns-update-style ad-hoc;
ddns-updates on;
option netbios-name-servers 192.168.1.1;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.7 192.168.1.9;
range 192.168.1.90 192.168.1.150;
}
one-lease-per-client on; cuando esta opción está en "on" y un cliente solicita una
asignación, el servidor libera automáticamente cualquier otra asignación que tenga
ese cliente. Se supone que si el cliente hace una solicitud es porque ha olvidado que
tuviera alguna, es decir tiene una sola interfaz de red. Si no se da esta situación en
los clientes hay que usar este parámetro con precaución.
ddns-updates on; activa la actualización DNS con los valores asignados mediante
DHCP.
Y por último definimos la red en la que queremos hacer asignaciones y los rangos de
direcciones que puede asignar el servidor DHCP.
Una vez vista la descripcíón preliminar de la configuración DHCP vamos a entrar en
más detalles.
Podíamos haber definido una descripción de subred más simple si sólo tuviéramos
un rango de asignaciones:
Nota: En cualquier red serán necesarios distintos host con dirección IP fija, por
ejemplo los servidores DNS o gateways. Habrá que tener cuidado con la asignación
de estas direcciones y definir los rangos correctamente para no llevarnos sorpresas.
También se pueden configurar equipos concretos mediante el parámetro host.
host cli004 {
hardware ethernet 00:50:b3:c5:60:23;
fixed-address 192.168.1.122;
}
shared-network 192.168.2.253 {
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.253;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option domain-name-servers ns.centro.ies, ns2.centro.ies;
pool {
default-lease-time 400;
max-lease-time 400;
range 192.168.2.100 192.168.2.200;
ddns-domainname "centro.ies";
ddns-rev-domainname "in-addr.arpa";
}
}
}
shared-network 192.168.3.253 {
subnet 192.168.3.0 netmask 255.255.255.0 {
option routers 192.168.3.253;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.3.255;
option domain-name-servers ns1.centro.ies, ns2.centro.ies;
pool {
default-lease-time 400;
max-lease-time 400;
range 192.168.3.100 192.168.3.200;
ddns-domainname "centro.ies";
ddns-rev-domainname "in-addr.arpa";
}
}
}
DHCP y DNS
Como hemos visto, las opciones que tenemos que incluir en el fichero
/etc/dhcpd.conf para asegurar la comunicación entre DHCP Y DNS son:
ddns-updates on; activa la actualización DNS con los valores asignados mediante
DHCP.
Ahora cada zona DNS en la que queramos que se actualicen automáticamente los
datos asignados tendremos que indicarlo con la opción allow-uptates en el fichero
/etc/named.conf. Por ejemplo:
También tendremos que asegurarnos que el usuario que ejecuta named (también
llamado named normalmente) tiene permiso de escritura sobre los ficheros de
zona, /var/named/centro.ies y /var/named/192.168.1.0 en el ejemplo anterior.
El fichero /var/state/dhcp/dhcpd.leases
Como hemos visto, este fichero contiene las direcciones asignadas. Su conternido
es similar al siguiente:
# All times in this file are in UTC (GMT), not your local timezone. This is
# not a bug, so please don't ask about it. There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature. If this is inconvenient or confusing to you, we sincerely
# apologize. Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0pl1
lease 192.168.1.90 {
starts 5 2003/04/11 16:29:27;
ends 5 2003/04/18 16:29:27;
binding state active;
next binding state free;
hardware ethernet 00:10:4b:54:41:85;
uid "\001\000\020KTA\205";
set ddns-rev-name = "90.1.168.192.in-addr.arpa";
set ddns-txt = "31070ea7b3f1e83949c8096766b1f5eee9";
set ddns-fwd-name = "JULIA.centro.ies";
client-hostname "JULIA";
}
lease 192.168.1.7 {
starts 5 2003/04/11 16:29:35;
ends 5 2003/04/18 16:29:35;
binding state active;
next binding state free;
hardware ethernet 48:54:e8:6c:a6:3f;
uid "\001HT\350l\246?";
set ddns-rev-name = "7.1.168.192.in-addr.arpa";
set ddns-txt = "31006d63529f9d904ffdb884baa1923c39";
set ddns-fwd-name = "msrr.centro.ies";
client-hostname "msrr";
}
Win32
Linux
DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=dhcp
NETMASK=255.255.255.0
IPADDR=192.168.1.11
IPXPRIMARY_802_2="no"
IPXACTIVE_802_2="no"
IPXPRIMARY_802_3="no"
IPXACTIVE_802_3="no"
IPXPRIMARY_ETHERII="no"
IPXACTIVE_ETHERII="no"
IPXPRIMARY_SNAP="no"
IPXACTIVE_SNAP="no"
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
PEERDNS=no
TYPE=Ethernet
Configurar Samba
El siguiente paso es compartir los directorios para que los usuarios puedan acceder
a los contenidos de las carpetas. Con este fin vamos a configurar el servicio samba
para que nuestro Linux actúe como servidor principal de dominio NetBios.
Fichero /etc/smb.conf
Secciones Especiales
La sección global
Los ``parámetros'' de esta sección se aplican a todo el servidor, o son por defecto
para los servicios que no definen de forma específica ciertos elementos. Por ejemplo
el parámetro WORKGROUP que define el nombre del dominio o grupo de trabajo es
un parámetro global porque afecta a todo el servidor.
La sección homes
Si existe una sección denominada homes incluida en el fichero de configuración, los
clientes se podrán conectar a su directorio HOME del servidor.
Cuando efectúa una solicitud de conexión, se comprueban los servicios existentes.
Si alguno se verifica entonces se usa. Si no se encuenta ninguno, la solicitud de
servicio se trata como un nombre de usuario y se busca en el fichero passwd local.
Si el nombre existe y la clave es correcta, se crea un servicio mediante un duplicado
de la sección
[homes].
Se efectúan algunas modificaciones en la sección recientemente creada:
El nombre de servicio se cambia de "homes" al nombre local del usuario.
Si no se sumistra ``path'', se usa el directorio home del usuario.
Si decide uar una línea ``path''= en su sección homes entonces encontrará útil la
macro %S. Por ejemplo, path=/data/pchome/%S sería útil si tiene diferentes
directorios home en su equipo, además del propio de Unix.
Esta es una forma rápida y sencilla de suministrar acceso a gran número de clientes
a sus directorios home con un mínimo de preocupaciones.
Si el nombre de recurso solicitado es "homes" ocurre un proceso similar, salvo que
no se modifica el nombre de recurso a petición del usuario. Este método de uso de
la sección ``[homes]'' funciona bien si diferentes usuarios comparten un equipo
cliente.
La seción [homes] puede especificar todos los ``parámetros'' de sección de un
servicio normal, aunque unos tienen más sentido que otros.
Lo siguiente es un ejemplo típico de sección [homes]:
[homes]
writable = yes
Un punto importante:
Si se especifica el acceso de invitados en la sección ``[homes]'', todos los directorio
home serán accesibles por todos los clientes, sin clave. En el caso poco probable de
que esto sea deseable, también sería posible especificar acceso de sólo lectura.
Observe que la bandera ``browseable'' para los directorios home automáticos se
heredará de la bandera browseable global, no la bandera browseable ``[homes]''.
Esto es útil porque significa que poner browseable=no en la sección ``[homes]''
esconderá el servicio homes, pero lo hará visible el auto directorio home.
La sección printers
Esta sección funciona como la ``[homes]'', pero para impresoras.
Si aparece una sección [printers] en el fichero de configuración, los usuarios podrán
conectar a cualquier impresora especificada en el fichero printcap del host local.
Cuando se solicita una conexión, se verifican los servicios existentes. Si se verifica
alguno, se usa. Si no se encuentra ninguno, pero hay una sección ``[printers]'' se usa
como se describió anteriormente. En otro caso, el nombre de servicio solicitado se
trata
como un nombre de impresora y se mira en el fichero printcap apropiado para ver si
el nombre de servicio solicitado es un nombre de impresora válido. Si se encuentra,
se crea un nuevo servicio duplicando la sección de [printers].
Se efectúan algunas modificaciones a la nueva sección creada:
El nombre de servicio se asigna como el nombre de la impresora.
Si no se da nombre de impresora, se usa el nombre de impresora localizado.
Si el servicio no permite acceso de invitados y no se da nombre de usuario, el
nombre de usuario se asigna como el nombre de impresora localizado.
Observe que el servicio [printers] debe ser ``printable'', si especifica otro, el servidor
no cargará el fichero de configuración.
Normalmente el ``path'' indicado sería un directorio de spool, con permisos de
escritura globales con el sticky bit activado. Una sección [printers] típica se parecería
a los siguiente:
[printers]
path = /usr/spool/public
writable = no
public = yes
printable = yes
Usuarios de samba
Para que un usuario del sistema sea usuario de samba tenemos que agregarlo
explícitamente con la orden smbpasswd.
Para añadir un usuario tendremos que ejecutar:
smbpasswd -a usuario
[global]
# tipo de servidor y sesiones
workgroup = CENTRO
netbios name = web
server string = Servidor Samba para la Web
security = user
domain logons = Yes
os level = 99
preferred master = Yes
domain master = Yes
logon script = %U.bat
logon drive = h:
logon home = \\%N\%U
logon path =
add share command=/usr/local/sbin/modify_samba_config.pl
delete share command=/usr/local/sbin/modify_samba_config.pl
# usuarios
passdb backend = smbpasswd tdbsam
username map = /etc/samba/smbusers
password level = 1
username level = 1
encrypt passwords = yes
unix password sync = Yes
min password length=4
passwd program = /usr/bin/passwd %u
passwd chat = *ew\sUNIX\spassword* %n\n *etype* %n\n *all\sauthentication\stokens\supd
admin users = root, Administrator, pfabrega, Administrador
add user script = /usr/sbin/useradd -d /dev/null -s /bin/false -g samba -M %u
add group script = /usr/sbin/groupadd %g
add user to group script = /usr/sbin/adduser -G %g %u
add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %
delete user script = /usr/sbin/userdel -r "%u"
delete group script = /usr/sbin/groupdel "%g"
delete user from group script = /usr/sbin/groupmod -x "%u" "%g"
set primary group script = /usr/sbin/usermod -g "%g" "%u"
add machine script = /usr/sbin/useradd -w "%u"
# parámetros generales
root directory = /
bind interfaces only = Yes
read bmpx = Yes
socket options = TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
time server = Yes
remote announce = 192.168.0.255
hosts allow = 192.168.1., 192.168.0., 127.
wins support = Yes
lock directory = /var/lock/samba
map acl inherit = Yes
#impresión
printcap name = CUPS
printing = cups
show add printer wizard = No
lpq command = lpstat -o %p
lprm command = cancel %p-%j
# registro de incidencias
log level = 1
log file = /var/log/samba/log.%m
max log size = 50
[homes]
comment = Home Directories
read only = No
hide files = /.*.*/
browseable = No
[netlogon]
comment = Network Logon Service
path = /home/netlogon
read only = No
guest ok = Yes
[Profiles]
path = /home/%U/profile
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[direccion]
path = /var/www/html/direccion
browseable = No
read only = No
[secretaria]
path = /var/www/html/secretaria
browseable = No
read only = No
[datos]
path = /var/datos
browseable = Yes
server string
Esto controla qué cadena aparecerá en el cuadro de comentario de la impresora en
el gestor de impresión y en la conexión IPC en "ver red". Puede ser cualquier
cadena que quiera que vean sus usuarios.
También fija qué aparecerá en las lista despues del nombre de equipo.
Un %v se sustituye por el número de la versión de Samba.
Un %h se sustituye por el nombre de host.
Valor por defecto: server string = Samba %v
server string = Servidor Samba para la Web
security
SECURITY = USER
preferred master
Este parámetro booleano controla si Samba es un examinador de listas principal
para su grupo de trabajo. Si se pone a true, al iniciar, samba forzará una elección y
tendrá una ligera ventaja para ganar la elección. Es recomendable que este
parámetro se use en conjunción con ``domain master'' = yes, para que samba pueda
garantizar convertirse en un ``domain master''.
Use esta opción con precaución, porque si hay varios hosts (sevidores samba,
Windows 95 o NT) que son servidores de listas preferidos en la misma subred,
intentarán continua y periódicamente convertirse en los principales locales. Esto
ocasiona un tráfico de difusión innecesario y reduce las capacidades de las listas.
preferred master = True
domain master
Activa la comparación de lista WAN. Las listas principales locales en subredes-
aisladas proporcionan a Samba sus listas locales, y solicitan una copia completa de
la lista a la red amplia. Entonces las listas de clientes contactan con sus servidores
locales y reciben una lista de la red amplia, en lugar de las listas de las subredes.
domain master = True
os level
Este valor entero controla qué nivel anuncia Samba él mismo como para elecciones
examinadores de listas.
os level=99
logon script
Este parámetro especifica el fichero de lotes (.bat) o fichero de comandos NT (.cmd)
que hay que cargar y ejecutar en una máquina cuando se conecta correctamente. El
fichero debe tener el estilo de fin de línea de DOS (cr/lf). Se recomiendausar un
editor estilo DOS para crear este fichero.
El script debe ser relativo al path del servicio [netlogon]. Si el servicio [netlogon]
especifica un pathde /home/netlogon y logon script = STARTUP.BAT, entonces el
fichero que se carga será:
/home/netlogon/STARTUP.BAT
logon drive
Este parámetro especifica el path local al cual se conectarán los directorios home
(vea ``logon home'') y lo usan las estaciones NT Workstations, 2000 o XP.
logon drive = h:
logon home
Este parámetro especifica la ubicación del directorio home cuando se conectan
estaciones Win95 o NT Workstation en un PDC Samba PDC. Esto le permite hacer
"NET USE H: /HOME" desde la línea de comando, por ejemplo.
Esta opción toma las sustituciones estándar, permitiéndole tener scripts de conexión
distintos para cada usuario o máquina.
logon home = \\%N\%U
logon path
Este parámetro indica el directorio home donde se guardan los ficheros de perfiles
2000/XP. Esta opción toma las sustituciones estándar, permitiendo tener script de
conexión para cada usuario o máquina. También especifica el directorio desde el
cual se cargan los contenidos de las carpetas "escritorio", "menú inicio",
"pprogramas" y "entorno de red" y se muestran en sus clientes NT/2000/XP.
El recurso y la ruta deben poderse leer por el usuario para que las preferencias y los
directorios sean cargados en los clientes Windows NT. El recurso debe tener
permiso de escritura, al menos la primera vez que el usuario se conecta, para que
los clientes NT/2000/XP puedan crear el fichero user.dat y otros directorios.
Los directorio y cualquiera de los contenidos, pueden, si se necesita, ponerse como
sólo lectura. No es conveniente que el fichero NTuser.dat se haga de sólo lectura,
renómbrelo como NTuser.man para llevar a cabo los efectos deseados ( MANdatory
profile).
Los clientes Windows algunas veces pueden mantener conexiones a los recursos
[homes], incluso si no hay usuario registrado. Por tanto es vital que la ruta de logon
no incluya una referencia a los recursos homes (i.e \\%L\HOMESrofile_path causará
problemas). .
Tenga en cuenta que esta opción sólo es válida si Samba está configurado como
logon server. server.
El valor predeterminado para este parámetro es:
logon path = \\%N\%U\profile
pero en nuestra configuración hemos decidido que los perfiles se almacenen
localmente para evitar demoras en los inicio y cierre de sesión u por ese motivo:
logon path =
encrypt passwords
Este parámetro lógico controla si las claves cifradas se negocian con el cliente.
Observe que Windows NT 4.0 SP3 y superiores y también Windows 98, por defecto
esperan claves cifradas salvo que modifiquemos una entrada del registro.
Para que las claves cifradas funcionen correctamente smbd debe tener, bien acceso
al fichero smbpasswd local (véase el programa smbpasswd para información sobre
como mantener este fichero), o usar el parámetro ``security''= con los valores
"server" o "domain", que hace que se valide con otro servidor.
encrypt passwords = Yes
min passwd length
Esta parámetro indica la longitud mínima de la clave.
min passwd length = 1
passwd program
El nombre de un programa que se puede usar para fijar claves de usuarios.
Esto sólo es necesario si ha activado cambio remoto de claves cuando compiló
Samba. Cualquier ocurrencia de %u será sustituida por el nombre de usuario.
También tiene que tener en cuenta que muchos programas passwd insisten en
claves "razonables", tales como longtud mínima, o inclusión de distintos tipo de
caracteres y dígitos. Esto puede ser un problema en algunos clientes (como
Windows para trabajo en grupos) que envían claves en mayúsculas.
Observe que si el parámetro ``unix password sync'' está como "True" este programa
se llama como ROOT antes de que la clave SMB del fichero smbpasswd se cambie.
Si la modificación de la clave UNIX falla, entonces smbd fallará en el cambio de la
clave SMB también (esto es por diseño).
Si el parámetro ``unix password sync'' está activo tiene que usar rutas absolutas
para todos los programas que se llamen. Observe que por defecto ``unix password
sync'' está como "False".
passwd program = /usr/bin/passwd %u
passwd chat
Esta cadena controla la conversación que tiene lugar entre smbd y el programa local
de cambio de claves para cambiar la clave del usuario. La cadena describe describe
una secuencia de pares respuesta-recepción que smbd usa para determinar qué
enviar al programa passwd y qué espera que le devuelva. Si no se recibe la
respuesta esperada entonces no se modifica la clave.
Esta secuencia chat es con frecuencia específica del sitio, dependiendo de qué
métodos locales se usan para para el control de claves (como NIS+ etc).
La cadena puede contener las macros %o y %n que se sustituyen por las claves
nueva y vieja respectivamente. También puede contener las macro estándar \n \r \t y
\s para asignar line-feed, retorno de carro, tab y espacio.
La cadena también puede contener un * que equivale a cualquier secuencia de
caracteres.
Se pueden usar comillas dobles para cadenas que contengan espacios en blanco.
Si la cadena enviada en cualquier parte de la secuencia chat es un punto final "."
entonces no se envía ninguna cadena. De forma similar con la cadena esperada si
es un punto y aparte entonces no se espera ningún string.
passwd chat = *ew\sUNIX\spassword* %n\n *etype* %n\n
*all\sauthentication\stokens\supdated\ssuccessfully*
add user script
Esta es la ruta completa a un guion que smbd ejecutará como root en las
circunstancias especiales descritas más abajo.
Normalmente, un servidor Samba requiere que se creen los usuarios UNIX para
todos los usuarios que accedan a los ficheros del servidor. En los sitios que usan
bases de datos de cuentas Windows NT como su base de datos primaria, la
creación de estos usuarios y el mantenimiento de la lista de usuarios en sincronía
con el PDC Windows NT es una tarea pesada. Esta opción permite a smbd crear los
usuarios UNIX requeridos bajo demanda cuando un usuario