-
Notifications
You must be signed in to change notification settings - Fork 860
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
setfacl: acl_test1: Operation not supported #2750
Comments
getxattr("acl_test1", "system.posix_acl_access", 0x7fffebb95300, 132) = -1 EOPNOTSUPP (Operation not supported) The current list of supported extended attributes is pretty small, and no system.* attributes are currently on that list. Marking this as a bug. |
This issue still seems to exist on 17134 |
Actually digging into what this attribute does, this will not be a straight-forward resolution. Windows already has a very rich ACL model which can be accessed via icacls.exe, but the problem is that the users created in the distro are not known to Windows, so they cannot be used for ACL operations. So the most obvious solutions would be either: 1) create minimal Windows entities corresponding to distro users that can be used for ACL operations; or 2) build a separate ACL model that only works inside of WSL. Neither of these is a trivial task. Unfortunately, that means switching this from bug to feature. |
I'd vote for option 2 to enable posix-style acls as described in this issue's OP. |
I'd like to see posix acls work but map as closely as possible to underlying windows permissions. If such a thing is possible. |
will |
waiting for a solution ... |
link question: https://serverfault.com/questions/1106170/setfacl-operation-not-supported-ubuntu-wsl |
Please notify me if it works in WSL 2. I shall close this issue then. |
Can anyone confirm or deny if this is supported in WSL2? |
Not working in WSL2 as of 28/2/2023 |
14/10/2024: System information: > ver
Microsoft Windows [Version 10.0.22631.4317] WSL information: $ uname -r
5.15.153.1-microsoft-standard-WSL2
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy For example: me@machine$ cd /opt
me@machine:/opt$ sudo /bin/bash -c "cat > foo.txt"
bar
^C
me@machine:/opt$ cat foo.txt
bar
me@machine:/opt$ cat > foo.txt
-bash: foo.txt: Permission denied
me@machine:/opt$ sudo setfacl -m u:me:rw foo.txt
me@machine:/opt$ sudo getfacl foo.txt
# file: foo.txt
# owner: root
# group: root
user::rw-
user:me:rw-
group::r--
mask::rw-
other::r--
me@machine:/opt$ cat > foo.txt
baz
^C
me@machine:/opt$ cat foo.txt
baz |
"vbird1" is a test account
Your Windows build number: (Type
ver
at a Windows Command Prompt)17046
What you're doing and what's happening: (Copy&paste specific commands and their output, or include screen shots)
touch acl_test1
setfacl -m u:vbird1:rx acl_test1
What's wrong / what should be happening instead:
setfacl: acl_test1: Operation not supported
Strace of the failing command, if applicable: (If
some_command
is failing, then runstrace -o some_command.strace -f some_command some_args
, and link the contents ofsome_command.strace
in a gist here)execve("/usr/bin/setfacl", ["setfacl", "-m", "u:vbird1:rx", "acl_test1"], [/* 15 vars /]) = 0
brk(NULL) = 0x24eb000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7ba4b70000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=41845, ...}) = 0
mmap(NULL, 41845, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7ba4b65000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libacl.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\34\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31232, ...}) = 0
mmap(NULL, 2126336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba45f0000
mprotect(0x7f7ba45f7000, 2093056, PROT_NONE) = 0
mmap(0x7f7ba47f6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f7ba47f6000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1868984, ...}) = 0
mmap(NULL, 3971488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba4220000
mprotect(0x7f7ba43e0000, 2097152, PROT_NONE) = 0
mmap(0x7f7ba45e0000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7f7ba45e0000
mmap(0x7f7ba45e6000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7ba45e6000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\20\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18624, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7ba4b60000
mmap(NULL, 2113760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba4010000
mprotect(0x7f7ba4014000, 2093056, PROT_NONE) = 0
mmap(0x7f7ba4213000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f7ba4213000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7ba4b50000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7ba4b40000
arch_prctl(ARCH_SET_FS, 0x7f7ba4b50700) = 0
mprotect(0x7f7ba45e0000, 16384, PROT_READ) = 0
mprotect(0x7f7ba4213000, 4096, PROT_READ) = 0
mprotect(0x7f7ba47f6000, 4096, PROT_READ) = 0
mprotect(0x607000, 4096, PROT_READ) = 0
mprotect(0x7f7ba4a25000, 4096, PROT_READ) = 0
munmap(0x7f7ba4b65000, 41845) = 0
brk(NULL) = 0x24eb000
brk(0x250c000) = 0x250c000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1668976, ...}) = 0
mmap(NULL, 1668976, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7ba488d000
close(3) = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=497, ...}) = 0
read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 512) = 497
read(3, "", 512) = 0
close(3) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=41845, ...}) = 0
mmap(NULL, 41845, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7ba4b65000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\22\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=35688, ...}) = 0
mmap(NULL, 2131040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba3e00000
mprotect(0x7f7ba3e08000, 2093056, PROT_NONE) = 0
mmap(0x7f7ba4007000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f7ba4007000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360?\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=93128, ...}) = 0
mmap(NULL, 2198104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba3be0000
mprotect(0x7f7ba3bf6000, 2093056, PROT_NONE) = 0
mmap(0x7f7ba3df5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f7ba3df5000
mmap(0x7f7ba3df7000, 6744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7ba3df7000
close(3) = 0
mprotect(0x7f7ba3df5000, 4096, PROT_READ) = 0
mprotect(0x7f7ba4007000, 4096, PROT_READ) = 0
munmap(0x7f7ba4b65000, 41845) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=41845, ...}) = 0
mmap(NULL, 41845, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7ba4b65000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260 \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=47648, ...}) = 0
mmap(NULL, 2143624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba39d0000
mprotect(0x7f7ba39db000, 2093056, PROT_NONE) = 0
mmap(0x7f7ba3bda000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f7ba3bda000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=47600, ...}) = 0
mmap(NULL, 2168600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba37b0000
mprotect(0x7f7ba37bb000, 2093056, PROT_NONE) = 0
mmap(0x7f7ba39ba000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f7ba39ba000
mmap(0x7f7ba39bc000, 22296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7ba39bc000
close(3) = 0
mprotect(0x7f7ba39ba000, 4096, PROT_READ) = 0
mprotect(0x7f7ba3bda000, 4096, PROT_READ) = 0
munmap(0x7f7ba4b65000, 41845) = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
lseek(3, 0, SEEK_CUR) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=2114, ...}) = 0
mmap(NULL, 2114, PROT_READ, MAP_SHARED, 3, 0) = 0x7f7ba4b78000
lseek(3, 2114, SEEK_SET) = 2114
munmap(0x7f7ba4b78000, 2114) = 0
close(3) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=641024}) = 0
lstat("acl_test1", {st_mode=S_IFREG|0666, st_size=0, ...}) = 0
getxattr("acl_test1", "system.posix_acl_access", 0x7fffebb95300, 132) = -1 EOPNOTSUPP (Operation not supported)
setxattr("acl_test1", "system.posix_acl_access", "\2\0\0\0\1\0\6\0\377\377\377\377\2\0\5\0\352\3\0\0\4\0\6\0\377\377\377\377\20\0\7\0\377\377\377\377 \0\6\0\377\377\377\377", 44, 0) = -1 EOPNOTSUPP (Operation not supported)
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2995, ...}) = 0
read(3, "# Locale name alias data base.\n#"..., 512) = 512
read(3, "See the\n# GNU General Public Lic"..., 512) = 512
read(3, "nd for the time being for\n# back"..., 512) = 512
read(3, "hese lines were removed\n# becaus"..., 512) = 512
read(3, "8859-1\ngalego\t\tgl_ES.ISO-8859-1\n"..., 512) = 512
read(3, "O.ISO-8859-1 nb_NO.ISO-8859-1\nno"..., 512) = 435
read(3, "", 512) = 0
close(3) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "setfacl: acl_test1: Operation no"..., 44setfacl: acl_test1: Operation not supported
) = 44
exit_group(1) = ?
+++ exited with 1 +++
The text was updated successfully, but these errors were encountered: