this post was submitted on 26 Jul 2025
10 points (100.0% liked)

Linux

58235 readers
741 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

I learned the hard way that the "x" permission on directories doesn't mean "execute" but "traverse". And setting permissions on directories get's them inherited by newly created/added files in there, right?

So how can i remove the ability from my homedir to execute current and new files but keep the traverse permission?

you are viewing a single comment's thread
view the rest of the comments
[–] IsoKiero@sopuli.xyz 3 points 1 month ago

And setting permissions on directories get’s them inherited by newly created/added files in there, right?

No. They're created based on 'umask' and changing directory permissions doesn't automatically change permissions on underlying files (unless you set privileges recursively) nor new files in the directory.

So how can i remove the ability from my homedir to execute current and new files but keep the traverse permission?

For new files set your umask on what you want. By default it's usually either 0002 or 0022. For existing files you can use find: find ~ -type f -exec echo chmod a-x {} \; (remove echo once you've confirmed that it does what you want).