Skip to content

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Linux Permission Auditor

A lightweight Bash utility for auditing Linux file permissions and identifying common permission-related security issues.

The tool recursively scans a target directory and provides an interactive menu for inspecting different types of permission configurations commonly encountered during Linux system administration and security assessments.


✨ Features

  • πŸ” Scan directories recursively
  • πŸ“ Detect files with unexpected permissions
  • πŸ”’ Identify SUID files
  • πŸ‘₯ Detect SGID files
  • πŸ“Œ Check Sticky Bit status
  • 🌍 Find world-writable files
  • πŸ‘€ Display file ownership information
  • πŸ–₯️ Interactive terminal menu
  • ⚑ Lightweight (pure Bash)

πŸ“‹ Audit Categories

The utility currently supports the following checks:

| 1 | Files with unexpected permissions (based on built-in permission rules) | | 2 | Detect SUID files | | 3 | Detect SGID files | | 4 | Check Sticky Bit | | 5 | Find World Writable files | | 6 | Verify file ownership | | 7 | Exit |


πŸ“¦ Requirements

The script requires:

  • Linux
  • Bash
  • find
  • stat
  • Standard GNU utilities

No additional packages are required.


πŸš€ Usage

Make the script executable:

chmod +x permission-auditor.sh

Run the auditor:

./permission-auditor.sh /path/to/directory

Example:

./permission-auditor.sh /var/www
image

πŸ–₯ Example

======================================
Linux Permission Auditor
======================================

1) Files with 777 permissions
2) SUID files
3) Files with SGID
4) Sticky Bit
5) World Writable
6) Owner verification
7) Exit

Select the desired audit option from the interactive menu.


πŸ“‚ Permission Policy

The script contains a built-in permission policy for common file extensions.

Example:

| sh | 755 | | py | 755 | | html | 644 | | css | 644 | | js | 644 | | txt | 644 | | json | 644 | | conf | 600 | | env | 600 | | key | 600 | | pem | 600 |

If an extension is not listed, the auditor reports it as an Unknown extension.


⚠ Notes

  • The supplied path must be an existing directory.
  • The utility is intended as a lightweight auditing tool.
  • It is designed for educational purposes and basic permission analysis.
  • It is not a replacement for professional security auditing software.

πŸ“– Technologies

  • Bash
  • find
  • stat
  • grep
  • Linux file permissions
  • SUID / SGID / Sticky Bit

About

A lightweight Bash utility for auditing Linux file permissions and identifying common permission-related security issues.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages