Skip to Content
Linux Security Cookbook
book

Linux Security Cookbook

by Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes
June 2003
Intermediate to advanced
336 pages
8h 54m
English
O'Reilly Media, Inc.
Content preview from Linux Security Cookbook

9.11. Finding Writable Files

Problem

You want to locate world-writable files and directories on your machine.

Solution

To find world-writable files:

$ find /dir -xdev -perm +o=w ! \( -type d -perm +o=t \) ! -type l -print

To disable world write access to a file:

$ chmod o-w file

To find and interactively fix world-writable files:

$ find /dir -xdev -perm +o=w ! \( -type d -perm +o=t \) ! -type l -ok chmod -v o-w {} \;

To prevent newly created files from being world-writable:

$ umask 002

Be aware of the important options and limitations of find, so you don’t inadvertently overlook important files. [Recipe 9.8]

Discussion

Think your system is free of world-writable files? Check anyway: you might be surprised. For example, files extracted from Windows Zip archives are notorious for having insecure or screwed-up permissions.

Our recipe skips directories that have the sticky bit set (e.g., /tmp). Such directories are often world-writable, but this is safe because of restrictions on removing and renaming files. [Recipe 7.2]

We also skip symbolic links, since their permission bits are ignored (and are usually all set). Only the permissions of the targets of symbolic links are relevant for access control.

The chmod command can disable world-write access. Combine it with find -ok and you can interactively detect and repair world-writable files.

You can avoid creating world-writable files by setting a bit in your umask. You also can set other bits for further restrictions. [Recipe 7.1] Note that programs ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Practical Linux Security Cookbook - Second Edition

Practical Linux Security Cookbook - Second Edition

Tajinder Kalsi
Mastering Linux Command Line

Mastering Linux Command Line

Coding Gears | Train Your Brain

Publisher Resources

ISBN: 0596003919Errata Page