Estoy haciendo un script de shell bash y quiero cambiar el grupo predeterminado en el que se crean los archivos nuevos. Sé que usa umask
para cambiar los permisos. ¿Hay algo para el grupo?Bash Scripting - ¿Cómo configurar el grupo con el que se crearán los nuevos archivos?
Respuesta
newgrp
(1)
Hay un par de maneras de hacer esto:
Puede cambiar el grupo por defecto para todos los archivos creados en un directorio en particular estableciendo el indicador setgid en el directorio (
chmod g+s _dir_
). Se crearán nuevos archivos en el directorio con el grupo del directorio (establecido usandochgrp <group> <dir>
). Esto se aplica a cualquier programa que crea archivos en el directorio.Tenga en cuenta que este es heredado automagicamente para los nuevos subdirectorios (a partir de Linux 3.10), sin embargo, si los subdirectorios ya estaban presentes, este cambio no se aplicará a ellos (usar la bandera
-R
para eso).Si el indicador de setgid no está establecido, el grupo predeterminado se establecerá en la identificación de grupo actual del proceso de creación. Aunque esto se puede establecer mediante el comando
newgrp
, crea un nuevo shell que es difícil de usar dentro de un script shell . Si desea ejecutar un comando en particular (o un conjunto de comandos) con el grupo cambiado, use el comandosg <group> <command>
.sg
no es un comando estándar POSIX pero está disponible en Linux.
Solo una pequeña nota. Si intenta ejecutar 'chmod g + s _dir_' en un directorio que tiene el grupo y, y está ejecutando el comando bajo usuario x, y el usuario x no es miembro del grupo y no funcionará. Tendrás que ejecutarlo como root. – LEDfan
- 1. Bash Scripting ycb
- 2. bash scripting de-dupe
- 3. En forzosa, ¿cómo elimino los cambios pendientes para los archivos NUEVOS/AÑADIDOS que no se enviaron?
- 4. ¿Cómo incluir un temporizador en Bash Scripting?
- 5. Git - Agregar todos los archivos nuevos en el repos
- 6. Bash scripting, bucle a través de los archivos de la carpeta no
- 7. ¿Cómo se ve afectado el scripting bash por la versión bash4?
- 8. cargar nuevos archivos en el directorio
- 9. git: Lista de los nuevos archivos sólo
- 10. diff de subversión que incluye archivos nuevos
- 11. php vs bash para CLI scripting?
- 12. Con Bash Scripting, ¿cómo puedo suprimir todos los resultados de un comando?
- 13. TFS obtén la última versión con los archivos nuevos
- 14. Con ThreadPoolExecutor, ¿cómo obtener el nombre del subproceso que se ejecuta en el grupo de subprocesos?
- 15. ¿Cómo configurar el grupo de aplicaciones en IIS 7.5 se reinicia automáticamente cuando se detuvo?
- 16. de Bash Scripting - clave volver/Enter
- 17. Cómo configurar que el WCF Test Client se ejecutará cada vez que se ejecuta el servicio
- 18. ¿Cómo puedo configurar el autocompletado para los comandos de Git?
- 19. scripting MySQL desde BASH a través de SSH
- 20. ¿Cómo modificar los nuevos encabezados de archivos Xcode que especifican los derechos de autor, etc.?
- 21. Bash para el lazo con los comodines y los archivos ocultos
- 22. Cambiar el nombre de los archivos en un directorio UNIX - shell scripting
- 23. cuando desea configurar nuevos entornos en R
- 24. ¿Cómo ordenar los archivos en carpetas por tipo de archivo en bash (con el comando 'archivo')?
- 25. ¿Debo configurar el grupo de aplicaciones ASP.NET para reciclar automáticamente?
- 26. ¿Cómo configurar TeamCity con archivos privados?
- 27. El uso de \ c en shell scripting
- 28. ¿Cómo se desplaza el mouse con Git Bash?
- 29. Cambiar el nombre de archivos múltiples con un bucle bash
- 30. ¿Se crearán nuevas aplicaciones de Impacto de claves privadas que ya se encuentran en el App Store?
Soy miembro del grupo, entonces ¿por qué me está pidiendo una contraseña? ¡No me gusta mi contraseña! – Michael
también, si ejecuto "newgrp" como raíz (por ejemplo, ejecutando un script con newgrp usando sudo), me vuelco a un shell raíz. –
Michael
Esto no es para lo que debe usarse newgrp. ¿Qué ocurre si te olvidas de usar newgrp fuera del script? ¿Cómo manejará el script el nuevo shell creado por newgrp? La respuesta de @ mark40 es mejor. – noel