Autor Tema: [Ayuda]Permisos en carpetas samba  (Leído 5006 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Uchija Itachi

  • The Communiter-
  • *
  • Mensajes: 1437
[Ayuda]Permisos en carpetas samba
« : junio 20, 2014, 09:26:37 am »
Buenos días, pues tengo unas dudas respecto a los permisos en carpetas compartidas en samba,

la cuestion es que tengo algunas carpetas en las cuales las personas deben de subir archivos solamente subirlos despues de subirlos no pueden modificarlos ni borrarlos.

Ahi es donde entra mi duda, para subirlos necesito darles permisos W de write osea de escruitura  y eso incluye que puedan modificarlos o borrarlos.

y que este otro usuario que este administre ahorita tengo en el archivo smb.conf las configuraciones de valid users, write list, si agrego la read list solo los puedo leer si los agrego a la write list pueden modificarlos y borrarlos.

lo que he pensado es ponerle las restricciones a las carpetas pero no estoy seguro de eso, o crear grupos.


Les agradeceria su ayuda.
"Si la fe es ciega.. La justicia es ciega.. El amor es ciego.. Para que pagar la factura de la luz" - Xhelazz

"La tele me ha culturizado.. Porque cada vez que la encienden en casa, me voy a leer a mi cuarto" - Xhelazz

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14587
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #1 : junio 20, 2014, 09:35:01 am »
estas un poco confundido con lo que W significa, si das permisos de escritura pero no de lectura podes conseguir lo que andas buscando, van a poder escribir al directorio pero no leer lo que esta ahi.
tenes que tener un grupo con permisos adecuados (chmod 300) para hacer eso, el problema es que no vas a poder listar el contenido del directorio tampoco. lo que vos queres especificamente es impractico. deberias replantear lo que queres hacer.

Desconectado Uchija Itachi

  • The Communiter-
  • *
  • Mensajes: 1437
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #2 : junio 20, 2014, 09:37:10 am »
estas un poco confundido con lo que W significa, si das permisos de escritura pero no de lectura podes conseguir lo que andas buscando, van a poder escribir al directorio pero no leer lo que esta ahi.
tenes que tener un grupo con permisos adecuados (chmod 300) para hacer eso, el problema es que no vas a poder listar el contenido del directorio tampoco. lo que vos queres especificamente es impractico. deberias replantear lo que queres hacer.

mmm no si me di a explicar, lo que quiero hacer es en un grupo todos puedan subir archivos mas no puedan borrarlos ni modificarlos.

Probare con lo q me dijiste. Gracias.
"Si la fe es ciega.. La justicia es ciega.. El amor es ciego.. Para que pagar la factura de la luz" - Xhelazz

"La tele me ha culturizado.. Porque cada vez que la encienden en casa, me voy a leer a mi cuarto" - Xhelazz

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14587
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #3 : junio 20, 2014, 09:45:36 am »
mmm no si me di a explicar, lo que quiero hacer es en un grupo todos puedan subir archivos mas no puedan borrarlos ni modificarlos.
esque ese es el clavo, en linux no tenes tanta granularidad como reglas separadas para crear / modificar / borrar.

se me acaba de ocurrir algo que te puede servir. podes crear un cronjob que corra cada cinco minutos (o cada minuto si queres) que le cambie el propietario a todos los archivos dentro del directorio y que todos los archivos tengan permisos 744.

ojo, la carpeta donde esten TIENE que estar en 766 o en 666
« Última Modificación: junio 20, 2014, 09:47:30 am por g00mba »

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #4 : junio 20, 2014, 09:54:17 am »
Uchija Itachi, eso tiene varias soluciones, pero antes que nada deci que distribución de Linux y que versión es.

Tambien si estas usando Samba 3 o 4, en base a todo esto se te puede dar una mejor respuesta.

Desconectado Uchija Itachi

  • The Communiter-
  • *
  • Mensajes: 1437
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #5 : junio 20, 2014, 10:42:56 am »
Uchija Itachi, eso tiene varias soluciones, pero antes que nada deci que distribución de Linux y que versión es.

Tambien si estas usando Samba 3 o 4, en base a todo esto se te puede dar una mejor respuesta.


ubuntu 11.10
Samba 4.0.0
"Si la fe es ciega.. La justicia es ciega.. El amor es ciego.. Para que pagar la factura de la luz" - Xhelazz

"La tele me ha culturizado.. Porque cada vez que la encienden en casa, me voy a leer a mi cuarto" - Xhelazz

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #6 : junio 20, 2014, 06:25:55 pm »
Tu versión de Ubuntu es algo antigua pero veamos si aun aplica. La solución que personalmente uso que consiste en volver a los archivos "inmutables" usando "chattr" e "incron" (osea, haciendo uso de inotify).

El comando chattr +i hace que los archivos sean inmutables, osea: una vez creados no pueden modificarse, eliminarse o renombrarse. Esto es básicamente lo que entiendo que queres.

Un ejemplo de como protegerias todos los archivos:
Código: [Seleccionar]
chattr -R +i /tu/carpetacompartida
Ahora bien, esto tiene su propio problema porque luego ni root en el servidor puede borrar estos archivos a  menos que hagas:
Código: [Seleccionar]
chattr -i /tu/carpetacompartida/archivoQueBorraras.abcCon eso le quitas el atributo de inmutable y luego podes borrarlo.

Ahora bien, con "incron" ejecutas el comando "chattr" cuando un nuevo archivo en tu carpeta se cree. Notá que esta solución es independiente de SAMBA por lo que ese directorio quedaría protegido para cualquier otro servicio (FTP, SCP, NFS, etc).

En Ubuntu el paquete es "incron" y lo podes configurar todo asi:

Código: [Seleccionar]
sudo apt-get install incron
sudo nano /etc/incron.allow

En esa pantalla (seguro se te abrirá nano como editor) pones la siguiente linea:

Código: [Seleccionar]
root
Luego presionas CTRL+O y luego CTRL+X

Luego:

Código: [Seleccionar]
sudo incrontab -e
En ese pantalla (de nuevo, seguro se te abrirá nano como editor) pones la siguiente linea:

Código: [Seleccionar]
/tu/carpetacompartido IN_CLOSE_WRITE chatrr +i $@/$#

Luego presionas CTRL+O y luego CTRL+X

Y bueno, este es el método que yo utilizo es muy diferente a cualquiera que encontres en internet porque la mayoría de otras soluciones te indican que tenes que conformarte con que siempre se van a poder renombrar los archivos (solución de permisos via mascara), que hayan retrasos entre la creación y la aplicación de permisos (uso de cron), o que el usuario que creo el archivo lo va a poder borrar (solución del sticky bit), etc.
« Última Modificación: junio 20, 2014, 08:26:14 pm por vlad »

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #7 : junio 20, 2014, 08:22:18 pm »
esque ese es el clavo, en linux no tenes tanta granularidad como reglas separadas para crear / modificar / borrar.
Oh, pero si tiene, y en muchas formas: apparmor, SELinux, ACL, Atributos secundarios, etc. todo depende de la distribución y que necesites.

Por ejemplo:
- ACL para cuando queres aplicar los permisos usuales (RWX) pero a una lista de usuarios o grupos especificos.
- AppArmor / SELinux para cuando queres aplicar permisos por programa
- Atributos secundarios: cuando necesitas un mayor control de permisos en un directorio/archivo como para el caso expuesto del OP

Aparte de la provisión de inotify que te sirve para implementar muchisimas cosas con incron, iwatch, gamin, etc, etc. sin tener que recurrir a hacer polling con cron para descubrir nuevos archivos.

Desconectado Uchija Itachi

  • The Communiter-
  • *
  • Mensajes: 1437
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #8 : junio 22, 2014, 07:45:08 pm »
Oh, pero si tiene, y en muchas formas: apparmor, SELinux, ACL, Atributos secundarios, etc. todo depende de la distribución y que necesites.

Por ejemplo:
- ACL para cuando queres aplicar los permisos usuales (RWX) pero a una lista de usuarios o grupos especificos.
- AppArmor / SELinux para cuando queres aplicar permisos por programa
- Atributos secundarios: cuando necesitas un mayor control de permisos en un directorio/archivo como para el caso expuesto del OP

Aparte de la provisión de inotify que te sirve para implementar muchisimas cosas con incron, iwatch, gamin, etc, etc. sin tener que recurrir a hacer polling con cron para descubrir nuevos archivos.

Wow muchas gracias probare esto que me has dicho!
"Si la fe es ciega.. La justicia es ciega.. El amor es ciego.. Para que pagar la factura de la luz" - Xhelazz

"La tele me ha culturizado.. Porque cada vez que la encienden en casa, me voy a leer a mi cuarto" - Xhelazz

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14587
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #9 : junio 22, 2014, 08:18:38 pm »
Oh, pero si tiene, y en muchas formas: apparmor, SELinux, ACL, Atributos secundarios, etc. todo depende de la distribución y que necesites.

Por ejemplo:
- ACL para cuando queres aplicar los permisos usuales (RWX) pero a una lista de usuarios o grupos especificos.
- AppArmor / SELinux para cuando queres aplicar permisos por programa
- Atributos secundarios: cuando necesitas un mayor control de permisos en un directorio/archivo como para el caso expuesto del OP

Aparte de la provisión de inotify que te sirve para implementar muchisimas cosas con incron, iwatch, gamin, etc, etc. sin tener que recurrir a hacer polling con cron para descubrir nuevos archivos.
ojo en lo que comentaba estaba hablando de acciones ATOMICAS sobre archivos, no sobre quienes las pueden hacer, si, con SE linux si tenes mas opciones en lo que quienes pueden hacer cosas por ejemplo, pero no tenes la granularidad de accion que tenes en windows server por ejemplo que podes crear, ver y abrir pero no modificar por ejemplo, por lo menos no sin instalar cosas adicionales.

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #10 : junio 22, 2014, 08:46:37 pm »
Pero por eso puse que depende de la distribución, por ejemplo CentOs, RedHat y sus variantes (Ej. Fedora) tienen SELinux por defecto, mientras que AppArmor es parte de Ubuntu y facilmente instalable en Debian. Los atributos secundarios y el ACL son cuestion del sistema de archivos y el soporte del kernel.

Y si lo vamos a comparar con Windows Server entonces seria justo mencionar que en toda version Linux orientada a uso de servidor viene con AppArmor/SELinux, ACL y soporte atributos secundarios por defecto; que la configuración sea diferente no viene al caso.

Y por si fuera poco acá estamos viendo como Linux es tan versátil que hasta puede implementar seguridad avanzada en protocolos no nativos como SAMBA/CIFS

Con lo de los atributos secundarios si hablamos de algo muy diferente a SELinux/AppArmor e incluso ACL, porque esto si son atributos de modificacion sobre los archivos, no sobre quienes pueden modificarlos.

Finalmente con lo de "acciones atomicas" si me perdes porque a como yo entiendo una acción atomica (un proceso indivisible o grupo de procedimientos que deben tratarse como uno solo) no tiene nada que ver con lo se que esta discutiendo en el tema.

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14587
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #11 : junio 23, 2014, 09:42:41 am »
Finalmente con lo de "acciones atomicas" si me perdes porque a como yo entiendo una acción atomica (un proceso indivisible o grupo de procedimientos que deben tratarse como uno solo) no tiene nada que ver con lo se que esta discutiendo en el tema.
tiene todo que ver! cuando digo control de accion atomica es como el hecho que crear, modificar y borrar en linux no estan como reglas separadas sino como un solo en WRITE. si fuera mas atomico permitiria cambiar reglas separadas para cada uno, con eso me refiero a permisos atomicos.

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re:[Ayuda]Permisos en carpetas samba
« Respuesta #12 : junio 23, 2014, 10:06:44 am »
Lo que sucede es que por definición crear, modificar y borrar son operaciones escritura, y si pueden ser controladas de forma individual o como tu lo pones "atomicamente".

Si le quitas permisos de escritura a la carpeta ya no podes crear, si usas chattr podes impedir modificar/borar e incluso truncar.

La única acción que no estoy seguro que se pueda hacer es permitir borrar pero no modificar.

Pero si lo pensas no tiene lógica porque en ese caso mejor se borraría el archivo y se volvería a crear para saltar el "no modificar"

Quizá por eso en Linux el permiso de "no modificar" incluye las restricciones de "no borrar, no editar y no renombrar" porque solo al unir esas tres restricciones podes evitar una mala intención.
Sent from my RM-915_lta_lta_368 using Tapatalk