![Cómo hacer que los archivos extraídos del archivo hereden el permiso de la carpeta principal](https://rvso.com/image/168786/C%C3%B3mo%20hacer%20que%20los%20archivos%20extra%C3%ADdos%20del%20archivo%20hereden%20el%20permiso%20de%20la%20carpeta%20principal.png)
Estoy usando Centos 8 Linux con varios usuarios que pertenecen al mismo grupo accediendo a una cantidad de carpetas/subcarpetas y archivos en el mismo FS (xfs). Quiero que todos los archivos y carpetas tengan permiso de escritura para el grupo, configurando umask en 0002, permitir que el nuevo archivo creado por el usuario tenga el permiso correcto, pero los usuarios extraen archivos tar y otros archivos comprimidos, los archivos extraídos mantienen el permiso que tenían en origen. y no están cambiando, lo que da como resultado que algunos archivos tengan permiso solo para el propietario y no para el grupo. Estoy tratando de encontrar una manera de configurar el permiso automáticamente sin necesidad de que el usuario ejecute un chmod para permitir la escritura para el grupo. Intenté asignar g+. s en la carpeta principal, pero solo puedo hacer que la nueva carpeta herede el permiso del grupo, no los archivos individuales. Intenté habilitar ACL pero nuevamente no obtengo archivos para heredar el permiso de la carpeta principal. Así se ve mi carpeta principal
drwxrwsr-x+ 4 owner group 4.0K Mar 6 10:26 test
Y el contenido después de extraer un archivo tgz en él.
drwxrwsr-x+ 8 owner group 202 Mar 6 09:56 folder1
drwxrwsr-x+ 8 owner group 202 Mar 6 10:12 folder2
pero luego, cuando llego a la primera carpeta con archivos, los permisos de los archivos son solo para el propietario
ll test/folder1
-rwx------. 1 owner group 195K Jun 6 2018 file1
-rwx------. 1 owner group 225K Aug 4 2018 file2
-rwx------. 1 owner group 211K Aug 20 2018 file3
-rwx------. 1 owner group 100K Sep 9 2018 file4
-rwx------. 1 owner group 200K Oct 24 2018 file5
-rwx------. 1 owner group 199K Nov 9 2018 file6
incluso después de ejecutar
setfacl -R -m d:o:rwx test
Los archivos no cambian su permiso.
¿Hay alguna manera de forzar que todos los archivos creados o extraídos de un archivo comprimido hereden el permiso de la carpeta principal?
Respuesta1
Todavía estoy buscando una solución mejor, pero por ahora creé un script que canaliza la salida tar al comando chmod.
#!/bin/bash -
set -o pipefail
tar xvf "$@" | xargs -rd '\n' chmod 770 --
No me gusta mucho porque instruir a 100 usuarios o más para que utilicen un comando diferente será complicado, pero si no encuentro una mejor solución, me quedaré con esto. solo para obtener información de la página de manual, tar parece tener una opción que debería ignorar el permiso del archivo
--no-same-permissions
pero parece funcionar sólo si el permiso umask es más restrictivo que el de los archivos extraídos, me pregunto si se trata de un error.
Respuesta2
Podrías usar elstar
implementación detar
y su -chmod
opción para establecer los permisos de los archivos al extraerlos:
star -x -o -f file.tar -find -chmod ug+rwX