-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
What happened: When creating a directory or file on a Windows-mounted JuiceFS filesystem, the owner is set to S-1-0-65534 (which I believe is the nobody user).
What you expected to happen: The owner to be set as myself.
How to reproduce it (as minimally and precisely as possible):
- Format a filesystem using local store:
C:\juicefs> juicefs format redis://localhost:6379 store
- Mount the filesystem
C:\juicefs> juicefs mount redis://localhost:6379 X:
- Create a directory inside X:\
X:\> mkdir SOMEDIR
- Observe permissions
X:\> icacls SOMEDIR
SOMEDIR S-1-0-65534:(F)
S-1-0-65534:(RX,WD,AD,DC,WA)
Everyone:(Rc,S,REA,RA)
This means it's impossible to enter the directory or create any files.
Anything else we need to know?
Above is the simplest way to reproduce it. I also tried a number of other things:
- Create the store on WSL (so run
juicefs format redis://localhost:6379 storeon WSL, then mount on Windows). This has the exact same behavior. - Mount the store on WSL (so format and mount on WSL using `juicefs mount redis://localhost:6379 ./store). Then the directory it is mounted to is completely inaccessible from Windows.
\\wsl.localhost\Debian\home\tiptenbrink> ls -l
╭────┬───────────────────────────┬─────────┬─────────────────────────────────────┬──────────┬────────┬─────────────┬────────────────┬──────╮
│ # │ name │ type │ target │ readonly │ size │ created │ accessed │ modi │
│ │ │ │ │ │ │ │ │ fied │
├────┼───────────────────────────┼─────────┼─────────────────────────────────────┼──────────┼────────┼─────────────┼────────────────┼──────┤
...
│ │ │ │ │ │ │ │ │ ago │
│ 16 │ store-mnt │ ❎ │ ❎ │ ❎ │ ❎ │ ❎ │ ❎ │ ❎ │
╰────┴───────────────────────────┴─────────┴─────────────────────────────────────┴──────────┴────────┴─────────────┴────────────────┴──────╯
\\wsl.localhost\Debian\home\tiptenbrink> icacls.exe ./store-mnt
./store-mnt: Access is denied.
Successfully processed 0 files; Failed processing 1 files
Note that it functions correctly when only staying within WSL.
This is my Windows user:
USER INFORMATION
----------------
User Name SID
=================== ====================================================
azuread\tiptenbrink S-<redacted>
My user folder on Windows is TiptenBrink.
- I tried mounting as Administrator. That gives slightly different permissions:
X:\> icacls newdir2
newdir2 S-1-0-65534:(F)
S-1-0-65534:(Rc,S,REA,RA)
Everyone:(Rc,S,REA,RA)
- I tried mounting as Administrator with --as-root in the foreground.
This works! Why? Not practical, since it requires always having a foreground process running. Furthermore, foreground as Administrator doesn't seem to allow me to even navigate to the folders as a normal user. It only works if I actually access them while in the Administrator terminal. - I tried mounting as Administrator in the background with --as-root.
X:\> icacls newdir4
newdir4 NT AUTHORITY\SYSTEM:(F)
NT AUTHORITY\SYSTEM:(Rc,S,REA,RA)
Everyone:(Rc,S,REA,RA)
Successfully processed 1 files; Failed processing 0 files
- I tried mounting as Administrator in the background.
X:\> icacls newdir5
newdir5 S-1-0-65534:(F)
S-1-0-65534:(Rc,S,REA,RA)
Everyone:(Rc,S,REA,RA)
Successfully processed 1 files; Failed processing 0 files
- I tried mounting as Administrator in the background with --as-root and then use -o umask=000.
X:\> icacls newdir6
newdir6 NT AUTHORITY\SYSTEM:(F)
NT AUTHORITY\SYSTEM:(RX,WD,AD,DC,WA)
Everyone:(RX,WD,AD,DC,WA)
Successfully processed 1 files; Failed processing 0 files
Writing and reading works, but then you run into #6092, so not practical.
Environment:
- JuiceFS version (use
juicefs --version) or Hadoop Java SDK version: juicefs version 1.3.0+2025-07-03.30190ca - Cloud provider or hardware configuration running JuiceFS: Trying it out on my own work computer, newer Intel x64 system
- OS (e.g
cat /etc/os-release): Microsoft Windows 11 Pro (10.0.26200 Build 26200) - Object storage (cloud provider and region, or self maintained): Trying it out with local storage
- Metadata engine info (version, cloud provider managed or self maintained): Redis 8.4.0, running on WSL as a systemd service (all default settings, just installed with apt)
- Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage): Metadata engine running on WSL, storage seems identical when either on WSL or on Windows
Metadata
Metadata
Assignees
Labels
kind/bugSomething isn't workingSomething isn't working