Post on 12-Aug-2015
CONFIGURAR DOMINIO CON LINUX SAMBA
Configurar Dominio con Linux Samba por Daniel Pons Betrián se encuentra bajo una Licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported. 1-Debe haber conectividad IP entre el equipo cliente y el servidor (responder a PING) 2- CONFIGURAR LINUX-SAMBA COMO SERVIDOR:
Editar smb.conf a través de SWAT con los siguientes parámetros: workgroup = DOMINIO01netbios name = LINUXserver string = Controlador de dominiosecurity = userencrypt passwords = yesos level = 64preferred master = yesdomain master = yeslocal master = yeswins support = yesdns proxy = yestime server = yesdomain logons = yes
3-Configurar equipo Cliente para unirse al dominio
En el Linux Server, añadir el equipo al dominio adduser --force-badname equipo01$smbpasswd -a -m equipo01Reiniciar smbd, nmbd y winbind (Sección Status en SWAT-Restart all)
En el Windows XP, iniciar sesión como administrador local, botón dcho en MiPC: Nombre de Equipo: EQUIPO01 -> AceptarReiniciarDominio=DOMINIO01 -> Aceptar -> usr: root, pwd: rootReiniciarYa podemos iniciar sesión con un usuario de LINUX desde el Equipo Cliente
PERFILES MOVILES DE USUARIO A través de SWAT - > Botón Wizard:
Server type: Domain ControllerConfig WINS as: Server for client useExpose home directories: Yex
En el archivo /etc/samba/smb.conf:[global]
logon home = \\%L\%Ulogon path = \\%N\%U\profilelogon drive = H:
[homes]Valid users = %S (sólo el usuario que se llama igual puede acceder a su carpetaRead Only=No (para acceder en Lectura y Escritura)Browseable=No
SECUENCIA PARA AÑADIR EQUIPOS A UN DOMINIO SAMBA
El archivo /etc/smb.conf contiene macros para la versatilidad y flexibilidad del mismo. SAMBA puede sustituir macros de los parametros de servicios. Para diseñar un macro es crear un simbolo del porcentaje (%) como el primer caracter de alguno de los nombres predefinidos. Mostraremos las macros:MACRO DESCRIPCIÓNRelativas a Clientes
%a Arquitectura del servidor remoto (por ej: Samba, WinNT, Win95…)%I Dirección IP de la computadora cliente%m Nombre NetBIOS de la computadora cliente%M Nombre DNS de la computadora clienteRelativas a Usuarios
%g Grupo primario de %u%G Grupo primario de %U%H El directorio “home” de %u%u Nombre del usuario del servicio actual%U Nombre de sesión del usuario (el que el usuario quiso, no necesariamente el nombre que les
proporcionó el administrador)%D Nombre del dominio o grupo de trabajo del usuario actualRelativas a Recursos
%S Nombre del recurso compartido%p Ruta automática del recurso compartido, si difiere de %P%P Ruta del recurso compartido%w Separador winbind (\)Relativas a servidor
%d ID del proceso del servidor de procesos%h Nombre del host del servidor de SAMBA (/etc/hostname)%L Nombre NetBIOS del Servidor%N Nombre del directorio home del servidor NIS. Si no se ha compilado Samba con la opción –with-
automount, este valor será el mismo que %L%v Numero de versión de SAMBA%i IP local a la que un cliente se ha conectadoVarias %R Nivel de protocolo SMB que se ha negociado (core, coreplus, lanman1, lanman2, nt1)%T Fecha y hora actual
COMPARTIR CARPETAS Y PERMISOS DE ACCESO EN SAMBA Los Equipos clientes (ya sean Windows o Linux) utilizarán los usuarios del equipo Linux. IMPORTANTE: UN USUARIO PODRÁ ENTRAR Y/O ESCRIBIR EN UNA CARPETA DEL SERVIDOR LINUX SI TIENE PERMISOS DE ACCESO AL SISTEMA DE FICHEROS Y SI TAMBIÉN TIENE PERMISOS DE COMPARTICIÓN EN SAMBA. Crear una carpeta compartida en lectura y escritura para todo el mundo:
1. Crear la carpeta en Linuxmkdir /DATOS
2. Habilitar el permiso de acceso en escritura al grupo Other:chmod 777 /DATOS ó chmod o+w /DATOS
User Group Other
rwx rwx rwx
3. Comfigurar el acceso al recurso compartido en SAMBA[DATOS]
path = /DATOS
available = Yes
browseable = Yes
guest ok = Yes
read only = No
Crear una carpeta compartida en lectura y escritura sólo para un usuario concreto:4. Crear la carpeta en Linux
mkdir /DATOSusuario
chown usuario / DATOSusuario
chgrp usuario / DATOSusuario
5. Habilitar permisos de acceso al usuario y su grupo, el resto no tendrá acceso:chmod 770 /DATOSusuario
User Group Other
rwx rwx ---
6. Comfigurar el acceso al recurso compartido en SAMBA[DATOS]
path = /DATOSusuario
available = Yes
browseable = Yes
guest ok = no
valid users = usuario (sólo podrá acceder este usuario)
read only = No (ó write list=usuario)
Opciones para configurar permisos de acceso a carpetas en SAMBA:
[DATOS]
path = /DATOS
available = Yes (Que esté activo)
browseable = Yes (Que se vea en la red)
guest ok = No (Evitar que entre cualquiera)
valid users = Sólo podrán acceder los usuarios aquí listados. Si
está vacío, cualquiera puede acceder.
invalid users = Estos usuarios no podrán acceder. Prevalece sobre
“valid users”
read only = No (Permitir permiso de escritura)
writeable = Yes (Permitir permiso de escritura, es sinónimo de
“read only”)
write list = Usuarios que podrán escribir
read list = Usuarios que no podrán escribir. Prevalece sobre
“write list”
hosts allow = Equipos que tendrán acceso
hosts deny = Equipos que no tendrán acceso. Prevalece sobre “hosts
allow”.
NOTAS:● Si hay varios usuarios en una lista, ej en Valid users, se separarán por comas.● Si se desea que aparezca un grupo, ej en Valid users, se precederá con @.
EJEMPLO:Valid users = @gruposoporte, @grupoempleados, usuario
EJERCICIOS: Carpeta desactivada
path=/datos/desactivadaavailable=no
Carpeta oculta
path=/datos/ocultaavailable=yesbrowseable=no
Carpeta compartida para todo el mundo en modo lecturapath=/datos/compartidalecturaavailable=yesbrowseable=yesguest ok=yesread only=yes
Carpeta compartida para todo el mundo en modo lectura/escritura
path=/datos/compartidaescrituraavailable=yesbrowseable=yesguest ok=yesread only=no
Carpeta guara, usuarios de guara en L/E, usuarios de soporte en L
path=/datos/dguaraguest ok=novalid users=ug1, ug2, us1, us2 (sólo podrán acceder estos usuarios)read list=us1, us2write list=ug1, ug2 Dos opciones más:
path=/datos/dguaraguest ok=novalid users=ug1, ug2, us1, us2read only=yeswrite list=ug1, ug2
path=/datos/dguaraguest ok=novalid users=ug1, ug2, us1, us2read only=noread list=us1, us2
Carpeta guarasoporte, usuarios de guara y soporte en L/E, otros usuarios: solo L
path=/datos/guarasoportevalid users=(vacío, así cualquier usuario de SAMBA podrá acceder)guest ok=yes (con esta opción también admitiríamos a cualquier usuario)read only=yeswrite list= ug1, ug2, us1, us2
Carpeta privada, usuario daniel en L/E, usuarios de guara y soporte en L
path=/datos/dprivadosguest ok = novalid users = daniel, ug1, ug2, us1, us2read list = ug1, ug2, us1, us2 (ó read only=yes)write list =daniel
Carpeta compartida C1 en /datos/carpeta1:gguara: L
gsoporte: Lusrsoporte1: L/EResto: sin acceso
Solución inicial:[C1]Path=/datos/carpeta1Guest ok=noValid users=@gguara, @gsoporteRead list=@gguara, @gsoporteWrite list=usrsoporte1
Poner un usuario en read list y write list => Sólo tendrá permiso de lectura. Al usuario usrsoporte1, al estar también en read list, se le quitan permisos de lectura. Esto no se puede implementar con Samba de esta forma.
Solución para cumplir con el enunciado:
[C1]Path=/datos/carpeta1Guest ok=noValid users=@gguara, @gsoporteRead list=@gguara, usrsoporte2, usrsoporte3, usrsoporte4Write list=usrsoporte1
Carpeta compartida C2 en /datos/carpeta2:
gsoporte: L/EResto: L
Solución:[C1]Path=/datos/carpeta1Guest ok=yesRead Only=yesWrite list=@gsoporte
Carpeta compartida C3 en /datos/carpeta3:
Todos: L/Eginvitados: L
Solución:[C1]Path=/datos/carpeta1Guest ok=yesRead Only=yesRead list=@ginvitados
Máscaras de permisos en SAMBA Carpeta compartida sólo para el grupo gguara en modo lectura/escritura total
path=/datos/gguaraavailable=yesbrowseable=yesguest ok=novalid users=@gguarawrite list=@gguaracreate mask = 0770 create directory mask = 0770
De esta forma los datos que se crearán será posible que los usuarios del grupo guara puedan modificar lo que otros usuarios del grupo guara tengan dentro de la carpeta, pero el resto de usuarios no tendrán ningún permiso. Carpeta compartida sólo para los grupos gguara y gsoporte en modo lectura/escritura total para ellos
path=/datos/gguaraavailable=yesbrowseable=yesguest ok=novalid users=@gguara, @gsoportewrite list=@gguara, @gsoporteforce user = usuariocarpetaforce group = grupocarpetacreate mask = 0770 force create mode = 0770create directory mask = 0770 forcé directory mode = 0770
http://lists.samba.org/archive/samba/2005-January/098346.html:"create mask" *removes* permissions. "force create mode" *adds* them.
To quote from the man page for smb.conf
This parameter [create mask] may be thought of as a bit-wise MASK
for the UNIX modes of a file. Any bit *not* set here will be
*removed* from the modes set on a file when it is created.
So if you don't want the o+r bit set use:
create mask 0770
If you now want to force ug+rwx permissions for all files, *also* use:
force create mode 0770
Another way of thinking about these is that "create mask" sets an upper
bound on the permissions for the file and "force create mode" sets a
lower bound, and the actual permissions are in between. (Except that
force create mode is applied second, so if it is more permissive than
the create mask, force create mode will override create mask.) Note
that neither of these apply to directories. The analogous parameters
there are "directory mask" and "force directory mode".
NOTAS:
Permisos para carpetasUna carpeta es como un archivo de texto con el listado de los ficheros y directorios que contiene.● Permiso de ejecución (x) en una carpeta significa: poder entrar en ella● Permiso de lectura (r) en una carpeta significa: poder listar su contenido● Permiso de escritura (w) en una carpeta significa: poder modificar su contenido, creando nuevos
archivos o carpetas, o borrando archivos o carpetas existentes, o cambiarles el nombre. Permisos para archivos● Permiso de ejecución (x) en un archivo significa: poder ejecutarlo.● Permiso de ejecución (r) en un archivo significa: poder leer su contenido.● Permiso de ejecución (w) en un archivo significa: poder modificarle el contenido.
PERMISOS EN LINUX Máscara de permisos sobre ficheros y carpetas: S U G O
sst rwx rwx rwx
Cambiar usuario y grupo:chown root directorio Cambia el usuario propietario a root
chgrp root directorio Cambia el grupo propietario a root
Cambiar permisos de acceso:chmod 000 directorio Cambia la máscara de permisos a ---------
chmod 754 directorio Cambia la máscara de permisos a rwxr-xr--
chmod 777 directorio Cambia la máscara de permisos a rwxrwxrwx
Si solo utilizamos 3 números, se entiende que el primer número es 0. Las órdenes anteriores realizan lo mismo que estas siguientes:chmod 0000 directorio Cambia la máscara de permisos a ---------
chmod 0754 directorio Cambia la máscara de permisos a rwxr-xr--
chmod 0777 directorio Cambia la máscara de permisos a rwxrwxrwx
Otras formas de cambiar la máscara de permisos:chmod u+r directorio Añade permiso r para el usuario propietario
chmod a+r directorio Añade permiso r para todos (all), es decir añade r--r—r--
chmod +r directorio Añade permiso r para todos, es decir añade r--r--r--
chmod –x directorio Quita permiso x para todos, es decir quita --x--x--x
chmod u=rwx,g=rx,o=r directorio Cambia la máscara de permisos a rwxr-xr--
chmod u=rx,g=rx directorio Cambia la máscara de permisos a r-xr-x (others lo deja como estaba)
SetUID, SetGID y StickyBit Corresponden con los 3 primeros bits. Aparecen visualizados con la orden “ls –l” sustituyendo la “x” de la siguiente forma: --s--s--t Aparecen en minúscula si en el lugar donde se muestran está activo el permiso de escritura
--S--S--T Aparecen en mayúscula si en el lugar donde se muestran no está activo el permiso de escritura
Cambiar permisos:chmod 7777 directorio Activa el SetUID, SetGID y StickyBit y deja los permisos rwsrwsrwt
chmod 7754 directorio Activa el SetUID, SetGID y StickyBit y deja los permisos rwsr-sr-T
chmod 7000 directorio Activa el SetUID, SetGID y StickyBit y deja los permisos --S--S—T
chmod +t directorio Activa el StickyBit
chmod g+s directorio Activa el SetGID
chmod ug+s directorio Activa el SetUID y el SetGID
chmod u=rwxs directorio Activa permisos rwx y SetUID
SetUID (Set User ID) y SetGID (Set Group ID): Aplicados sobre un fichero ejecutable, permiten que el programa se ejecute como si lo hiciera el usuario propietario (SUID) o el grupo propietario(SGID) del fichero. Ejemplo: El ejecutable /bin/passwd tiene usuario root y grupo root, y el SetUID activo. Para que los usuarios puedan cambiarse su contraseña, dado que /etc/passwd sólo tiene permisos de escritura para root, el SetUID deberá estar activo en /bin/passwd para que un usuario cualquiera pueda ejecutar /bin/passwd como si fuera root, que es la orden que acaba modificando /etc/passwd. SetGID aplicado sobre un directorio: Todos los ficheros y directorios que se creen dentro de un directorio con el SetGID activo, se crearán con el mismo grupo propietario del directorio, en vez de con el grupo del usuario que los cree. StickyBit: Aplicado sobre un fichero, se utilizaba antiguamente para ahorrar memoria RAM pero ahora ya no existe ese problema por tener varios GB de RAM, y por lo tanto ya no se necesita este uso. Aplicado sobre un directorio, hace que sólo el usuario o el grupo propietario puedan ser borrados o modificados. Ejemplo: en directorios como el /tmp o el /var/tmp donde todos los usuarios del sistema pueden hacer lo que quieran si los permisos son (0777), en la mayoría de los casos nos interesará poner el Sticky Bit (permisos 1777) para que un usuario no pueda borrar o renombrar ficheros de otros usuarios.