Shell Permissions and Management

Cover Image for Shell Permissions and Management

Understanding file permissions and user management is essential for maintaining a secure and organized system. In this article, we'll explore the intricacies of permissions, user roles, and the tools available in the shell for managing them effectively.

Permissions and Ownership

  • chmod: Change file permissions.

  • sudo: Execute commands with superuser privileges.

  • su: Change user ID or become superuser.

  • chown: Change file ownership.

  • chgrp: Change file group ownership.

Linux File Permissions

Linux file permissions are divided into three sets: owner, group, and others. Each set has three possible permissions: read (r), write (w), and execute (x).

Representing Permissions as Digits

Each permission set can be represented as a digit using octal notation:

  • Read (r) is represented by 4.

  • Write (w) is represented by 2.

  • Execute (x) is represented by 1.

Changing Permissions, Ownership, and Group

  • To change permissions: Use chmod followed by the octal representation and filename.

  • To change ownership: Use chown followed by the new owner and filename.

  • To change group ownership: Use chgrp followed by the new group and filename.

Normal User Limitations

A normal user can't change the ownership of a file to another user. This is a security measure to prevent unauthorized access to files.

Running Commands with Root Privileges

  • To execute a command with root privileges, use sudo followed by the command.

  • You'll be prompted to enter your password to confirm your identity.

Changing User ID or Becoming Superuser

  • Use su followed by the root password to become superuser.

  • Use sudo -i to open a root shell.

Other Man Pages

  • Creating a user: Refer to the useradd man page.

  • Creating a group: Refer to the groupadd man page.

  • Printing real and effective user and group IDs: Use id command or refer to the id man page.

  • Printing the groups a user is in: Use groups command or refer to the groups man page.

  • Printing the effective user ID: Use id -u command.


By understanding permissions, ownership, and user management tools, you'll be better equipped to maintain a secure and organized system. The ability to manage access, execute commands with appropriate privileges, and navigate user roles is essential for efficient and secure system administration.

Remember to exercise caution when working with root privileges, as these capabilities can have far-reaching consequences. With a strong understanding of these concepts and tools, you'll be well-prepared to navigate the intricacies of shell permissions and management.