In POSIX systems, a file can only have one user owner and one group owner. Normal posix permissions affect the access of the user owner, group owner, and everyone. I'll assume that you are already familiar with those.
In addition on Linux, an extended form of ACLs is available that allows specifying access permissions for additional users and groups. In Linux, most filesystems have to be specifically mounted with options to enable the storage of these ACLs. Usually, the mount option is "acl". That option is definitely supported by ext2/3/4 FSes. You can check for the option running the following in bash:
$ cat /proc/self/mounts
Then look to see if the filesystem where you want to apply the ACLs has that mount option enabled. Assuming it does, you can use the
setfacl commands to manipulate the acls on file and directories. Here's an example of running getfacl:
$ getfacl ipxe/
# file: ipxe/
# owner: wt
# group: wt
In this case, I don't have any extended ACLs on the directory. If I had given user "foo" "rwx" permissions on that directory, you'd see an entry like
user:foo:rwx in that output.