Skip to content

fix: chmod 1777 /tmp not chmod -R 1777 /tmp in Dockerfile.ci#747

Open
Gonzih wants to merge 1 commit intogarrytan:mainfrom
Gonzih:fix/docker-chmod-sticky-bit-files
Open

fix: chmod 1777 /tmp not chmod -R 1777 /tmp in Dockerfile.ci#747
Gonzih wants to merge 1 commit intogarrytan:mainfrom
Gonzih:fix/docker-chmod-sticky-bit-files

Conversation

@Gonzih
Copy link
Copy Markdown

@Gonzih Gonzih commented Apr 1, 2026

The Bug

`Dockerfile.ci` has:

```dockerfile
&& chmod 1777 /tmp \ ← correct
&& chmod -R 1777 /tmp ← wrong + duplicate
```

`chmod -R 1777 /tmp` recursively sets the sticky bit on every file inside `/tmp`, not just the directory. The sticky bit on a directory (1777) is well-defined: it prevents users from deleting each other's files. The sticky bit on a file has no defined behavior in modern Linux/POSIX and can confuse tools that inspect permissions (e.g., package managers, installers, security scanners that report "unexpected sticky bit on file").

It also runs twice — the first `chmod 1777 /tmp` on the line before is correct. The second with `-R` undoes that correctness.

Issue #709.

Fix

Remove the recursive `-R` flag and deduplicate. One `chmod 1777 /tmp` is correct.


sent from mStack

chmod -R 1777 /tmp sets the sticky bit on every FILE inside /tmp, not
just on the directory itself. The sticky bit on files has no modern use
and causes misbehavior in some tools that check permissions.

The sticky bit on /tmp the directory (1777) is correct and intentional.
The recursive -R flag is wrong and was also run twice redundantly.

Fix: remove -R, keep chmod 1777 /tmp once, drop the duplicate.

Closes garrytan#709
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant