¿Permitir que otro usuario copie los archivos de mi carpeta?

¿Permitir que otro usuario copie los archivos de mi carpeta?

Estoy trabajando con Ubuntu y tengo un archivo jar en esta carpeta/export/home/david

Y he iniciado sesión machineBcomo davidusuario.

Algún otro usuario también ha iniciado sesión en esa misma máquina. Y quiero que otro usuario copie el archivo jar anterior desde mi ubicación.

Pero de alguna manera no pueden hacerlo porque se les niega el permiso. ¿Hay alguna manera de agregar algún permiso en ese archivo jar o en mi carpeta para que cualquiera pueda copiar los archivos de esa carpeta?

Actualizar:-

A continuación se muestra el resultado que obtuve:

david@machineB:~$ groups david
david : uucp

otheruser@machineB:~$ groups otheruser
otheruser : app

david@machineB:~$ ls -l foo.jar
-rw-r--r-- 1 david uucp 6543346 2014-03-07 18:27 foo.jar

david@machineB:~$ ls -ld $(echo "/home/david/foo.jar" | sed -r ':a; s#(.*)/[^/]*$#\1#;p;ta')
drwxr-xr-x 22 root   root 4096 2014-05-04 08:04 /home
drwx------  4 david uucp 4096 2014-03-07 18:36 /home/david

Respuesta1

Bueno, por alguna extraña razón, $HOMEsolo usted puede acceder a su directorio. Este no es el valor predeterminado en ningún sistema con el que esté familiarizado; usted o su administrador de sistemas probablemente lo hayan configurado de esta manera.

De todos modos, todo lo que necesitas hacer es darles a todos acceso de lectura/ejecución a tu archivo $HOME. Esta es la norma en la mayoría de los sistemas multiusuario para permitir que las personas compartan su trabajo. Simplemente ejecute este comando:

chmod a+rx ~/

Esto establecerá los permisos de su hogar rwxr-xr-xy permitirá que cualquiera pueda copiar archivos de su archivo $HOME.

Respuesta2

Para darle a alguien acceso de lectura a un archivo suyo, debe tener permiso de lectura en el archivo y permiso de ejecución en todos los directorios que conducen al archivo. Por ejemplo, para permitir que Alice lea /home/david/for_alice/foo.jar, debe asegurarse de que Alice tenga permiso de lectura foo.jary permiso de ejecución en /home/davidy /home/david/for_alice. El permiso de ejecución en un directorio es necesario para acceder a los archivos dentro de ese directorio por su nombre; El permiso de lectura en un directorio es necesario para enumerar los nombres de los archivos en el directorio. El permiso de lectura en los directorios no es estrictamente necesario, pero es más conveniente, especialmente si Alice va a utilizar una GUI para explorar los archivos.

Por el momento, su directorio personal tiene los permisos rwx------, es decir, sólo usted puede acceder a los archivos que contiene.

Si los archivos son locales y las herramientas ACL están disponibles, puede otorgar acceso a Alice. Los siguientes comandos le dan a Alice acceso de lectura a for_alicetodos los archivos que se encuentran debajo, pero no le permiten enumerar los archivos en su directorio de inicio (aún puede acceder a los archivos en su directorio de inicio si adivina su nombre):

setfacl -m user:alice:x ~
setfacl -Rd -m user:alice:rX ~/for_alice
setfacl -R -m user:alice:rX ~/for_alice

Si las ACL no son posibles, deberá permitir el acceso a todo el grupo o a todo el sistema.

chmod +x ~
chmod -R a+rX ~/public

Respuesta3

chmod o+r /path/to/filepermitirá permisos de lectura mundial en el archivo que desea que sus amigos puedan copiar.

chmod -R o+r /path/to/directory; find /path/to/directory -type d -exec chmod o+x {} \+para permitir que otros usuarios lean todos los archivos en formato /path/to/directory. Como señaló Patrick, chmod o+rxtambién deberá agregar lectura y ejecución mundial ( ) en todos los directorios principales. No sé cuál es la forma más fácil de escribir esto, pero estoy seguro de que es posible.

información relacionada