[Bug]: perms X not supported in linux_acl module
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- linux, python
- Área
- backend, infrastructure
Línea de trabajo
El problema está en salt/modules/linux_acl.py y salt/states/linux_acl.py. Comience leyendo el artículo enlazado para comprender las máscaras ACL y el permiso 'X'. Examine la función _parse_acl y la lógica de conversión octal. El parche muestra dónde agregar la compatibilidad con 'X'. Ejecute las pruebas existentes para el módulo linux_acl para asegurarse de que los cambios no rompan la funcionalidad existente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happened?
X is a valid char in ACLs
For some details see
https://nordisch.org/posts/linux-acl-masks-fun/
I am not sure why we do the whole octal conversion in the first place.
my current attempt to solve it looks like this:
diff --git a/salt/modules/linux_acl.py b/salt/modules/linux_acl.py
index e1fcf4a9c8..64f1f061c4 100644
--- a/salt/modules/linux_acl.py
+++ b/salt/modules/linux_acl.py
@@ -157,7 +157,7 @@ def _parse_acl(acl, user, group):
vals["permissions"]["write"] = True
else:
vals["permissions"]["write"] = False
- if "x" in comps[-1]:
+ if "x" in comps[-1] or "X" in comps[-1]:
octal += 1
vals["permissions"]["execute"] = True
else:
diff --git a/salt/states/linux_acl.py b/salt/states/linux_acl.py
index c45c938348..2899287b64 100644
--- a/salt/states/linux_acl.py
+++ b/salt/states/linux_acl.py
@@ -102,7 +102,7 @@ def present(name, acl_type, acl_name="", perms="", recurse=False, force=False):
"""
ret = {"name": name, "result": True, "changes": {}, "comment": ""}
- _octal = {"r": 4, "w": 2, "x": 1, "-": 0}
+ _octal = {"r": 4, "w": 2, "x": 1, "X": 1, "-": 0}
_octal_lookup = {0: "-", 1: "r", 2: "w", 4: "x"}
if not os.path.exists(name):
Why do we go through octal here at all?
Type of salt install
other (please specify in bug details)
Major version
3006.x
What supported OS are you seeing the problem on? Can select multiple. (If bug appears on an unsupported OS, please open a GitHub Discussion instead)
opensuse-leap-15.5
salt --versions-report output
salt --versions-report
Salt Version:
Salt: 3006.0
Python Version:
Python: 3.13.15 (main, Sep 16 2026, 12:10:42) [GCC]
Dependency Versions:
cffi: 2.0.0
cherrypy: Not Installed
contextvars: 2.4
dateutil: 2.9.0.post0
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 3.1.6
libgit2: Not Installed
looseversion: 1.3.0
M2Crypto: 0.49.0
Mako: Not Installed
msgpack: 1.2.1
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 26.3
pycparser: 3.00
pycrypto: Not Installed
pycryptodome: 3.23.0
pygit2: Not Installed
python-gnupg: Not Installed
PyYAML: 6.0.3
PyZMQ: 27.2.0
relenv: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 6.5.8
ZMQ: 4.3.5
System Versions:
dist: opensuse-tumbleweed 20260921 n/a
locale: utf-8
machine: x86_64
release: 7.2.6-1-default
system: Linux
version: openSUSE Tumbleweed 20260921 n/a
- Lenguaje dominante
- Python
- Estrellas
- 15.8k
- Forks
- 5.6k
- Merge medio
- 5 d 9 h
- PR fusionados (30 d)
- 99
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de saltstack/salt
-
[Bug]: Scheduled returns scan all accepted minion keys causing extreme loadPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
saltstack/salt#70789 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
[Bug]: pip.installed with upgrade=True upgrades a package but returns an empty changes dictionaryPosiblemente ocupada @ITJamie la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 3 días
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 3 días
-
[Bug]: Minion with file_client: local crashes on connect: 'AsyncPillar' object has no attribute 'aclose'Posiblemente ocupada @shawnrruss la tomó hace 9 días. Abiertobug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 3 días
-
[Bug]: mine.update clear=True raises UnboundLocalError on the master and stores nothingPosiblemente ocupada @cestercian la tomó hace 11 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
saltstack/salt#70622 · 1 comentario ·
Los mantenedores suelen responder en 3 días
Todos los issues de saltstack/salt
Issues similares
-
AI bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
AUTO-MAS-Project/AUTO-MAS#1960 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
btclib-org/btclib-wallet#872 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
btclib-org/btclib#3093 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
patrickballard/wheelgap#269 ·