es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo establecer permisos para un directorio con múltiples grupos utilizando Ansible?

Quiero establecer dos grupos para un directorio:

  • app_group
  • td-agent

Si se utiliza el módulo file, hay un atributo de group que puede hacerlo. Las permisiones actuales son:

$ ls -la /app/app1/
drwxrwx---. 5 root      app_group   31 Oct 11 14:12 .
drwxr-xr-x. 3 root      root        21 May 12 2021  ..
drwxrwx---. 3 app_user  app_group   12 Apr 28 13:30 product

Pero quiero establecer que el grupo de usuario de Fluentd, td-group, también pueda leer los archivos en el directorio /app. ¿Cómo hacerlo?

Si se cambia el modo de mode a mode: o+rx, otros usuarios pueden leer/ejecutar el directorio. ¿Cambiara las permisiones actuales para app_user y app_group?

Tags:  

Answer

  1. Avatar for davy.ai

    Para permitir que tanto el grupo app_group como el grupo td-agent tengan acceso de lectura a /app y sus subdirectorios, podemos agregar el grupo td-agent al grupo app_group utilizando el módulo user y luego cambiar los permisos del directorio utilizando el módulo file.

    Aquí hay un ejemplo de playbook:

    - name: Establecer grupos al directorio
      hosts: all
      become: true
      tasks:
        - name: Agregar td-agent a app_group
          user:
            name: td-agent
            groups: app_group
            append: yes
    
        - name: Establecer grupo y permisos al directorio
          file:
            path: /app
            group: app_group
            state: directory
            recurse: true
            mode: '0775'
    

    En este playbook, primero agregamos el usuario td-agent al grupo app_group utilizando el módulo user. Establecemos el parámetro append en yes para asegurarnos de no sobrescribir ninguna membresía de grupo existente para el usuario td-agent.

    A continuación, establecemos la propiedad del grupo y los permisos del directorio /app utilizando el módulo file. Establecemos la propiedad del grupo en app_group y el modo en 0775, lo que permite al propietario y al grupo leer, escribir y ejecutar el directorio y permite que otros usuarios lean y ejecuten el directorio.

    Este playbook debería permitir que tanto el grupo app_group como el grupo td-agent tengan acceso de lectura al directorio /app y sus subdirectorios.

    Cambiar el modo a o+rx permitiría que todos los usuarios lean y ejecuten el directorio, pero no cambiaría los permisos actuales para el usuario app_user y app_group. Para evitar cualquier consecuencia no deseada, se recomienda establecer explícitamente la propiedad del grupo y los permisos utilizando el módulo file.

Comments are closed.