In addition to checking permissions like @icarus mentioned, you also need to check your ACLs (Access Control Lists) with getfacl to make sure that there aren't any rules overriding the basic file access privelages.
NOTE: If getfacl doesn't exist on your system, them it probably isn't the issue.
Example ACL that shouldn't be an issue.
$ getfacl test/
# file: test/ # owner: root # group: root user::rwx group::r-x other::r-x
This indicates that there are no additional ACL rules applied, other then the standard POSIX access rules. You can see that it matches the output of ls -ald in terms of permissions. (The -d argument to ls tells it to show you the directory itself, not its contents.)
$ ls -ald test/
drwxr-xr-x 2 root root 4096 May 8 19:11 test/
Example of a ACL that could cause you issues.
$ getfacl test/
# file: test/ # owner: root # group: root user::rwx user:mc:r-- group::r-x mask::r-x other::r-x
$ ls -ald test/
drwxr-xr-x+ 2 root root 4096 May 8 19:11 test/
In this case, looking at the output of ls -ald, you wouldn't think there would be an issue. However, because ACL rules apply over POSIX rules, the user mc would be unable to change into the directory due to the lack of executable permissions for him, dispite the fact that the others permission set would otherwise give them to mc.
Something to note though, the owner permissions seem to take president over all other ACL rules, and I believe the same goes for the group owner permissions.
The Arch Wiki has more information about ACL's. Check out https://wiki.archlinux.org/title/Access_Control_Lists if you are intersted in learning more about them.
Understandably, you may not want to always check getfacl to see if that is your issue, or you may forget to do so. Fortunately, ls -al does tell you when there are additional ACL rules applied. If you take a look at the output of ls -al, you can see a + at the end of the list of permission bits whenever there are ACL rules applied, and it does not show otherwise (at least that appers to be the case in my short testing).
TLDR: If you see a + in the permissions list from ls -al, check the Access Control List (getfacl).
whoamiand the permission listing for the directory in question?