microsoft / microsoft/WSL

setfacl: acl_test1: Operation not supported

Open
#2,750 12 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
C++
Stars
33.7k
Forks
1.8k
Avg merge
3d 17h
Merged PRs (30d)
116

Description

"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 run strace -o some_command.strace -f some_command some_args, and link the contents of some_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=64
    1024}) = 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 +++

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the listed touch and setfacl commands in WSL and inspect the supplied strace, especially the getxattr and setxattr calls returning EOPNOTSUPP. Trace how WSL handles POSIX ACL extended attributes and define completion as making the reported ACL operation behave as expected, with regression coverage for this command sequence.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.