FTP compartido de Linux: no se debe eliminar un archivo

FTP compartido de Linux: no se debe eliminar un archivo

Dos usuarios:

A1:x:1001:1002::/home/A1:/bin/sh
A2:x:1002:1002::/home/A1:/bin/sh

Un grupo:

A1:x:1002:

Servidor FTP: instalación nueva ProFTPd OS: instalación nueva Ubuntu Server 12.04

Una carpeta (/home/A1) que quiero compartir entre A1 y A2:

/home/A1: A1:A1 rwxrwxr-x
/home/A1/B1.txt: A1:A1 rw-rw-r--
/home/A2/B2.txt: A1:A1 rw-r--r--

Lo que quiero:

  • B1.txt será modificable por A1 y A2
  • B1.txt será modificable por A1, pero no por A2, por lo que A2 solo podrá leerlo.

Cuando me conecto a FTP ahora, A2 puede modificar cualquier cosa y realmente no entiendo esto. Si elimino el permiso de escritura grupal de /home/A1 (por lo que rwxr-xr-x), A2 no puede modificar nada.

¿Qué hago mal?

Respuesta1

Cargar un archivo funciona creando un nuevo archivo temporal y moviéndolo a su lugar, no sobrescribiendo el archivo existente. Esto se debe a que si la conexión se pierde mientras se sobrescribe el archivo, quedará un archivo incompleto.

Cargar un archivo nuevo, eliminar un archivo existente y cargar una nueva versión de un archivo existente requiere acceso de escritura únicamente al directorio. Los permisos del archivo existente, si los hay, no importan. Por tanto, A2 puede modificar igualmente B1.txty B2.txt.

Si necesita permisos diferentes para actualizar estos dos archivos, colóquelos en directorios diferentes con permisos diferentes.

Si necesita que los dos archivos estén disponibles en el mismo directorio, cree B1.txtun enlace simbólico a writable-by-A2/B1.txtun writable-by-A2directorio donde A2 tiene permiso de escritura.

Respuesta2

¿Qué mensaje de error estás recibiendo?

Si el error es "Permiso de sobrescritura denegado", entonces necesita habilitar la sobrescritura en su proftpd.conf; de forma predeterminada, está deshabilitada.

Para hacer esto, agregue:

AllowOverwrite yes

a la <Global>sección (esto permitirá sobrescribir en cualquier lugar donde los permisos del archivo lo permitan), o a una <Directory /home/A1>sección (esto permitirá sobrescribir solo en ese directorio y solo si los permisos del archivo lo permitan).

Si estos no son los mensajes de error, agregue más detalles a su pregunta: al menos el mensaje de error y preferiblemente un extracto del registro.

información relacionada