Compartir carpeta directorio a todos los usuarios Linux



  Solución Elegida Por El Autor

Publicado 01 abril 2017 - 21:59

Hola Carlos, voy a hacer el esfuerzo de echarte un cable en este tema. Es un básico que mucha gente necesita y necesitará. Yo como administrador de sistemas estoy al día de esto. Te digo los pasos para crear y compartir carpeta en sistemas Linux.
 
Lo primero que cuidado con dar acceso a TODOS a una carpeta, da igual que sea Windows o Linux. Eso es peligroso y debemos tenerlo bien controlado. Ok, doy por hecho que controlas y que es para una carpeta puntual que quieres todos tengas acceso dándoles acceso de lectura / escritura. Te recomiendo que incluyas a los usuarios en un grupo concreto y darle acceso al grupo lectura / escritura a la carpeta que necesites.
 
Te dejo ahora cómo habilitar el acceso de escritura a todos los usuarios de una carpeta compartida Linux.
 
Esto requiere establecer los permisos de acceso adecuados y el método más efectivo y confiable para asignar un grupo común a todos los usuarios que compartirán o tendrán acceso de escritura al directorio específico.
 

 

 

Paso 1

 

Lo primero lógicamente sería crear la carpeta que quieres compartir (Cambia el nombre de carpeta y grupo que yo he puesto "carpetacompartir" y "nombregrupo")

 

$ sudo mkdir -p /var/www/test/carpetacompartir/
$ sudo groupadd nombregrupo

 

 

 

Paso 2

 

Ahora te pongo ejemplo de incluir usuarios en el grupo y con permisos de escritura que es lo que estás pidiendo. Repite este comando con todos los usuarios que quieras incluir en el grupo que comentas con acceso de escritura y lectura.

 

$ sudo usermod -a -G nombregrupo usuario

 

Estos son los parámetros para que entiendas que hace cada uno.

  1. -a > añade al usuario al grupo
  2. -G > especificas nombre de grupo a continuación

 

 

Paso 3

 

Ahora usamos los comandos CHMOD y CHGRP que nos sirven para agregar permisos al directorio que hemos creado. Usando el grupo en uno de ellos:

 

 

Este comando es para darle permiso escritura al grupo que hemos creado:

 

$ sudo chgrp -R nombregrupo /var/www/test/carpetacompartir/

 

 

 

Paso 4

 

Elige una de estas dos que sería para darle permisos a la carpeta:

 

$ sudo chmod -R 2775 /var/www/test/carpetacompartir/

$ sudo chmod -R 2770 /var/www/test/carpetacompartir/

 

 

Entiende los permisos que he puesto (2775 y 2777) lo que significan con CHMOD:

  • 2 : Activar setGID, esto es para que implique a las subcarpetas del grupo y directorio tengan lo mismo que el directorio raiz.
  • 7 : Dar rwx es dar todos los permisos (Escribir, leer y ejecutar para el creador owner) 
  • 7 : Dar rwx permisos para grupo
  • 5 : Dar permisos rx (Lectura y ejecución) NO escritura para otros que no sean estos.

 

Más info de permisos yo usé este tutorial que lo explican bien en Solvetic sobre el CHMOD:

 

Permisos CHMOD Linux

 

Añade más usuarios al grupo si quieres meter alguno más:

 

$ sudo useradd -m -c "Sergio Solvetic" -s/bin/bash -G nombregrupo sergio

 
 
Con esta info ya tienes suficiente yo creo para saber crear carpetas 

   AUTOR PREGUNTA

Publicado 01 abril 2017 - 20:08

Hola a todos,

 

necesito hacer una cosa y no encuentro como hacerlo, sería el cómo compartir una carpeta en sistemas Linux. Lo quiero con acceso y permisos de lectura y escritura a todos los usuarios de Linux.

 

Muchas gracias adelantadas.

 

Saludos.




15 personas más tuvieron esta duda Yo también

 

Publicado 01 abril 2017 - 21:59

Hola Carlos, voy a hacer el esfuerzo de echarte un cable en este tema. Es un básico que mucha gente necesita y necesitará. Yo como administrador de sistemas estoy al día de esto. Te digo los pasos para crear y compartir carpeta en sistemas Linux.
 
Lo primero que cuidado con dar acceso a TODOS a una carpeta, da igual que sea Windows o Linux. Eso es peligroso y debemos tenerlo bien controlado. Ok, doy por hecho que controlas y que es para una carpeta puntual que quieres todos tengas acceso dándoles acceso de lectura / escritura. Te recomiendo que incluyas a los usuarios en un grupo concreto y darle acceso al grupo lectura / escritura a la carpeta que necesites.
 
Te dejo ahora cómo habilitar el acceso de escritura a todos los usuarios de una carpeta compartida Linux.
 
Esto requiere establecer los permisos de acceso adecuados y el método más efectivo y confiable para asignar un grupo común a todos los usuarios que compartirán o tendrán acceso de escritura al directorio específico.
 

 

 

Paso 1

 

Lo primero lógicamente sería crear la carpeta que quieres compartir (Cambia el nombre de carpeta y grupo que yo he puesto "carpetacompartir" y "nombregrupo")

 

$ sudo mkdir -p /var/www/test/carpetacompartir/
$ sudo groupadd nombregrupo

 

 

 

Paso 2

 

Ahora te pongo ejemplo de incluir usuarios en el grupo y con permisos de escritura que es lo que estás pidiendo. Repite este comando con todos los usuarios que quieras incluir en el grupo que comentas con acceso de escritura y lectura.

 

$ sudo usermod -a -G nombregrupo usuario

 

Estos son los parámetros para que entiendas que hace cada uno.

  1. -a > añade al usuario al grupo
  2. -G > especificas nombre de grupo a continuación

 

 

Paso 3

 

Ahora usamos los comandos CHMOD y CHGRP que nos sirven para agregar permisos al directorio que hemos creado. Usando el grupo en uno de ellos:

 

 

Este comando es para darle permiso escritura al grupo que hemos creado:

 

$ sudo chgrp -R nombregrupo /var/www/test/carpetacompartir/

 

 

 

Paso 4

 

Elige una de estas dos que sería para darle permisos a la carpeta:

 

$ sudo chmod -R 2775 /var/www/test/carpetacompartir/

$ sudo chmod -R 2770 /var/www/test/carpetacompartir/

 

 

Entiende los permisos que he puesto (2775 y 2777) lo que significan con CHMOD:

  • 2 : Activar setGID, esto es para que implique a las subcarpetas del grupo y directorio tengan lo mismo que el directorio raiz.
  • 7 : Dar rwx es dar todos los permisos (Escribir, leer y ejecutar para el creador owner) 
  • 7 : Dar rwx permisos para grupo
  • 5 : Dar permisos rx (Lectura y ejecución) NO escritura para otros que no sean estos.

 

Más info de permisos yo usé este tutorial que lo explican bien en Solvetic sobre el CHMOD:

 

Permisos CHMOD Linux

 

Añade más usuarios al grupo si quieres meter alguno más:

 

$ sudo useradd -m -c "Sergio Solvetic" -s/bin/bash -G nombregrupo sergio

 
 
Con esta info ya tienes suficiente yo creo para saber crear carpetas 

   AUTOR PREGUNTA

Publicado 01 abril 2017 - 23:39

Muchas gracias por esta respuesta, bueno mas que respuesta es un tutorial jajaj. Te he dado el punto. Una cosa, me faltaría saber como compartir carpeta entre varios equipos Linux. ¿Como se realiza eso, con Samba?


 

Publicado 02 abril 2017 - 14:32

En sistemas GNU / Linux aunque tienes diferentes formas, yo me centro en Samba Share (SMB) es una manera agradable y rápida de compartir discos y carpetas también a diferentes sistemas operativos.
 
Si lo que quieres es compartir carpetas entre Linux (Ubuntu) y Windows mira este tutorial:
 
 
 
Comentarte que NFS se usa mucho en los sistemas Linux / Unix, pero SMB y NetWare Core Protocol (NCP) son los que se suelen usar para sistemas que ejecutan Windows. Te voy a explicar como hacer en Linux con SMB ya que la parte buena es que lo tendrás compatible con todos los sistemas.
 
Aunque usas Linux compartido con Linux puedes usar con Samba, ya que más adelante estoy convencido que alguna vez querrás que entre alguna maquina Windows. Samba es el paquete estándar de Windows para Linux y Unix. La parte interesante es que Samba es un Software Libre con Licencia Pública General GNU. Con el protocolo SMB verás que puedes compartir archivos entre muchos sistemas operativos. (Windows, Linux, Mac etc.)
 
 
Cómo compartir carpeta entre dos ordenadores Linux con Samba
 
 
Paso 1
 

Primero debemos instalar Samba. Entra en tu consola de Linux y escribe lo siguiente:

 

sudo apt-get install samba

 

 

Realiza una copia de seguridad del archivo de configuración:

 

sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.orig

 

 

Paso 2

 

Ahora pasamos a editar el archivo de configuración de Samba:

 

sudo gedit /etc/samba/smb.conf

 

Justo después de la zona "Share Definition" tenemos que añadir lo siguiente, que servirá para comentar cual es la carpeta compartida:

 

[Samba_Shared_Folder]
path = /home/Ruta_de_carpeta_compartida
available = yes
browsable = yes
public = yes
writable = yes
create mask = 0777
directory mask = 0777

 

 

Paso 3

 

Ahora reiniciamos el proceso de Samba para que sea efectivos estos cambios que hemos añadido.

 

sudo /etc/init.d/samba restart

 

sudo service smbd restart

 

 

Ahora ya podrás acceder a esa carpeta desde otros equipos ya sean Windows, Linux o Mac sin ningún problema. No entro en los comandos de CHMOD que ya sabes que aquí lo explican bien y es para que conozcas que permisos le pones a la carpeta compartida.

 

   AUTOR PREGUNTA

Publicado 02 abril 2017 - 15:18

Gracias por tu ayuda Sergio, eres uno de los mejores. Te debo una.


 

Publicado 02 abril 2017 - 17:48

Gracias por esta respuesta.


 

Publicado 05 enero 2019 - 23:53

Compartir archivos o carpetas con otros usuarios es un aspecto muy importante, verás cómo poder lograr esto en un sistema Linux, primero que nada, para lograr esto, necesitamos saber cómo crear tanto carpetas como grupos en Linux.

  • El primer paso en este procedimiento es crear la carpeta que deseas compartir con tus contactos de Linux, para esto, debes utilizar el siguiente comando: “$ sudo mkdir -p /var/www/test/nombredelacarpeta/”, en el espacio entre las dos barras (/) debes escribir el nombre de que deseas colocar a la carpeta.
  • Con la carpeta ya creada, agrega la información que deseas compartir y procede a crear el grupo de usuarios, para ello, utiliza el comando que verás a continuación: “$ sudo groupadd nombredelgrupoacrear” de igual forma, en el último espacio colocarás el nombre que le darás al grupo.
  • Una vez tengas lista tanto la carpeta como el grupo, deberás proceder a incluir a los usuarios a este último con todos los permisos de lectura y escritura de la carpeta, para ello, utiliza el comando presentado a continuación: “$ sudo usermod -a -G nombredelgrupo nombredelusuario” (deberás repetir este comando con cada uno de los usuarios a añadir.).

 

Te comento que la letra “a” dentro del comando se utiliza para añadir al usuario al grupo en cuestión, mientras que después de la letra “G”debes especificar el nombre del grupo.

  • Seguidamente has uso de los siguientes comandos “CHMOD” y “CHGRP” haciendo uso de estos, serás capaz de agregar los permisos a la lista de usuarios que has creado.
  • Ahora bien, para otorgar los permisos de escritura a todo el grupo utiliza el comando que te comparto a continuación “$ sudo chgrp -R nombredelgrupo /var/www/test/nombredelacarpeta/”.
  • Por último, ya puedes añadir los permisos a la carpeta haciendo uso del siguiente comando: “$ sudo chmod -R 2775 /var/www/test/nombredelacarpeta/”

 

¡Muy bien! Ya tienes toda la información que necesitas tanto para crear grupos y añadir a los otros usuarios al mismo, como para crear carpetas y otorgar los permisos para que los demás usuarios puedan acceder a ella sin problemas.

 

Con esto, ya estarás casi listo para empezar a compartir carpetas, para lograr esto, necesitarás la ayuda de un programa conocido como Samba.

  • Para colocar Samba en tu unidad Linux, ingresa a tu dispositivo y coloca el siguiente comando: “Sudo apt-get install samba”.
  • A continuación debes configurar Samba para poder compartir las carpetas con los demás usuarios, utiliza este comando para acceder al apartado de configuración de Samba “Sudo gedit /etc/samba/smb.conf”.
  • Encontrarás un apartado llamado “Share Definition” justo después de este agrega la siguiente información:

 

[Samba_Shared_Folder]
path = /home/Ruta_de_nombre_de_la_carpeta
available = yes
browsable = yes
public = yes
writable = yes
create mask = 0777
directory mask = 0777

 

  • Para hacer efectiva la nueva configuración que hemos agregado, será necesario utilizar el siguiente comando para reiniciar Samba: “sudo /etc/init.d/samba restart sudo service smbd restart”.

 

Con esto los demás usuarios del grupo podrán acceder sin problemas a la carpeta que has compartido desde sus equipos, sin importar en sistema operativo que usen en sus dispositivos.

 

Os dejo unos videos de como hacerlo en Ubuntu:

 

 

 

 

También sobre como compartir carpetas a Linux y también usuarios Windows:

 


 

Publicado 25 junio 2019 - 00:37

Bueno para este caso es necesaria la utilización de un programa tercero que te permita realizar este característica, para ello tienes dos opciones como lo son Samba y NFS, aunque yo preferiblemente utilizo esta última.

 

Por lo tanto, a continuación te comentare el método a utilizar para lograrlo con dicha herramienta:

 

Tienes que ejecutar el siguiente comando: apt-get install nfs-common nfs-kernel-server, con el fin de conseguir instalar NFS.

 

Después tienes que proceder a señalar cuales son las carpetas que deseas compartir e igualmente definir los tipos de permisos que deseas (este programa admite la configuración de solo lectura o “RO” aunque también posee la opción de escritura y lectura “RW”).

 

Acto seguido tienes que iniciar el servidor NFS, esto lo haces con este comando:sudo /etc/init.d/portmap start, aunque igualmente si deseas realizar un cambio en las configuraciones y volverlo a iniciar, aplica esta descripción: sudo /etc/init.d/nfs-kernel-server Restart.

Y listo, ahora solo queda que los demás usuarios verifiquen si pueden acceder a la carpeta, esto lo hacen así:

 

Deben acceder a esta linea de comandos: sudo apt-get install portmap nfs-common e igualmente sudo /etc/init.d/portmap Restart, con el fin de que se instalen el programa de “Portman” junto con la lectura de “NFS-Commons”.

 

Luego, tienes que colocar esta descripcion: sudo mount -t nfs ip-del-servidor, seguido de la ubicación de la carpeta.

 

Es decir, colocar directamente la ubicación del archivo señalando todos y cada uno de los apartados de accesos, separados cada uno de ellos con un diagonal, e igualmente especificando el inicio con dos puntos.

 

Por ejemplo, si la carpeta se conoce como “Solvetic” y está en la seccion de “Archivos”, tienes que colocar una linea de comandos parecida a esta: sudo mount -t nfs ip-del-servidor: /Archivos /Solvetic.

 

Te comento que si en algún punto deseas detener este programa, entonces solo debes utilizar este comando: sudo /etc/init.d/nfs-kernel-server stop y ya la carpeta no se compartirá a los demás usuarios.

 

 


 

Publicado 09 julio 2019 - 18:32

Debes tomar en cuenta que asignarle un directorio compartido así como todo el contenido que posee el mismo a grupo especial, involucrando a la vez permisos de escritura y lectura, es un tema bastante delicado que debes analizar muy bien antes de hacerlo.

 

Esto se debe a que estas permitiendo que se controle tanto el acceso a la información, como incluso la modificación de la misma.En tal sentido debes tener claro que el compartir carpeta de directorio es más que una simpe interacción entre los usuarios.

 

Ahora si ya estas decidido a realizar este procedimiento te lo explico a continuación.

  • Para comenzar, debes escribir el siguiente comando en la barra de ejecución: $ sudo mkdir –p/var/www/test/nombredelacarpeta en mi caso le pondré ultimareunion/ y presionas enter, de esta manera se creara la carpeta que deseas compartir.
  • Ahora incorpórale la información o contenido que deseas que llegue al resto de las personas.
  • A continuación, será necesario que crees el grupo de usuarios a quien le otorgaras los permisos y quienes tendrán acceso directo a la carpeta, para ello debes copiar lo siguiente en la barra de comandos: $ sudo groupadd aquí escribes el nombre del grupo, en mi caso le colocare analistasdeinventario, y presionas “Enter”
  • Después en ese grupo debes incluir de manera manual uno por uno el nombre de cada usuario, para ello utilizaras el siguiente comando: $ sudo usermod –a –G nombre del grupo y el nombre del usuario y haces clic en “Enter”
  • Será necesario ahora que escribas los siguientes comandos: CHMOD y CHGRP, presionas “Enter” e incorporaras los permisos de lectoescritura que le asignas a los usuarios.
  • Para concluir, solo necesitas escribir los siguientes comandos: $ sudo chgro –R nombre del grupo/var/www/test/nombre de la carpeta/ y presionas “Enter” ahora el siguiente: $ sudo chmod –R 2775 /var/www/test/nombre de la carpeta/y “Enter”.

   AUTOR PREGUNTA

Publicado 17 julio 2019 - 12:47

Gracias por las continuas respuestas, todo aporta. Saludos a todos.