English

Developer tools · Chmod calculator

chmod on Windows, macOS, FAT and network shares: where mode bits stop

· Background

chmod unix access-control

filesystem boundaries shown as a distinct Unix permission-bit diagram
Original ToolAcre vector illustration

Mode bits are a Unix idea, and other filesystems either fake them or drop them. This post covers what happens to permissions on NTFS, FAT, macOS and SMB or NFS mounts, and how git reacts.

Git shows every file as modified — the only change is mode 100644 to 100755 after cloning on a different filesystem

A Git change from 100644 to 100755 exposes one ordinary difference: 644 lacks execute, while 755 includes it for all three classes. Decoding the trailing values yields rw-r--r-- and rwxr-xr-x. The calculator cannot explain why Git reported the change, which platform produced it, or whether filesystem and repository settings influenced the observation.

Use the converter as a neutral decoder before changing policy. Enter 644 and 755, compare each execute box, and confirm the symbolic output. The optional path affects only displayed command text; nothing is read from disk. With no Git parser or metadata access, the page establishes mode meaning but not project intent or permission authority.

A mode change in Git can be decoded here but not attributed to a platform

Windows ACL behavior requires sources not present here. The calculator models one owner class, one group class, everyone else, and three special bits. It represents no Windows access entries, inheritance, identities, or syntax. The outline mentions WSL metadata, but the supplied repository material documents none, so detailed platform claims would exceed the available evidence.

Symbolic notation remains useful arithmetic even when storage uses another model. The parser accepts nine permission characters, optionally with a recognized type marker, validates each position, and converts them to one integer. It cannot say whether Windows or WSL persists, synthesizes, or ignores that value. Consult the responsible platform documentation before applying displayed commands.

Windows ACL and WSL metadata behavior need platform sources

FAT-family mount masks are outside this implementation. The panel has no umask, fmask, dmask, mount-option, or filesystem field. It can split a reported mode into owner, group, and other bits, but cannot derive that mode from configuration or prove how FAT or exFAT produced it. Broader behavior claims need external platform sources.

Follow the direction the evidence supports. Obtain an effective mode from a trustworthy system observation, then enter it and inspect the represented read, write, and execute flags. The four-digit summary reveals supplied special bits as well. Do not reverse that arithmetic into a mount diagnosis: the integer records no origin, and the page queries no storage.

FAT-family mount masks are outside the implementation

Extra macOS metadata is not parsed by this route. The symbolic input expects nine permission positions, optionally preceded by a recognized file-type character. It accepts no trailing indicators, reads no ACL entries or flags, and queries no path metadata. A base rwx mode can be decoded separately, but every additional macOS signal remains outside these sources.

Given a clean 755, the calculator renders rwxr-xr-x and explains it for the selected target. Directory execute means entering and reaching named entries; file execute means running a program. That implementation-backed distinction survives platform attribution. Any additional macOS access rule, notation, or interaction with mode bits requires specific evidence unavailable in this repository material.

Extra macOS metadata is not parsed by this route

SMB and NFS identity mapping or mode synthesis lies outside the implementation. The converter contacts no server, reads no mount configuration, resolves no UID, and cannot identify owner or group. Its classes are abstract slots derived from an integer. A mode reported by a network mount remains decodable, but detailed network-filesystem behavior is unsupported here.

This boundary prevents a category error. Mode 775 means owner and group have rwx while other has r-x. It does not reveal remote ownership, group membership, identity mapping, or whether a server synthesized the display. Verify the presented bits here, then gather export, client, server, and identity evidence from the actual environment before deciding authorization.

SMB and NFS identity or mode synthesis is outside the implementation

When Git reports a mode change, decode the values before revising policy. For 100644 and 100755, use 644 and 755: rw-r--r-- becomes rwxr-xr-x. Owner, group, and other each gain execute because their digit acquires weight 1. This establishes the semantic difference without assigning a cause to Git, a platform, or a filesystem.

Determine intent from project evidence that these sources do not contain. The calculator cannot read core.fileMode, parse .gitattributes, inspect the index, or decide whether executable state is authoritative. Its path-based command remains unexecuted. Carry the verified rwx difference into repository review, then change policy only after identifying the intended source of truth.

Worked example: decode the mode Git reports before changing repository policy

Windows permission commands belong to a separate model. This tool emits chmod forms such as octal values or u=rw,g=r,o=r. It neither parses Windows syntax nor maps three Unix classes onto a Windows ACL. Any plausible-looking translation would be invention, because twelve traditional bits cannot preserve every identity and access entry represented by another authorization system.

Object-storage authorization is equally separate. The calculator accepts only a traditional mode and never contacts a service, reads bucket policy, or handles object identities. Use it when an actual Unix-style octal or symbolic value needs decoding. For object storage and other models, inspect native policy data and documentation rather than forcing them into chmod notation.

Windows syntax and object storage remain separate models

Confirm which layer owns permission truth before using chmod. A mode presented by Git, a mount, or another platform can be translated into owner, group, other, and special bits. Validation catches malformed digits and symbolic positions, while s, S, t, and T preserve special state. Conversion explains the value, not its origin or authority.

Final review should separate arithmetic from environment. Verify the mode, record the exact differing class and bit, and identify the target as file or directory. Then inspect platform, filesystem, repository settings, identities, ACLs, and policies with native sources. The page's narrow role is valuable: dependable Unix-mode interpretation without pretending to diagnose cross-platform enforcement.