Permitir permiso específico del usuario para leer / escribir mi carpeta

42

Tengo una carpeta /home/samantha/folderque quiero compartir con el usuario tom. Él puede leer / escribir la carpeta. ¿Cómo puedo hacer eso?

chownno lo haría porque todavía quiero poder ser el propietario de la carpeta. No veo cómo hacer esto chmodtampoco.

Zenet
fuente

Respuestas:

61

Si está utilizando Linux con un sistema de archivos relativamente moderno (ext3 / ext4, btrfs, ntfs), esto puede hacerse con las ACL POSIX :

  1. Habilite las ACL para el sistema de archivos. Esto solo es necesario para ext3 y ext4 en núcleos anteriores a 2.6.38. Todos los demás sistemas de archivos que admiten ACL los habilitan automáticamente.

    mount -o remount,acl /
    tune2fs -o acl /dev/<partition>
    
  2. Dar tomacceso a la carpeta:

    setfacl -m user:tom:rwx /home/samantha/folder
    

Si el sistema operativo o el sistema de archivos no admite ACL, otra forma es usar grupos.

  1. Crear un grupo.

    • Algunas distribuciones de Linux crean un grupo separado para cada usuario: tomestarían automáticamente en un grupo también llamado tom.

    • Si no, crea un grupo. Esto debería funcionar en Linux ...

      groupadd tom
      gpasswd -a tom tom
      

      ... y esto - en BSD:

      groupadd tom
      usermod -G tom tom
      
  2. chgrpel directorio a ese grupo y otorgue permisos con chmod:

     chgrp tom /home/samantha/folder
     chmod g+rwx /home/samantha/folder
    
Gravedad
fuente
FWIW, el OP agregó una respuesta adicional en lugar de comentar. Él / ella tiene una pregunta sobre su solución. Gracias.
Y Tom también necesitará permiso de ejecución en / home / samantha para poder llegar a / home / samantha / folder.
Lord Loh