Early Unix systems were mainly commercial commodities like most software for sale; to run the operating system, you generally had to pay for that right. In 1984 an engineer named Richard Stallman began work on the GNU Project, which was an effort to create an operating system that was like Unix and that could be distributed and used freely by anyone. He currently runs the Free Software Foundation, and many of the programs he and his supporters have created are used in both commercial and open-source versions of Unix.
In 1991 Linus Torvalds, a Finnish graduate student, began work on a Unix-like system called Linux. Linux is actually the kernel, while the parts with which most people are familiar—the tools, shell, and file system—are the creations of others (usually the GNU organization).
As the Linux project gained momentum, it grew into a major contender in the Unix market. Many people are first introduced to Unix through Linux, which makes available to desktop machines the functionality of a Unix machine that used to costs thousands of dollars. The strength of Linux lies in its progressive licensing, which allows for the software to be freely distributable with no royalty requirements.
The permissions of a file are the first line of defense in the security of a Unix system. The basic building blocks of Unix permissions are the read, write, and execute permissions, which are described in the following table:
Permission | Applied to a Directory | Applied to Any Other Type of File |
read (r) | Grants the capability to read the contents of the directory or subdirectories. | Grants the capability to view the file. |
write (w) | Grants the capability to create, modify, or remove files or subdirectories. | Grants write permissions, allowing an authorized entity to modify the file, such as by adding text to a text file, or deleting the file. |
execute (x) | Grants the capability to enter the directory. | Allows the user to “run” the program. |
– | No permission. | No permission. |
To change file or directory permissions, you use the chmod (change mode) command. There are two ways to use chmod: symbolic mode and absolute mode.
Applying permissions with chmod’s absolute mode requires a numerical representation of the permissions, which is more efficient and is how the system views permissions. Permissions applied with chmod’s symbolic mode use the familiar rwx format and are easier to understand for most new users.
A file system is a component of Unix that enables the user to view, organize, secure, and interact with files and directories that are located on storage devices.
Everything in Unix is considered to be a file, including physical devices such as DVD-ROMs, USB devices, floppy drives, and so forth. This use of files allows Unix to be consistent in its treatment of resources and gives the user a consistent mechanism of interaction with the system. It’s easy to understand, then, why file systems are an integral part of a Unix operating system.
Here is the complete list of UNIX File structure and their recommended permissions:
Filename | User | Group | Permissions |
/bin | root | root | drwxr-xr-x |
/etc | root | root | drwxr-xr-x |
/etc/aliases | root | root | -rw-r–r– |
/etc/default/login | root | root | -rw——- |
/etc/exports | root | root | -rw-r–r– |
/etc/hosts | root | root | -rw-rw-r– |
/etc/hosts.allow | root | root | -rw——- |
/etc/hosts.deny | root | root | -rw——- |
/etc/hosts.equiv | root | root | -rw——- |
/etc/hosts.lpd | root | root | -rw——- |
/etc/inetd.conf | root | root | -rw——- |
/etc/issue | root | root | -rw-r–r– |
/etc/login.access | root | root | -rw——- |
/etc/login.conf | root | root | -rw——- |
/etc/login.defs | root | root | -rw——- |
/etc/motd | root | root | -rw-r–r– |
/etc/mtab | root | root | -rw-r–r– |
/etc/netgroup | root | root | -rw——- |
/etc/passwd | root | root | -rw-r–r– |
/etc/rc.d | root | root | drwx—— |
/etc/rc.local | root | root | -rw——- |
/etc/rc.sysinit | root | root | -rw——- |
/etc/sercuetty | root | root | -rw——- |
/etc/security | root | root | -rw——- |
/etc/services | root | root | -rw-r–r– |
/etc/shadow | root | root | -r——– |
/etc/ssh/ssh_host_key | root | root | -rw——- |
/etc/ssh/sshd_config | root | root | -rw——- |
/etc/ssh/ssh_host_dsa_key | root | root | -rw——- |
/etc/ssh/ssh_host_key | root | root | -rw——- |
/etc/ssh/ssh_host_rsa_key | root | root | -rw——- |
/etc/ttys | root | root | -rw——- |
/root | root | root | drwx—— |
/sbin | root | root | drwxr-xr-x |
/tmp | root | root | drwxrwxrwt |
/usr/bin | root | root | drwxr-xr-x |
/usr/etc | root | root | drwxr-xr-x |
/usr/sbin | root | root | drwxr-xr-x |
/var/log | root | root | drwxr-xr-x |
/var/log/authlog* | root | root | -rw——- |
/var/log/boot* | root | root | -rw——- |
/var/log/cron* | root | root | -rw——- |
/var/log/dmesg | root | root | -rw——- |
/var/log/lastlog | root | root | -rw——- |
/var/log/maillog* | root | root | -rw——- |
/var/log/messages* | root | root | -rw——- |
/var/log/secure* | root | root | -rw——- |
/var/log/spooler* | root | root | -rw——- |
/var/log/syslog* | root | root | -rw——- |
/var/log/utmp* | root | utmp | -rw-rw-r– |
/var/log/wtmp* | root | utmp | -rw-rw-r– |
/var/log/xferlog | root | root | -rw——- |
/var/run | root | root | drwxr-xr-x |
/var/run/*.pid | root/user | root/user | -rw-r–r– |
/var/spool/cron | root | root | drwx—— |
/var/spool/cron/crontabs/root | root | root | -r——– |
/var/spool/mail | root | drwxrwxr-x | |
/var/spool/mail/* | user | user | -rw-rw—- |
/var/tmp | root | root | drwxrwxrwt |
- CTEM – A Strategic Approach to Mitigating Cyber Risks
- AI in Penetration Testing – Revolutionizing Security Assessments
- Protecting Your Organization from AI-Enhanced Social Engineering Attacks
- The Rise of AI-Powered Cyber Attacks in 2025
- Top 5 Penetration Testing Methodologies to Follow in 2025
- Top 10 Penetration Testing Tools Every Security Professional Should Know in 2025
- Emerging Trends in Vulnerability Assessment and Penetration Testing (VAPT) for 2025
- The Role of Cybersecurity in Protecting IoT Devices in 2025
- Understanding the Five Phases of Penetration Testing
- Top 20 Cybersecurity Career Options