Continuing My DevOps Journey: Exploring Linux Further

Hello everyone,

I’m back with an update on my DevOps journey, and today I made significant progress in my exploration of Linux. After getting familiar with the basics, I moved on to more advanced concepts that are essential for anyone working in a Linux environment.

User and Group Management:

Understanding how to manage users and groups in Linux is crucial, especially for maintaining system security and organizing access to resources. Here’s what I covered:

  • Creating and Managing Users: I learned how to create new users using the adduser command and how to manage them with commands like usermod and passwd.

    sudo adduser username

    sudo passwd username

  • Creating and Managing Groups: Groups are used to manage permissions for multiple users. I practiced creating groups with groupadd and adding users to groups with usermod -aG.

    sudo groupadd groupname

    sudo usermod -aG groupname username

  • Switching Users: I also explored the su and sudo commands, which are used to switch users and execute commands with superuser privileges.

Understanding File Permissions:

Building on what I learned previously, I delved deeper into file permissions, a critical aspect of Linux security. Here’s what I focused on:

  • Changing File Permissions: I practiced using the chmod command to modify file permissions in both symbolic and numeric modes.

    sudo chmod u=rwx,g=rx,o=r filename

    sudo chmod 755 filename

  • Default Permissions with umask: I learned about the umask command, which sets the default file permissions for newly created files and directories.

    umask 022

  • File Ownership: I reinforced my understanding of file ownership and practiced changing ownership using chown.

    sudo chown newuser:newgroup filename

    Networking Basics:

    Networking is a vital component of Linux, especially in the context of DevOps. I started with some fundamental networking concepts:

    • Checking Network Configuration: I used commands like ifconfig (or ip addr in newer distributions) to check network interfaces and their configurations.

    • Managing Network Connections: I learned how to bring network interfaces up or down using ifup and ifdown, and how to check connectivity with ping.

    • Editing Network Configuration Files: I briefly explored the /etc/network/interfaces file to understand how network settings are configured on Linux systems.

Looking Ahead:

With these foundational skills in user management, permissions, and networking under my belt, I’m feeling more confident navigating the Linux environment. Next, I’m excited to dive into shell scripting—a powerful tool for automating tasks in Linux. I look forward to seeing how scripts can streamline processes and enhance efficiency.

As always, I welcome any tips, suggestions, or resources as I continue on this learning journey. Let’s keep growing together in the world of DevOps!

Cheers,

shriyansh kaurav

0
Subscribe to my newsletter

Read articles from Shriyansh Kaurav directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Shriyansh Kaurav
Shriyansh Kaurav

Hi there! I'm a recent B.Tech graduate in Computer Science from Sagar Institute of Research & Technology and Science. I have a strong foundation in Python and MySQL, and I'm passionate about entering the exciting field of DevOps. Currently based in Bangalore, I'm eager to learn and grow in this dynamic domain. I'm constantly exploring new technologies and best practices to improve software development and deployment processes. Let's connect and collaborate!