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:
aceitunero@Pc15:~$
sudo useradd antonio
Si
deseamos que el usuario que hemos creado pueda acceder a los
servicios samba, debemos hacer al usuario "antonio” sea
usuario de samba ejecutando el siguiente comando:
aceitunero@Pc15:~$
sudo smbpasswd -a antonio
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:
aceitunero@Pc15:~$
sudo smbpasswd -x antonio
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.
Para
más información se puede consultar la página del manual de
smbpasswd:
aceitunero@Pc15:~$
man smbpasswd
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.
Sobrecarga
de permisos
Puede
ocurrir que exista contradicción entre los permisos del sistema
Linux y los permisos del recurso compartido en samba, por ejemplo,
podemos tener una carpeta compartida llamada "almacén" con
permisos Linux de lectura, escritura y ejecución para todos, en
cambio si en el archivo de configuración de samba, dicho recurso
tiene el parámetro read only = yes, no será posible realizar
cambios ya que está compartida con permiso de "solo lectura".
Cuando
los permisos Linux se contradicen con los permisos samba, tendrá
efecto el permiso más restrictivo de los dos.
Para
simplificar la administración de los permisos, se recomienda no ser
restrictivos en los permisos de los recursos compartidos con samba y
aplicar los permisos en el Sistema Linux, de ésta forma, además de
ser efectivos cuando accedemos a través de samba, también lo
seguirán siendo si accedemos de otra forma como por SSH, FTP o en la
consola del servidor.
Espero
que os sea de ayuda a todos un saludo:
Antonio
Comentarios
Saludos!!
Publicar un comentario
Dejanos tu opinión o comentario, entre todos podemos aprender más sobre los temas que se tratan en este Blog. No te olvides seguidme en Twitter, YouTube o Facebook. Muchas gracias por tu tiempo. 👋😎