[Bug] ACL User/Groups not working in v0.26.0 #1023

Closed
opened 2025-12-29 02:27:39 +01:00 by adam · 4 comments
Owner

Originally created by @gawsoftpl on GitHub (May 15, 2025).

Is this a support request?

  • This is not a support request

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When I upgraded headscale to v0.26.0 from 0.25.1 groups and users do not have access to other services in tailscale network.

Below example acl dont work:

{
  "groups": {
    "group:root": ["contact@"],
   },
 "acls": [
    {"action": "accept", "src": ["group:root"], "dst": ["*:*"]},
  ]
}

This setup works:

{
 "acls": [
    {"action": "accept", "src": ["tag:desktop"], "dst": ["*:*"]},
  ]
}

Users list:

root@headscale:/var/lib/headscale# headscale users list
ID | Name | Username            | Email | Created            
1  |      | contact             |       | 2024-06-07 19:56:31

Expected Behavior

Should allow nodes from user contact to all services because user belongs to group root

Steps To Reproduce

{
"groups": {
"group:root": ["contact@"],
},
"acls": [
{"action": "accept", "src": ["group:root"], "dst": [":"]},
]
}

Environment

- OS: Ubuntu 24.0.4
- Headscale version: 0.26.0
- Tailscale version: 1.82.5

Runtime environment

  • Headscale is behind a (reverse) proxy
  • Headscale runs in a container

Debug information

{
"groups": {
"group:root": ["contact@"],
},
"acls": [
{"action": "accept", "src": ["group:root"], "dst": [":"]},
]
}

Originally created by @gawsoftpl on GitHub (May 15, 2025). ### Is this a support request? - [x] This is not a support request ### Is there an existing issue for this? - [x] I have searched the existing issues ### Current Behavior When I upgraded headscale to v0.26.0 from 0.25.1 groups and users do not have access to other services in tailscale network. Below example acl dont work: ```json { "groups": { "group:root": ["contact@"], }, "acls": [ {"action": "accept", "src": ["group:root"], "dst": ["*:*"]}, ] } ``` This setup works: ```json { "acls": [ {"action": "accept", "src": ["tag:desktop"], "dst": ["*:*"]}, ] } ``` Users list: ```sh root@headscale:/var/lib/headscale# headscale users list ID | Name | Username | Email | Created 1 | | contact | | 2024-06-07 19:56:31 ``` ### Expected Behavior Should allow nodes from user contact to all services because user belongs to group root ### Steps To Reproduce { "groups": { "group:root": ["contact@"], }, "acls": [ {"action": "accept", "src": ["group:root"], "dst": ["*:*"]}, ] } ### Environment ```markdown - OS: Ubuntu 24.0.4 - Headscale version: 0.26.0 - Tailscale version: 1.82.5 ``` ### Runtime environment - [ ] Headscale is behind a (reverse) proxy - [ ] Headscale runs in a container ### Debug information { "groups": { "group:root": ["contact@"], }, "acls": [ {"action": "accept", "src": ["group:root"], "dst": ["*:*"]}, ] }
adam added the bug label 2025-12-29 02:27:39 +01:00
adam closed this issue 2025-12-29 02:27:39 +01:00
Author
Owner

@kradalby commented on GitHub (May 15, 2025):

Is the node you are testing with tagged?

When a node is tagged, it will no longer get covered by groups as groups is only covering users.
This has been an issue with Headscale for as long as it has existed, and it is partially fixed, but likely will be more focused on in the next release.

Essentially, when you tag a node, you "unassign" it from a user (even if it shows up as owned by user for now).

Also feel free to join in on the beta testing, it helps us find these things before releasing.

@kradalby commented on GitHub (May 15, 2025): Is the node you are testing with tagged? When a node is tagged, it will no longer get covered by groups as groups is only covering users. This has been an issue with Headscale for as long as it has existed, and it is partially fixed, but likely will be more focused on in the next release. Essentially, when you tag a node, you "unassign" it from a user (even if it shows up as owned by user for now). Also feel free to join in on the beta testing, it helps us find these things before releasing.
Author
Owner

@gawsoftpl commented on GitHub (May 15, 2025):

Yes, nodes was taged, when I removed tags from nodes everything works. Now users/groups works. Thanks @kradalby.
What you mean join on the bet testing? You have special groups or you mean simple use beta releases?

@gawsoftpl commented on GitHub (May 15, 2025): Yes, nodes was taged, when I removed tags from nodes everything works. Now users/groups works. Thanks @kradalby. What you mean join on the bet testing? You have special groups or you mean simple use beta releases?
Author
Owner

@kradalby commented on GitHub (May 15, 2025):

you mean simple use beta releases?

Just simply use it hehe, then we can find these things easier.

I'll close this, more things are coming to Tags in the next release.

@kradalby commented on GitHub (May 15, 2025): > you mean simple use beta releases? Just simply use it hehe, then we can find these things easier. I'll close this, more things are coming to Tags in the next release.
Author
Owner

@godie1980 commented on GitHub (Oct 31, 2025):

I have the same issue with 0.27.0. But for me none of the nodes is tagged but i cannot access it from user or group. I can access it if i use the following ACL

acls": [
{
"#ha-meta": {
"name": "",
"open": true
},
"action": "accept",
"src": [
""
],
"dst": [
"
:*"
]
}
],

I am trying to access subnet route on a node that owned by another user. Maybe thats the issue?

@godie1980 commented on GitHub (Oct 31, 2025): I have the same issue with 0.27.0. But for me none of the nodes is tagged but i cannot access it from user or group. I can access it if i use the following ACL acls": [ { "#ha-meta": { "name": "", "open": true }, "action": "accept", "src": [ "*" ], "dst": [ "*:*" ] } ], I am trying to access subnet route on a node that owned by another user. Maybe thats the issue?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#1023