jueves, 29 de noviembre de 2012

sábado, 10 de noviembre de 2012

Acceso a los recursos compartidos



// Conectando a un recurso compartido
smbclient //servidor5/alumnos

Una vez que accede a la carpeta compartida, es como un cliente de ftp. Podemos ejecutar los comandos típicos del ftp como put, get, ls, cd, etc...
Para averiguar lo que comparte un PC:

// Ver recursos compartidos
smbclient --list servidor5

Nos mostraría una lista con todo lo que comparte 'servidor5'. Se puede poner directamente la dirección IP en lugar del nombre del PC. Si está protegido con contraseña, es necesario añadir la opción --user seguida del nombre de usuario y al ejecutar el comando pedirá la contraseña.

// Conectando a un recurso compartido que requiere autentificación
smbclient --user=profesor //servidor5/exámenes

Ejemplo: supongamos que deseamos acceder a la carpeta compartida c$ en un servidor cuya IP es 192.168.10.1, como usuario alberto.

Utilización del Cliente Samba

Como es un poco engorroso trabajar de esa forma, existe la posibilidad de montar las unidades de red en carpetas de nuestro sistema como si se tratara de una carpeta local. Ejemplo, si queremos acceder desde el pcprofesor a una carpeta compartida con el nombre de profesores en el servidor, ejecutaremos:

// Montar una carpeta compartida sobre nuestro sistema de archivos
smbmount //servidor/profesores /mnt/profesores -o username=juan%manzana

El parámetro '-o' nos permite añadir opciones como en este caso que hemos proporcionado directamente en el comando el nombre de usuario y la contraseña. De no haberlo hecho, hubiera utilizado el nombre del usuario que lanza el comando y nos habría pedido la contraseña. Si deseamos que una carpeta compartida se conecte siempre de forma automática cuando iniciemos nuestro Linux, existe la posibilidad de añadir en el archivo /etc/fstab una línea como por ejemplo:

# Montaje automático al iniciar el servidor
#Añadir en /etc/fstab
//servidor/profesores /mnt/profesores smbfs username=juan,password=manzana

Acceso desde Konqueror

Si no queremos que otras personas la vean en la barra de direcciones, podemos omitir la contraseña. En tal caso nos la pedirá al conectar. También podemos omitir el nombre de usuario. En lugar de escribir la dirección IP, podemos utilizar el nombre del PC.

Truco: Konqueror también se puede utilizar como cliente de ftp, la sintaxis sería la misma:ftp://juan:manzana@enebro.pntic.mec.es/public_html

Nautilus es un navegador similar a Konqueror, pero para entorno gráfico GNOME. Desde Nautilus también se puede acceder a carpetas compartidas con samba y a carpetas compartidas en PCs windows, para ello hay que pulsar Ctrl+L para que aparezca la barra de direcciones y escrir la ruta del recurso como en el caso de Konqueror. No debemos ejecutar Nautilus como usuario root ya que, por seguridad, quedarán des habilitadas las funciones de acceso a carpetas en red.

Ejemplo, si deseamos acceder a un recurso de nombre 'datos' compartido en el servidor cuya IP es 192.168.1.244, con el usuario 'administrador', escribiremos lo siguiente:smb://administrador@192.168.1.244/datos

Descripciones de los servicios

Cada sección del fichero de configuración describe un recurso compartido o servicio (salvo la sección ``[global]''). El nombre de sección es el nombre de servicio y los ``parámetros'' de la sección definen los atributos del servicio.
Hay tres secciones especiales [global], [homes] y [printers], que se describen en secciones especiales. Las siguientes notas se aplican a la descripción de servicios ordinarios.
·         Un servicio consiste en un directorio al cual se proporciona acceso más una descripción de los derechos de acceso que se ofrecen a los usuarios del servicio.
·         También se pueden especificar opciones de mantenimiento.
·         Los servicios son bien servicios de espacio para ficheros (usados por los clientes como extensiones de sus sistemas de archivos nativos) o servicios de impresión (utilizados por los clientes para acceder a las impresoras de las que dispone el servidor).
·         Los servicios pueden ser para invitados (guest), en cuyo caso no se necesita clave para acceder. Se usa una cuenta de invitados para definir los privilegios de acceso en este caso.
·         Tenga en cuenta que los derechos de acceso proporcionados por el servidor, se comparan con los derechos de acceso especificados o de la cuenta de invitados usados por el sistema. El servidor no ofrece más derechos de acceso de los que garantiza el host del sistema.

Sacdo de : http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m4/cliente_de_samba.html

miércoles, 7 de noviembre de 2012

Administración

  • Cambiar contraseña en Windows

Para cambiar la contraseña de usuario en Windows no es necesario un ordenador con Windows, ya que se puede  realizar este cambio desde Ubuntu.
Para cambiar la contraseña debemos hacerlo en un terminal el ejecutar el comando:
$ smbpasswd –r WindowsDC  –U nombreUsuario
Luego de ejecutar ese comando nos pedirá la antigua contraseña, después la nueva contraseña.

  • Agregar un usuario

Cuando estamos en Windows en una carpeta compartida por Ubuntu, hay veces que nos pide un usuario en este caso digitamos el siguiente comando:
$ sudo smbpasswd –a tu_usuario

  • Cambiar la contraseña en un usuario

Luego que compartimos una carpeta, debemos crear un nombre de usuario y contraseña en el servidor Samba, para que el ordenador pueda acceder a dicha carpeta con Windows, para esto digitamos lo siguiente:
$ sudo useradd –s /sbin/nologin usuario-windows
El usuario  usuario-windows es el que accedera a la carpeta compartida en Windows.
Si /sbin/nologin no existe, se puede probar con /usr/sbin/nologin, y si nologin no se encuentra, debemos crear un usuario normalmente y luego digitaremos:
$ sudo passwd –d usuario-windows
Y al final digitaremos el siguiente codigo:
$ sudo smbpasswd –a usuario-windows
La cual no pedirá la contraseña que deseamos establecer a dicho usuario.

  • Reiniciar Samba

Al realizar cualquier modificación en el archivo /etc/samba/smb.conf es necesario reiniciar el servidor Samba, para esto utilizamos el siguiente código:
$ sudo /etc/init.d/samba restart


lunes, 5 de noviembre de 2012

Gestión de usuarios, grupos y permisos de samba


Los usuarios que ingresan a un recurso público, el sistema le da como nombre de usuario nobody y como nombre de grupo nogroup, es así como podemos cambiar el nombre de usuario y nombre de grupo a nuestras carpetas, con el fin de que el sistema también sepa quien es el propietario de esa carpeta:
$ sudo chown nobody:nogroup /home/publico
$ sudo chmod 555 /home/publico
y si queremos que también pueda escribir sobre esta carpeta
$ sudo chmod 755 /home/public
y además debemos decirle a Samba que se lo permita (acuerdate que para que un permiso sea válido, tanto el sistema como Samba deben estar de acuerdo)
Samba es un servicio para la administración de usuarios y para poder gestionar los permisos de los usuarios. En función del usuario que acceda, samba se comportará de una forma u otra para que cuando accede un usuario tenga permisos limitados y cuando accede un administrador, dispondrá de todos los permisos.

Para ello, samba dispone de su propia base de datos de "usuarios" pero es necesario que estén creados en el sistema Linux.

Resumiendo, que para poder ser usuario de samba, es necesario disponer de una cuenta de usuario en Linux y de una cuenta de usuario en samba.

Creación de un usuario de samba

Para crear un usuario de samba debemos utilizar el comando smbpasswd, pero antes debemos haber creado el usuario en Linux. Por ejemplo, si queremos crear en Linux al usuario antonio, haremos lo siguiente:

prueba@user02:~$ sudo useradd francisco

Si deseamos que el usuario que hemos creado pueda acceder a los servicios samba, debemos hacer al usuario "francisco” sea usuario de samba ejecutando el siguiente comando:

prueba@user02:~$ sudo smbpasswd -a francisco

Con -a indicamos que añada al usuario, después nos pedirá la contraseña que deseamos poner al usuario.

Eliminar un usuario de samba

Para eliminar un usuario de samba debemos ejecutar smbpasswd con la opción -x, ejemplo:

prueba@user02:~$ sudo smbpasswd -x francisco

El usuario desaparecerá de la base de datos de los usuarios de samba aunque seguirá siendo un usuario de Linux.

Otras opciónes de smbpasswd:

  • -d: Deshabilitar un usuario.
  • -e: Habilitar un usuario.
  • -n: Usuario sin password, pero el parámetro passwords tiene que ser null (passwords = null) en sección "global".
  • -m: Indica que es una cuenta de máquina.


Gestión de grupos y permisos con samba

La gestión de grupos y permisos de usuarios y grupos es muy diferente en Sistemas Linux y en Sistemas Windows.

En los Sistemas Linux, la gestión de los permisos que los usuarios y los grupos de usuarios tienen sobre los archivos se realiza mediante tres tipos de permisos (lectura, escritura y ejecución) aplicables a tres tipos de usuarios (propietario, grupo propietario y resto).

Este sencillo esquema se desarrolló en los años 70 y aún hoy resulta adecuado para la gran mayoría de los sistemas en red, aunque tiene algunas limitaciones, las ventaja de ser sencillo hace que su administración sea fácil y su rendimiento elevado.

En los Sistemas Windows, la gestión de los permisos que los usuarios y los grupos de usuarios, se realiza mediante un complejo esquema de listas de control de acceso (ACLs, Access Control Lists o Listas de Control de Acceso) para cada carpeta y cada archivo.

El sistema de ACLs tiene la ventaja de ser mucho más flexible que el sistema Linux ya que se pueden establecer más tipos de permisos, establecer permisos solo a algunos usuarios o algunos grupos, denegar permisos, etc..., pero las prestaciones del Sistema Linux es suficiente.

El sistema de ACLs es más complejo de administrar y más lento ya que antes de acceder a las carpetas o archivos, el sistema debe comprobar listas mientras que en Linux hace una operación lógica de los bits que especifican los permisos por lo cual es más rápido.

Samba también tiene implementado el sistema de ACLs y se gestiona utilizando el comando smbcacls, pero la recomendación es utilizar el sistema de gestión de permisos de Linux.

Aunque existan carpetas compartidas con samba, en siempre imperan los permisos de Linux. Por ejemplo, si tenemos compartida una carpeta llamada "contabilidad" con permisos de escritura para el grupo contables, todos los usuarios que pertenezcan al grupo contables podrán realizar cambios en la carpeta, pero si dentro de dicha carpeta existe otra llamada "confidencial" sobre la cual no tiene permiso para entrar el grupo contables, ningún contable podrá ver su contenido aunque esté dentro de una carpeta compartida.

Para realizar una gestión eficaz de usuarios, grupos y permisos, se recomienda utilizar los permisos de Linux que permiten asignar permisos de lectura, escritura y ejecución al usuario propietario del archivo, al grupo propietario del archivo y al resto de usuarios del sistema.

sábado, 3 de noviembre de 2012

Configuración de Samba


  • Modificar el grupo de trabajo
          Abrimos el archivo de configuración con:

         





Y buscamos la línea que contenga workgroup  y ponemos el nombre de nuestro  grupo de trabajo.
Para este caso usamos el programa gedit como editor de texto ya que estamos trabajando en Ubuntu.


  • Agregar usuarios a Samba
          Agregamos un usuario de nombre “grupo7” de la siguiente manera:



         Activamos una contraseña del nuevo usuario en la base de datos de los usuarios de Linux. 


Podemos tener diferentes opciones que se pueden utilizar al crear un nuevo usuario Samba

  • Agregar una carpeta para compartir

Primero creamos una carpeta con los permisos que nosotros deseemos, por ejemplo con un permiso 555 hace la carpeta solo de lectura y si se desea que se agregué/modifiquen archivos o directorios la carpeta debe tener permisos 755

Luego abrimos el archivo /etc/samba/smb.conf 
Y agregamos al final del archivo de configuración lo siguiente:

[public]
comment = Cosas publicas
path = /home/public
public = yes
writable = no

Lo realizado anteriormente es la configuración mas simple, con samba se puede hacer varias configuraciones, pero en general todas debe de seguir el siguiente estándar:
         [Lo_que_sea]
          path = /cualquier/ruta/que/desee/compartir
          comment = Comentario que se le ocurra

Se puede utilizar cualquiera de las siguientes parámetros de configuración:

Opción
Descripción
guest ok
Define si ser permitirá el acceso como usuario invitado.
El valor puede ser Yes o No.
public
Es un equivalente del parámetro guest ok, es decir define si ser permitirá el acceso como usuario invitado.
El valor puede ser Yes o No.
browseable
Define si se permitirá mostrar este recurso en las listas de recursos compartidos.
El valor puede ser Yes o No.
writable
Define si ser permitirá la escritura.
Es el parámetro contrario de read only.
El valor puede ser Yes o No. Ejemplos: “writable = Yes” es lo mismo que “read only = No”. Obviamente “writable = No” es lo mismo que “read only = Yes”
valid users
Define que usuarios o grupos pueden acceder al recurso compartido.
Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @.
Ejemplo: fulano, mengano, @administradores
write list
Define que usuarios o grupos pueden acceder con permiso de escritura.
Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @.
Ejemplo: fulano, mengano, @administradores
admin users
Define que usuarios o grupos pueden acceder con permisos administrativos para el recurso.
Es decir, podrán acceder hacia el recurso realizando todas las operaciones como super-usuarios.
Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @.
Ejemplo: fulano, mengano, @administradores
directory mask
Es lo mismo que directory mode.
Define que permiso en el sistema tendrán los subdirectorios creados dentro del recurso.
Ejemplos: 1777
create mask
Define que permiso en el sistema tendrán los nuevos ficheros creados dentro del recurso.
Ejemplo: 0644

NOTA: Cada vez que se haga un cambio en la configuración, Samba debe ser recargado

Iniciar, detener, reiniciar, recargar servidor samba
Iniciar
sudo /etc/init.d/samba start
Detener
$ sudo /etc/init.d/samba stop
Reiniciar
$ sudo /etc/init.d/samba restart
Recargar$
$ sudo /etc/init.d/samba reload

Comprobar archivo de configuración

Para probar la configuración, existe un programa llamado TESTPARM que lee el archivo de configuración y reporta cualquier error de sintaxis. Cualquier parámetro de configuración aún no establecido será ajustado a su valor por defecto. Recuerde que su archivo de configuración puede estar sintácticamente correcto pero no apropiado para su uso, por ejemplo, si no creamos la carpeta “publico” en /home/ testparm EN NINGÚN CASO devolverá código de error.
Para poder usar este programa solo se debe de ejecutar en un terminal el comando testparm.

Herramienta gráfica para Samba