
Tengo un servidor de archivos multimedia doméstico al que conecté un nuevo usuario en Ubuntu 20.04 (a través de Samba). El servidor de archivos es un micro-PC que hace el trabajo de un NAS.
El nuevo usuario tiene 9 años y le gustaría tener permisos de lectura para un par de carpetas de videos infantiles, sus propios archivos, etc. Podría simplemente hacerle una copia local de ellos, pero sería mejor encontrar alguna forma de limitar el acceso desde el lado del invitado en lugar de desde el servidor.
Estoy interesado en dejar al usuario con permisos de root para compartir samba pero aparentemente limitarlo de otra manera en la interfaz de usuario.
¿Existe algún administrador de archivos bloqueado intencionalmente/de solo lectura que pueda instalar y que no tenga la capacidad de eliminar o cambiar archivos? ¿O que puede utilizar listas internas permitidas o no permitidas de ubicaciones de carpetas, sin referencia a los permisos del usuario?
¿Es (probablemente) posible eliminar los comandos -rm y -mv de las capacidades de Thunar? por ejemplo, se podrían usar acciones personalizadas para desactivar la tecla 'eliminar' (y no está en los menús), pero aún existe la posibilidad de navegar en el servidor de archivos. En este caso, el directorio "principal" es literalmente el directorio principal.
¿Existe alguna utilidad de tipo control parental que pueda restringir los administradores de archivos además del acceso a Internet o en lugar de él?
Como alternativa a 1. esto es solo para reproducir medios, entonces, ¿existe alguna aplicación "Video Jukebox" exclusiva del cliente que no pueda mover/renombrar/eliminar?
También como alternativa a 1. Podría configurar una aplicación de servidor de medios en el servidor de archivos, al lado de Samba, pero esto no parece sencillo con los paquetes disponibles para Puppy Linux.
===
La gente suele decir "los niños encuentran formas de solucionar estas cosas", pero esto implica un montón de suposiciones sobre los niveles de capacidad; recuerde que mi solución es hacer una copia local.
gracias xx catty
Respuesta1
Encontré una solución utilizando permisos de Samba, pero aún así me gustaría saber si existen enfoques del lado del cliente. (Nunca he oído hablar de ninguno, pero quién sabe).
En mi situación, donde existe un servidor de archivos tipo NAS existente y en funcionamiento que comparte un sistema de archivos NTFS externo, donde nunca se han establecido permisos de usuario desde Windows, ejecutando un servidor Samba y una PC cliente Ubuntu con un usuario adulto (" nombreadulto") y un usuario infantil ("nombreniño")...
El Samba NAS-box necesita la capacidad de agregar el nombre de usuario de Ubuntu del niño como usuario. Por ejemplo, a través de 'adduser childname'
el nombre de usuario del niño se agrega al servidor, pero no se puede usar (fácilmente) para configurar permisos de archivos acl/Linux en un disco NTFS, solo necesitaba que estuviera allí para Samba
En el servidor, una vez creado el usuario, se debe agregar a Samba y también habilitarlo en Samba. Los comandos para esto fueron 'smbpasswd -a childname' y luego 'smbpasswd -e childname'.
Siempre que funcionaran bien antes de agregar el usuario secundario (hay muchas guías), la línea /etc/fstab que usa el servidor para montar su disco duro no es tan importante y se puede dejar igual
la línea /etc/fstab que el cliente usa para montar el recurso compartido Samba tampoco es tan importante, no es necesario agregar nuevas configuraciones para acl, o fmask= y dmask=, o file_mode= y folder_mode=, ni para ninguna credencial adicional. archivo a crear
no es necesario intentar crear un archivo de mapeo de usuarios para habilitar los permisos de archivos acl/POSIX en el disco ntfs (esto podría ser una solución posible)
en sus respectivos archivos etc/fstab, el servidor puede usar ntfs como tipo de archivo, pero el cliente debe usar cifs si desea montarlo automáticamente.
en el disco duro compartido, es mejor no mantener la carpeta del usuario infantil dentro de la carpeta del usuario adulto, o que la carpeta del adulto sea la raíz de la unidad (en mi caso, no pude evitar estas cosas fácilmente)
El tipo simple de permisos necesarios para agregar un usuario infantil sin acceso de escritura y con acceso de lectura limitado se puede administrar dentro de Samba editando smb.conf.
en smb.conf la configuración global necesaria para agregar esta línea: -
navegable = no
en smb.conf, era necesario agregar estas líneas a la entrada para el recurso compartido del usuario adulto: -
lista de lectura = raíz nombre de adultos nombre de niños
escribir lista = raíz nombre de adultos
En lo anterior, aunque es contradictorio, el nombre de usuario del niño debe estar en la lista de lectura del recurso compartido de samba del adulto, ya que su carpeta está dentro y los permisos no se "atraviesan" simplemente para permitirle leer su recurso compartido sin poder hacerlo también. para leer la carpeta de arriba
configurar navegable = no no es seguro, como eliminar los permisos del archivo acl/POSIX de ese usuario para esos archivos, pero en este caso es lo suficientemente bueno
en smb.conf, la entrada para el recurso compartido del usuario infantil necesitaba tener estas líneas agregadas: -
lista de lectura = raíz nombre de adultos nombre de niños
escribir lista = raíz nombre de adultos
en mi caso, los cambios anteriores no afectaron a las PC locales con Windows que acceden a los recursos compartidos.
Otros enfoques podrían haber sido hacer copias locales de todos los archivos para el usuario infantil, o reformatear el disco duro compartido como ext4 y organizar el diseño de la carpeta de manera diferente, pero encontré que esta manera era preferible, hace lo que quería y usa Samba. control de acceso corto de acl
Si he cometido algún error le agradecería saberlo. Si hay una forma más sencilla de limitar a un usuario dentro de la interfaz de usuario de Ubuntu, eso también sería útil (ya que no está de más agregar esas cosas encima si están allí).