GNU/Linux >> Tutoriales Linux >  >> Linux

Otorgue permisos de escritura a múltiples usuarios en una carpeta en Ubuntu

Hay dos formas de hacer esto:establecer el directorio en "mundo" con permisos de escritura o crear un nuevo grupo para los dos usuarios y hacer que el directorio tenga permisos de escritura para ese grupo.

Obviamente, hacer que se pueda escribir en todo el mundo es algo malo, por lo que es preferible la segunda opción.

Los usuarios de Linux pueden pertenecer a más de un grupo. En este caso, desea crear un grupo completamente nuevo, llamémoslo tomandruser :

sudo groupadd tomandruser

Ahora que el grupo existe, agréguele los dos usuarios:

sudo usermod -a -G tomandruser tomcat6
sudo usermod -a -G tomandruser ruser

Ahora todo lo que queda es establecer los permisos en el directorio:

sudo chgrp -R tomandruser /path/to/the/directory
sudo chmod -R 770 /path/to/the/directory

Ahora solo los miembros del grupo tomandruser pueden leer, escribir o ejecutar cualquier cosa dentro del directorio. Tenga en cuenta el argumento -R de los comandos chmod y chgrp:esto les indica que recurran a todos los subdirectorios del directorio de destino y modifiquen todos los archivos y directorios que encuentren.

También puede querer cambiar 770 a algo como 774 si desea que otros puedan leer los archivos, 775 si desea que otros lean y ejecuten los archivos, etc. Los cambios en la asignación de grupos no tendrán efecto hasta que los usuarios cierren la sesión y vuelvan a iniciarla.

Si también desea (probablemente lo desee) que los nuevos archivos creados dentro del directorio por uno de los usuarios puedan ser escritos automáticamente por otros en el grupo, consulte aquí.


El siguiente script muestra un ejemplo para dar r (read) / w (write) / x (execute) permiso para la ruta de la carpeta dada /path/to/the/directory para USER1 y USER2 . Si solo desea otorgar acceso de escritura, reemplace rwx con w .

#!/bin/bash

# Block others and people in the same group to do `r/w/x` on the give folder:    
sudo chmod 700 /path/to/the/directory 

# Give read/write/execute access to USER1 on give folder:
sudo setfacl -R -m user:USER1:rwx  /path/to/the/directory 

# Give read/write/execute access to USER2 on give folder:
sudo setfacl -R -m user:USER2:rwx  /path/to/the/directory

Respuesta de opinión:

  • Me gusta colocar mi carpeta compartida en un lugar central. No en la carpeta de inicio de otra persona, pero /srv/common o incluso (para caminos despiadadamente cortos...) /repo o similar.
  • defina un nuevo grupo (normalmente para todos los usuarios locales a los que quiera unirse. Sin embargo, no para algunos usuarios técnicos como wwwuser , a menos que haya una razón válida)
  • root es bueno tener como miembro, también tener un propietario neutral de esa carpeta compartida
  • setGid es muy importante, de modo que los nuevos archivos se conviertan en miembros comunes del grupo, por lo tanto frank:common , no frank:frank
    sudo groupadd -f common
    usermod -aG common root
    usermod -aG common frank
    usermod -aG common mike

    # sort of hack for instant group refresh w/o logout
    # superuser.com/a/345051
    su - frank

    # sanity test1:
    cat etc/group | grep common
        common:x:1008:root,frank,mike
    # sanity test2:
    groups
        frank adm cdrom ... common
    sudo chown root:common /repo

    # (if you have shareable stuff setting somewhere else,
    #  copy it to here now)

    # no right to the world, the right rights to user and group
    chmod -R ug+rwXs,o-rwx $dest
    # why uppercase X ? → unix.stackexchange.com/a/416885

    # why s ? → superuser.com/a/277785
    # as there is no such thing as an uppercase S (directories only)
    # settings the s attribute on preexisting content would have to happen
    # like so:
    # find /repo -type d -exec chmod g+s {} \\\;

Linux
  1. Linux – ¿Cambiar permisos de carpeta?

  2. ¿Realmente compartir una carpeta con múltiples usuarios en una computadora?

  3. ¿Permisos para la carpeta Webroot de Apache en el servidor de desarrollo?

  4. Linux, ¿por qué no puedo escribir aunque tengo permisos de grupo?

  5. ¿Cómo puedo otorgar acceso de escritura a una carpeta a todos los usuarios en Linux?

Cómo listar usuarios en Ubuntu 20.04

Solucione el error "No se puede escribir en la carpeta de la aplicación" en el cliente Vuze BitTorrent

Administrar cuentas de grupos locales en Linux

Permisos de Linux:cómo encontrar los permisos de un archivo

Cómo dar permiso de Sudo a los usuarios en Ubuntu Linux [Consejo para principiantes]

¿S mayúscula en los permisos de una carpeta?