<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux Archives - scmGalaxy</title>
	<atom:link href="https://www.scmgalaxy.com/tutorials/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.scmgalaxy.com/tutorials/tag/linux/</link>
	<description>A Platform for Software Engineers</description>
	<lastBuildDate>Sat, 21 Feb 2026 07:13:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Permissions: Comprehensive Guide for Securing Resources and Managing Access</title>
		<link>https://www.scmgalaxy.com/tutorials/permissions-comprehensive-guide-for-securing-resources-and-managing-access/</link>
					<comments>https://www.scmgalaxy.com/tutorials/permissions-comprehensive-guide-for-securing-resources-and-managing-access/#respond</comments>
		
		<dc:creator><![CDATA[Vijay K]]></dc:creator>
		<pubDate>Sat, 28 Jun 2025 11:44:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AccessControl]]></category>
		<category><![CDATA[ACL]]></category>
		<category><![CDATA[DataProtection]]></category>
		<category><![CDATA[IAM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NetworkSecurity]]></category>
		<category><![CDATA[Permissions]]></category>
		<category><![CDATA[RBAC]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SystemAdministration]]></category>
		<category><![CDATA[TechTutorial]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=12981</guid>

					<description><![CDATA[<p>What Are Permissions? Permissions are critical components in computer systems, applications, and networks that define what actions a user or [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/permissions-comprehensive-guide-for-securing-resources-and-managing-access/">Permissions: Comprehensive Guide for Securing Resources and Managing Access</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="683" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-205-1024x683.png" alt="" class="wp-image-12984" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-205-1024x683.png 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-205-300x200.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-205-768x512.png 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-205.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What Are Permissions?</strong></h2>



<p class="wp-block-paragraph"><strong>Permissions</strong> are critical components in computer systems, applications, and networks that define what actions a user or a group of users can perform on a specific resource. These resources could be anything from files and directories to network services and databases. Permissions serve as a <strong>security mechanism</strong> that helps control access and ensure the integrity of data and functionality within the system.</p>



<p class="wp-block-paragraph">In computing, permissions are typically assigned to specific <strong>user accounts</strong>, <strong>groups</strong>, or <strong>roles</strong> and are associated with <strong>resources</strong> (e.g., files, folders, network services). The specific actions that can be performed on a resource might include <strong>reading</strong>, <strong>writing</strong>, <strong>executing</strong>, or <strong>deleting</strong>.</p>



<p class="wp-block-paragraph">Permissions are implemented in different ways, depending on the operating system or platform, but they all aim to secure and govern the usage of system resources. By controlling who can access a resource and what operations they can perform, permissions prevent unauthorized access and safeguard sensitive data.</p>



<h3 class="wp-block-heading"><strong>Types of Permissions:</strong></h3>



<ol class="wp-block-list">
<li><strong>Read (r)</strong>: Allows the user to view the contents of a file or directory.</li>



<li><strong>Write (w)</strong>: Allows the user to modify or write to a file or directory.</li>



<li><strong>Execute (x)</strong>: Allows the user to run a file as a program or execute scripts.</li>



<li><strong>Delete</strong>: Allows the user to remove a file or directory from the system.</li>



<li><strong>Full Control</strong>: Grants all the above permissions along with the ability to modify permissions for files and directories.</li>



<li><strong>Special Permissions</strong>: In systems like <strong>UNIX/Linux</strong>, advanced permissions can be set, such as the <strong>setuid</strong> or <strong>sticky bit</strong>.</li>
</ol>



<p class="wp-block-paragraph">Permissions can be set on different <strong>levels</strong>: for individual users, user groups, or <strong>others</strong> (i.e., anyone who is not the owner or part of the group).</p>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What Are the Major Use Cases of Permissions?</strong></h2>



<p class="wp-block-paragraph">Permissions are utilized across various computing environments to control access to sensitive resources and ensure system security. Here are some major use cases:</p>



<h3 class="wp-block-heading"><strong>1. File System Security</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Permissions are commonly used in operating systems to restrict access to files and directories. They determine who can read, write, or execute files within a system. This prevents unauthorized access to critical files or modifications by users without proper authorization.</li>



<li><strong>Example</strong>: In <strong>Linux/Unix</strong> systems, file permissions are assigned using <code>chmod</code> (change mode) to specify who can access and modify the file. For example, the command <code>chmod 755 filename</code> grants the owner read/write/execute permissions, while granting read/execute permissions to others.</li>



<li><strong>Example</strong>: In <strong>Windows</strong>, permissions for files or folders can be set through the <strong>Properties</strong> menu, where an administrator can specify who can access files and what actions they can perform.</li>
</ul>



<h3 class="wp-block-heading"><strong>2. Database Access Control</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Permissions are essential for controlling access to databases. In <strong>Relational Database Management Systems (RDBMS)</strong>, such as <strong>MySQL</strong>, <strong>PostgreSQL</strong>, and <strong>SQL Server</strong>, permissions are used to restrict or allow specific operations (e.g., select, insert, update, delete) on database tables.</li>



<li><strong>Example</strong>: A <strong>database administrator (DBA)</strong> might grant read-only permissions to users accessing reporting tables while restricting others from making changes to the data.</li>



<li><strong>Example</strong>:</li>
</ul>



<pre class="wp-block-code"><code>GRANT SELECT, INSERT, UPDATE ON users TO 'employee_role';
</code></pre>



<h3 class="wp-block-heading"><strong>3. Cloud Services and Resources</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: In <strong>cloud computing</strong>, permissions are used to manage access to cloud resources such as <strong>compute instances</strong>, <strong>storage buckets</strong>, and <strong>databases</strong>. Permissions control who can <strong>launch</strong>, <strong>terminate</strong>, <strong>scale</strong>, or <strong>monitor</strong> cloud resources.</li>



<li><strong>Example</strong>: In <strong>Amazon Web Services (AWS)</strong>, <strong>IAM (Identity and Access Management)</strong> roles and policies are used to grant permissions to users and services. A developer might have full permissions to access EC2 instances but only read access to S3 buckets.</li>



<li><strong>Example</strong>: In <strong>Google Cloud Platform (GCP)</strong>, access permissions for <strong>Google Cloud Storage (GCS)</strong> buckets can be set using <strong>IAM roles</strong> to restrict who can upload, download, or delete objects from a bucket.</li>
</ul>



<h3 class="wp-block-heading"><strong>4. Network Access Control</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Permissions play a vital role in controlling access to network resources, such as <strong>shared folders</strong>, <strong>printers</strong>, and <strong>network devices</strong>. Access control lists (ACLs) are commonly used to define who can connect to network resources.</li>



<li><strong>Example</strong>: In <strong>Windows Server environments</strong>, network <strong>ACLs</strong> are used to grant or deny access to network shares based on <strong>user roles</strong> or <strong>IP addresses</strong>.</li>



<li><strong>Example</strong>: A <strong>firewall</strong> might use ACLs to allow traffic from specific IP addresses while blocking others from accessing certain internal servers.</li>
</ul>



<h3 class="wp-block-heading"><strong>5. Application-Level Access Control</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Many applications, including web applications, use permission systems to control user access. Applications often implement <strong>role-based access control (RBAC)</strong> to manage which users can perform specific tasks.</li>



<li><strong>Example</strong>: In a <strong>content management system (CMS)</strong>, administrators may be granted permissions to create, update, or delete content, while regular users only have permission to <strong>view</strong> content.</li>



<li><strong>Example</strong>: A <strong>social media platform</strong> might use permissions to control who can see a user’s profile, post content, or comment.</li>
</ul>



<h3 class="wp-block-heading"><strong>6. Role-Based Access Control (RBAC)</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: <strong>RBAC</strong> is a permission model where access is granted based on the <strong>roles</strong> assigned to users. Roles define the set of permissions associated with them, making it easier to manage access at scale.</li>



<li><strong>Example</strong>: A <strong>company</strong> might have roles such as <strong>admin</strong>, <strong>manager</strong>, and <strong>employee</strong>, each with different access levels to systems and data. An <strong>admin</strong> would have full control over the system, while an <strong>employee</strong> might have read-only access.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>How Permissions Work Along with Architecture?</strong></h2>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="683" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-207-1024x683.png" alt="" class="wp-image-12986" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-207-1024x683.png 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-207-300x200.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-207-768x512.png 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-207.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Permissions are a critical component in the <strong>security architecture</strong> of systems. Their primary function is to ensure that only <strong>authorized users</strong> can access or modify specific resources. Here’s how permissions integrate with system architecture:</p>



<h3 class="wp-block-heading"><strong>1. Role-Based Access Control (RBAC)</strong></h3>



<ul class="wp-block-list">
<li><strong>RBAC</strong> is a common way to manage permissions in large systems. In RBAC, <strong>users</strong> are assigned <strong>roles</strong> that correspond to a set of permissions. Each role defines the actions that a user can or cannot perform on specific resources.</li>



<li>For example, in a <strong>web application</strong>, roles like <strong>Admin</strong>, <strong>Editor</strong>, and <strong>Viewer</strong> might have different permissions to access, modify, or delete content.</li>
</ul>



<h3 class="wp-block-heading"><strong>2. Access Control Lists (ACLs)</strong></h3>



<ul class="wp-block-list">
<li><strong>ACLs</strong> are used to define the permissions for each <strong>user</strong> or <strong>group</strong> on a specific resource (such as files, network shares, or database objects). Each entry in an ACL specifies a <strong>user</strong> or <strong>group</strong> and the <strong>permissions</strong> they have (e.g., read, write, execute).</li>



<li><strong>Example</strong>: A file system on <strong>Linux</strong> uses ACLs to determine which users or groups can access a file, and what operations (read, write, execute) they are permitted to perform.</li>
</ul>



<h3 class="wp-block-heading"><strong>3. Authentication and Authorization</strong></h3>



<ul class="wp-block-list">
<li>Permissions are typically enforced after a user has been authenticated. <strong>Authentication</strong> ensures that the user is who they claim to be, while <strong>authorization</strong> determines what resources they are allowed to access and what actions they can perform.</li>



<li><strong>Example</strong>: In an <strong>enterprise environment</strong>, an employee might authenticate using <strong>single sign-on (SSO)</strong>, and the system will then check their role and permissions to determine which applications and resources they can access.</li>
</ul>



<h3 class="wp-block-heading"><strong>4. File and Directory Permissions</strong></h3>



<ul class="wp-block-list">
<li>In operating systems like <strong>Linux</strong>, <strong>UNIX</strong>, and <strong>Windows</strong>, permissions are set on <strong>files</strong> and <strong>directories</strong> to control which users or groups can read, write, or execute the file.</li>



<li><strong>Linux Example</strong>: File permissions can be set using the <code>chmod</code> command, which grants read, write, or execute access to a file for the owner, group, or others.</li>
</ul>



<h3 class="wp-block-heading"><strong>5. Cloud and Web Services</strong></h3>



<ul class="wp-block-list">
<li>Cloud services use <strong>Identity and Access Management (IAM)</strong> systems to manage who has access to cloud resources and what actions they can perform. IAM is built on a role-based model where users are assigned roles with specific permissions.</li>



<li><strong>AWS IAM</strong> is a prime example of how cloud services use roles, groups, and policies to manage permissions across cloud resources.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What Are the Basic Workflow of Permissions?</strong></h2>



<p class="wp-block-paragraph">The basic workflow of permissions typically involves defining users and resources, assigning permissions, and enforcing those permissions across the system. Here’s a typical workflow:</p>



<h3 class="wp-block-heading"><strong>Step 1: Define Users and Roles</strong></h3>



<ul class="wp-block-list">
<li>Identify the <strong>users</strong> who need access to the system and define <strong>roles</strong> based on the tasks and responsibilities associated with each user.</li>



<li>Example: <strong>Administrator</strong>, <strong>Manager</strong>, and <strong>Employee</strong> roles.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 2: Define Resources</strong></h3>



<ul class="wp-block-list">
<li>Identify the <strong>resources</strong> (files, databases, network services) that need access control. Resources can vary from files in a file system to cloud services or databases.</li>



<li>Example: A <strong>shared folder</strong> in a network, <strong>HR database</strong>, or <strong>email system</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 3: Assign Permissions</strong></h3>



<ul class="wp-block-list">
<li>Assign <strong>permissions</strong> to users or roles for each resource. Permissions define what actions (read, write, execute, delete) users or roles can perform on a resource.</li>



<li>Example: An <strong>Admin</strong> role might have full access to all files, while an <strong>Employee</strong> role might have read-only access.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 4: Enforce Access Control</strong></h3>



<ul class="wp-block-list">
<li>The system enforces the permissions by checking if the user or role is authorized to perform the requested operation. If the user has the correct permissions, the action is allowed; otherwise, it is denied.</li>



<li>Example: In <strong>UNIX</strong>, file permissions determine whether a user can <strong>read</strong>, <strong>write</strong>, or <strong>execute</strong> a file.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 5: Audit and Monitor Permissions</strong></h3>



<ul class="wp-block-list">
<li>Systems can track who accessed a resource and what actions they performed. This is important for <strong>compliance</strong>, <strong>security auditing</strong>, and <strong>forensic analysis</strong>.</li>



<li>Example: <strong>Windows Server</strong> and <strong>Linux</strong> systems log access events that can be reviewed later.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>Step-by-Step Getting Started Guide for Permissions</strong></h2>



<h3 class="wp-block-heading"><strong>Step 1: Identify Resources</strong></h3>



<ul class="wp-block-list">
<li>Determine which resources need to be secured (files, network shares, databases, applications).</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 2: Create User Accounts or Roles</strong></h3>



<ul class="wp-block-list">
<li>Create user accounts or define roles based on the required level of access. Assign users to appropriate roles (e.g., Admin, User, Guest).</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 3: Assign Permissions</strong></h3>



<ul class="wp-block-list">
<li>Assign the necessary permissions to resources for each user or role. Use <strong>ACLs</strong>, <strong>RBAC</strong>, or <strong>IAM</strong> systems depending on the environment.</li>



<li>Example for <strong>Linux</strong>: </li>
</ul>



<pre class="wp-block-code"><code>chmod 755 file.txt
</code></pre>



<h3 class="wp-block-heading"><strong>Step 4: Enforce Access Control</strong></h3>



<ul class="wp-block-list">
<li>Implement access control policies at the file system, database, or application level to ensure that only authorized users can access resources.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 5: Monitor and Audit</strong></h3>



<ul class="wp-block-list">
<li>Use monitoring tools to track access and ensure compliance with security policies.</li>
</ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/permissions-comprehensive-guide-for-securing-resources-and-managing-access/">Permissions: Comprehensive Guide for Securing Resources and Managing Access</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/permissions-comprehensive-guide-for-securing-resources-and-managing-access/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Ultimate Guide to Getting Started with Raspberry Pi: From Setup to Projects</title>
		<link>https://www.scmgalaxy.com/tutorials/the-ultimate-guide-to-getting-started-with-raspberry-pi-from-setup-to-projects/</link>
					<comments>https://www.scmgalaxy.com/tutorials/the-ultimate-guide-to-getting-started-with-raspberry-pi-from-setup-to-projects/#respond</comments>
		
		<dc:creator><![CDATA[Vijay K]]></dc:creator>
		<pubDate>Thu, 26 Jun 2025 00:34:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[EmbeddedSystems]]></category>
		<category><![CDATA[HomeAutomation]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MakerCommunity]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RaspberryPi]]></category>
		<category><![CDATA[RaspberryPiOS]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[TechProjects]]></category>
		<category><![CDATA[TechTutorial]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=12983</guid>

					<description><![CDATA[<p>What is Raspberry Pi? The Raspberry Pi is a small, affordable, single-board computer that has gained immense popularity for its [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/the-ultimate-guide-to-getting-started-with-raspberry-pi-from-setup-to-projects/">The Ultimate Guide to Getting Started with Raspberry Pi: From Setup to Projects</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="683" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-211-1024x683.png" alt="" class="wp-image-12992" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-211-1024x683.png 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-211-300x200.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-211-768x512.png 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-211.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What is Raspberry Pi?</strong></h2>



<p class="wp-block-paragraph">The <strong>Raspberry Pi</strong> is a small, affordable, single-board computer that has gained immense popularity for its <strong>versatility</strong>, <strong>low-cost</strong> nature, and ease of use. It was developed by the <strong>Raspberry Pi Foundation</strong>, a UK-based charity with the goal of encouraging the study of <strong>computer science</strong> and <strong>electronics</strong> in schools and in developing countries. Since its launch in 2012, Raspberry Pi has become a key tool in <strong>education</strong>, <strong>hobbyist projects</strong>, and <strong>industrial applications</strong> due to its accessibility, performance, and adaptability.</p>



<p class="wp-block-paragraph">The Raspberry Pi runs a variety of <strong>operating systems</strong>, including <strong>Raspberry Pi OS</strong> (formerly Raspbian), a <strong>Linux</strong>-based OS that is optimized for the hardware. It&#8217;s an excellent platform for learning programming, experimenting with electronics, and building diverse projects, from <strong>home automation</strong> to <strong>robotics</strong>.</p>



<p class="wp-block-paragraph">The core feature of the Raspberry Pi is its <strong>compact form factor</strong>, which makes it portable and highly adaptable. Despite its small size, the Raspberry Pi is a full-fledged computer capable of running word processors, web browsers, and even media centers. With built-in features such as <strong>GPIO pins</strong> for physical computing projects, <strong>HDMI outputs</strong> for video, <strong>USB ports</strong> for peripherals, and support for <strong>Wi-Fi</strong> and <strong>Bluetooth</strong>, Raspberry Pi is truly a multifunctional device.</p>



<h3 class="wp-block-heading"><strong>Core Features of Raspberry Pi:</strong></h3>



<ul class="wp-block-list">
<li><strong>Low-Cost</strong>: The Raspberry Pi is extremely affordable, with prices starting at as low as $5 for the <strong>Raspberry Pi Zero</strong> model.</li>



<li><strong>Compact Size</strong>: The board measures approximately the size of a credit card, making it easy to use in space-constrained projects.</li>



<li><strong>Versatility</strong>: Raspberry Pi can serve as a desktop computer, a media center, a development board, a server, or a part of complex systems like <strong>IoT devices</strong> and <strong>robotics</strong>.</li>



<li><strong>Extensibility</strong>: With <strong>GPIO pins</strong>, <strong>USB ports</strong>, <strong>HDMI outputs</strong>, and <strong>Ethernet</strong>/<strong>Wi-Fi</strong> capabilities, Raspberry Pi is widely used for embedded projects, creating <strong>custom computers</strong>, <strong>servers</strong>, and <strong>hardware integrations</strong>.</li>



<li><strong>Programming Flexibility</strong>: Raspberry Pi supports a variety of programming languages like <strong>Python</strong>, <strong>JavaScript</strong>, <strong>C/C++</strong>, and <strong>Java</strong>, among others.</li>



<li><strong>Open-Source</strong>: Raspberry Pi is supported by a large open-source community, and it runs on <strong>Raspberry Pi OS</strong>, an open-source Linux-based operating system.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What Are the Major Use Cases of Raspberry Pi?</strong></h2>



<p class="wp-block-paragraph">Raspberry Pi has found applications in numerous fields due to its flexibility, affordability, and performance. Below are some of the most prominent use cases:</p>



<h3 class="wp-block-heading"><strong>1. Educational Use in Schools and Universities</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi was initially created to promote computer science and electronics education. It is commonly used in schools and universities to teach programming and hardware design.</li>



<li><strong>Example</strong>: Raspberry Pi is used to teach students about <strong>coding</strong>, <strong>basic electronics</strong>, and the principles of <strong>computer architecture</strong>. Through hands-on projects, students can create simple systems and gain practical knowledge.</li>



<li><strong>Example</strong>: Raspberry Pi is also used to introduce <strong>programming languages</strong> like <strong>Python</strong> and <strong>Scratch</strong> to young learners, making it easier for them to learn logic and computational thinking.</li>
</ul>



<h3 class="wp-block-heading"><strong>2. IoT (Internet of Things) and Automation</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi is a popular platform for building <strong>Internet of Things (IoT)</strong> devices and systems. Its GPIO pins allow it to interface with sensors, actuators, and other physical devices, making it suitable for smart home automation projects, sensor networks, and more.</li>



<li><strong>Example</strong>: Raspberry Pi can be used in a <strong>smart home</strong> setup to control lighting, security systems, temperature, and other devices. With appropriate sensors and software, Raspberry Pi can automate actions based on user preferences or sensor data.</li>
</ul>



<h3 class="wp-block-heading"><strong>3. Media Center and Home Theater Systems</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi is widely used as a <strong>media center</strong> or <strong>home theater system (HTPC)</strong>. Using software like <strong>Kodi</strong> or <strong>OSMC</strong>, Raspberry Pi can stream movies, music, and TV shows, making it a cost-effective alternative to traditional media players.</li>



<li><strong>Example</strong>: With <strong>RetroPie</strong>, Raspberry Pi can also be used as a <strong>retro gaming console</strong>, capable of running games from classic systems like <strong>NES</strong>, <strong>SNES</strong>, and <strong>Sega Genesis</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>4. Robotics Projects</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi is a favorite among hobbyists and researchers for building <strong>robots</strong>. It provides the necessary computing power and connectivity to control motors, sensors, and other components in robotics projects.</li>



<li><strong>Example</strong>: Raspberry Pi can be used to create an <strong>autonomous robot</strong> that uses sensors like <strong>ultrasonic</strong> for navigation and <strong>cameras</strong> for object recognition. It can be programmed to follow specific behaviors, respond to environmental stimuli, and even perform complex tasks.</li>
</ul>



<h3 class="wp-block-heading"><strong>5. Server Projects (Personal Cloud, Web Server, VPN)</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi can act as a <strong>web server</strong>, <strong>file server</strong>, or even a <strong>VPN server</strong>. Its low cost and energy efficiency make it an excellent choice for hosting small-scale services.</li>



<li><strong>Example</strong>: Raspberry Pi can host a <strong>Nextcloud server</strong>, allowing users to store and access files remotely. It can also host a <strong>private website</strong> or provide <strong>web development environments</strong> for testing.</li>



<li><strong>Example</strong>: Raspberry Pi is frequently used as a <strong>VPN server</strong>, enabling secure remote access to private networks and internet browsing.</li>
</ul>



<h3 class="wp-block-heading"><strong>6. Network Attached Storage (NAS)</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi can be configured as a <strong>NAS device</strong> that provides <strong>networked storage</strong> for local networks. By connecting external drives to the Pi, users can create a simple yet powerful file server for <strong>home use</strong>.</li>



<li><strong>Example</strong>: Raspberry Pi can serve as a <strong>home backup solution</strong>, providing centralized storage and file sharing for multiple users or devices.</li>
</ul>



<h3 class="wp-block-heading"><strong>7. Security and Surveillance Systems</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi is frequently used for building <strong>security cameras</strong> and <strong>surveillance systems</strong>. With cameras and motion detection sensors, Raspberry Pi can be integrated into a home or office security system.</li>



<li><strong>Example</strong>: <strong>MotionEyeOS</strong> is a popular software that turns Raspberry Pi into a <strong>motion-detection camera system</strong>. It can send alerts, stream video, and save footage for later review.</li>
</ul>



<h3 class="wp-block-heading"><strong>8. Scientific Research and Data Logging</strong></h3>



<ul class="wp-block-list">
<li><strong>Use Case</strong>: Raspberry Pi is used in scientific research to monitor and log data from sensors. It can handle temperature sensors, humidity sensors, and various environmental monitoring devices, making it ideal for lab experiments.</li>



<li><strong>Example</strong>: Raspberry Pi can be used to <strong>log environmental data</strong>, such as <strong>temperature</strong> and <strong>humidity</strong>, in a greenhouse and then upload it to a cloud service for analysis.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>How Raspberry Pi Works Along with Architecture?</strong></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-212-1024x683.png" alt="" class="wp-image-12993" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-212-1024x683.png 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-212-300x200.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-212-768x512.png 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-212.png 1536w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The Raspberry Pi’s architecture is built around several core components that provide the power, connectivity, and flexibility required for various applications. Here’s a look at how it works:</p>



<h3 class="wp-block-heading"><strong>1. Central Processing Unit (CPU)</strong></h3>



<ul class="wp-block-list">
<li>The <strong>Broadcom ARM-based CPU</strong> is the heart of the Raspberry Pi. It performs the computations and manages tasks. The CPU typically operates at clock speeds ranging from <strong>1 GHz to 1.5 GHz</strong>, depending on the model.</li>



<li>Raspberry Pi’s architecture allows it to run <strong>lightweight operating systems</strong> like <strong>Raspberry Pi OS</strong>, making it suitable for a wide range of tasks from <strong>basic computing</strong> to <strong>embedded systems</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>2. Graphics Processing Unit (GPU)</strong></h3>



<ul class="wp-block-list">
<li>The <strong>Broadcom VideoCore IV GPU</strong> handles all graphical tasks, such as video playback, rendering images, and supporting <strong>3D graphics</strong> for multimedia applications. This allows the Raspberry Pi to support <strong>HD video</strong> and even <strong>gaming</strong> via emulation.</li>



<li>The GPU is integrated into the same chip as the CPU, enabling efficient performance in multimedia tasks.</li>
</ul>



<h3 class="wp-block-heading"><strong>3. Memory (RAM)</strong></h3>



<ul class="wp-block-list">
<li>Raspberry Pi models come with <strong>RAM</strong> ranging from <strong>256 MB</strong> to <strong>8 GB</strong>, depending on the model. This memory is used for the operating system and active programs. The more RAM a model has, the more complex and memory-intensive tasks it can handle.</li>



<li>The <strong>shared memory model</strong> between the CPU and GPU means that both use the same memory resources, optimizing system performance for multimedia and processing.</li>
</ul>



<h3 class="wp-block-heading"><strong>4. General Purpose Input/Output (GPIO) Pins</strong></h3>



<ul class="wp-block-list">
<li>Raspberry Pi includes <strong>GPIO pins</strong>, which are used for connecting sensors, switches, motors, LEDs, and other electronics. The GPIO pins allow Raspberry Pi to interact with the physical world and are used in countless projects like <strong>robotics</strong>, <strong>home automation</strong>, and <strong>IoT systems</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>5. Storage (SD Card Slot)</strong></h3>



<ul class="wp-block-list">
<li>Raspberry Pi uses a <strong>microSD card</strong> for both <strong>storage</strong> and <strong>booting</strong>. The operating system, programs, and data are stored on this card, which can be easily swapped or upgraded to increase storage capacity or upgrade the system.</li>



<li>The Pi also supports <strong>external USB storage</strong> for additional data needs, providing users with flexible storage options.</li>
</ul>



<h3 class="wp-block-heading"><strong>6. Connectivity</strong></h3>



<ul class="wp-block-list">
<li>Most Raspberry Pi models come with <strong>Ethernet</strong> or <strong>Wi-Fi</strong> connectivity, enabling it to connect to the internet or a local network.</li>



<li><strong>Bluetooth</strong> support is also available in newer models like the <strong>Raspberry Pi 3</strong> and <strong>Raspberry Pi 4</strong>, making it ideal for wireless communication with peripherals.</li>
</ul>



<h3 class="wp-block-heading"><strong>7. Power Supply</strong></h3>



<ul class="wp-block-list">
<li>Raspberry Pi requires a <strong>5V power supply</strong>, typically via <strong>micro-USB</strong> or <strong>USB-C</strong> (depending on the model). Power is a critical aspect of the Raspberry Pi’s architecture, as it ensures the board and peripherals can function properly without drawing too much energy.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What Are the Basic Workflow of Raspberry Pi?</strong></h2>



<p class="wp-block-paragraph">Raspberry Pi’s workflow revolves around setting up the hardware, installing the operating system, and using the device for specific projects or tasks. Here’s how the basic workflow unfolds:</p>



<h3 class="wp-block-heading"><strong>Step 1: Setup Hardware</strong></h3>



<ul class="wp-block-list">
<li><strong>Connect peripherals</strong> such as a <strong>keyboard</strong>, <strong>mouse</strong>, <strong>monitor</strong>, and <strong>SD card</strong> with the operating system. You can also set it up without peripherals using <strong>headless SSH</strong> (for remote control).</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 2: Install the Operating System</strong></h3>



<ul class="wp-block-list">
<li>Download and install the <strong>Raspberry Pi OS</strong> or another compatible OS onto a <strong>microSD card</strong> using the official <strong>Raspberry Pi Imager</strong> or <strong>Etcher</strong> software. Insert the SD card into the Raspberry Pi and power it on.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 3: Initial Configuration</strong></h3>



<ul class="wp-block-list">
<li>Upon first boot, configure system settings such as <strong>language</strong>, <strong>time zone</strong>, and <strong>Wi-Fi</strong> settings. You may also want to enable SSH for remote access.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 4: Install Additional Software</strong></h3>



<ul class="wp-block-list">
<li>Use the <strong>apt-get</strong> package manager to install software packages as needed. Install programming tools, libraries, or even software like <strong>Apache</strong>, <strong>Python</strong>, or <strong>RetroPie</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 5: Build Your Project</strong></h3>



<ul class="wp-block-list">
<li>Once the Raspberry Pi is set up, you can begin working on your project. Whether it’s <strong>home automation</strong>, <strong>robotics</strong>, or a <strong>media server</strong>, use the appropriate hardware and software configurations.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>Step-by-Step Getting Started Guide for Raspberry Pi</strong></h2>



<h3 class="wp-block-heading"><strong>Step 1: Choose a Raspberry Pi Model</strong></h3>



<ul class="wp-block-list">
<li>Select the model that suits your needs. The <strong>Raspberry Pi 4</strong> is great for most projects, while the <strong>Raspberry Pi Zero</strong> is ideal for small, low-power projects.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 2: Install Raspberry Pi OS</strong></h3>



<ul class="wp-block-list">
<li>Download <strong>Raspberry Pi OS</strong> and flash it onto a <strong>microSD card</strong>. Use tools like <strong>Raspberry Pi Imager</strong> or <strong>Etcher</strong> for installation.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 3: Set Up Peripherals</strong></h3>



<ul class="wp-block-list">
<li>Attach a <strong>keyboard</strong>, <strong>mouse</strong>, and <strong>monitor</strong> to your Raspberry Pi. If you are setting up headless, enable SSH and connect to the Pi over <strong>Wi-Fi</strong> or <strong>Ethernet</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 4: Power Up</strong></h3>



<ul class="wp-block-list">
<li>Connect the power supply, insert the <strong>microSD card</strong>, and power on the Raspberry Pi.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 5: Configure System</strong></h3>



<ul class="wp-block-list">
<li>Complete the initial setup, set up Wi-Fi, and change settings like <strong>locale</strong> and <strong>timezone</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 6: Install Additional Software</strong></h3>



<ul class="wp-block-list">
<li>Use the <strong>Terminal</strong> to install packages such as <strong>Python</strong>, <strong>Node.js</strong>, or other tools to meet your project needs.</li>
</ul>



<h3 class="wp-block-heading"><strong>Step 7: Start Building Projects</strong></h3>



<ul class="wp-block-list">
<li>Use <strong>GPIO pins</strong> for electronics, run programs, and experiment with different setups depending on your project (e.g., <strong>IoT</strong>, <strong>robotics</strong>, <strong>media center</strong>).</li>
</ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/the-ultimate-guide-to-getting-started-with-raspberry-pi-from-setup-to-projects/">The Ultimate Guide to Getting Started with Raspberry Pi: From Setup to Projects</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/the-ultimate-guide-to-getting-started-with-raspberry-pi-from-setup-to-projects/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Understanding Makefiles: Use Cases, Architecture, and Getting Started Guide</title>
		<link>https://www.scmgalaxy.com/tutorials/understanding-makefiles-use-cases-architecture-and-getting-started-guide/</link>
					<comments>https://www.scmgalaxy.com/tutorials/understanding-makefiles-use-cases-architecture-and-getting-started-guide/#respond</comments>
		
		<dc:creator><![CDATA[Vijay K]]></dc:creator>
		<pubDate>Tue, 10 Jun 2025 12:52:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[BuildAutomation]]></category>
		<category><![CDATA[CProgramming]]></category>
		<category><![CDATA[DependencyManagement]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makefile]]></category>
		<category><![CDATA[MakeUtility]]></category>
		<category><![CDATA[ProgrammingTools]]></category>
		<category><![CDATA[SoftwareDevelopment]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=12615</guid>

					<description><![CDATA[<p>What is a Makefile? A Makefile is a special file used by the make utility to automate the process of [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/understanding-makefiles-use-cases-architecture-and-getting-started-guide/">Understanding Makefiles: Use Cases, Architecture, and Getting Started Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="577" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-60-1024x577.png" alt="" class="wp-image-12624" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-60-1024x577.png 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-60-300x169.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-60-768x433.png 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/06/image-60.png 1278w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What is a Makefile?</strong></h2>



<p class="wp-block-paragraph">A <strong>Makefile</strong> is a special file used by the <strong>make</strong> utility to automate the process of building and managing dependencies in software projects. It is a text file that contains a set of rules and instructions for compiling, linking, and organizing the execution of tasks in a project. Makefiles are essential for managing complex software projects, especially those with many source files and dependencies.</p>



<p class="wp-block-paragraph">The <strong>make</strong> tool reads the instructions in the Makefile and executes the necessary commands to compile or process files in the correct order. Makefiles are most commonly used in <strong>C</strong> and <strong>C++</strong> development environments, but they are applicable to any programming language and can be used to automate tasks such as testing, deployment, or file organization.</p>



<p class="wp-block-paragraph">A Makefile consists of <strong>rules</strong>, which include:</p>



<ul class="wp-block-list">
<li><strong>Targets</strong>: The file or outcome to be created (e.g., executable file or object files).</li>



<li><strong>Dependencies</strong>: Files that are required to create the target.</li>



<li><strong>Commands</strong>: Instructions that must be executed to build the target from the dependencies.</li>
</ul>



<h4 class="wp-block-heading"><strong>Basic Syntax of a Makefile</strong>:</h4>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
target: dependencies
    command

</pre></div>


<p class="wp-block-paragraph">Each rule specifies a target, the dependencies required for the target, and the command(s) to execute. The <strong>commands</strong> are usually preceded by a <strong>tab</strong> character.</p>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>What are the Major Use Cases of Makefile?</strong></h2>



<p class="wp-block-paragraph">Makefiles are primarily used to automate repetitive tasks in software development. Here are some major use cases:</p>



<h4 class="wp-block-heading">1. <strong>Build Automation</strong></h4>



<p class="wp-block-paragraph">Makefiles are widely used to automate the process of compiling and linking source files into executable programs. By defining a set of rules, developers can ensure that the build process is consistent, efficient, and reproducible. This is especially useful when working with large projects with multiple source files and dependencies.</p>



<p class="wp-block-paragraph"><strong>Example</strong>:<br>A project may contain many <code>.c</code> files that need to be compiled into <code>.o</code> files before linking them into an executable. A Makefile can automate this process and recompile only the files that have changed since the last build.</p>



<h4 class="wp-block-heading">2. <strong>Managing Dependencies</strong></h4>



<p class="wp-block-paragraph">One of the key features of Makefiles is their ability to track dependencies between files. If a file changes, <strong>make</strong> will automatically recompile any targets that depend on it. This ensures that only the necessary parts of the project are rebuilt, saving time and computational resources.</p>



<p class="wp-block-paragraph"><strong>Example</strong>:<br>In a project with a library and several applications depending on it, when the library is updated, <code>make</code> will only recompile the applications that depend on it, rather than rebuilding the entire project.</p>



<h4 class="wp-block-heading">3. <strong>Task Automation Beyond Building</strong></h4>



<p class="wp-block-paragraph">While Makefiles are primarily used for compiling code, they can also be used to automate other tasks in a development pipeline, such as:</p>



<ul class="wp-block-list">
<li>Running tests after a build.</li>



<li>Deploying a project to a production server.</li>



<li>Cleaning up temporary files (e.g., <code>.o</code>, <code>.log</code> files).</li>



<li>Generating documentation or performing lint checks.</li>
</ul>



<p class="wp-block-paragraph"><strong>Example</strong>:<br>A Makefile can automate running unit tests after building the software, ensuring that the project is always properly tested after each modification.</p>



<h4 class="wp-block-heading">4. <strong>Cross-Platform Compatibility</strong></h4>



<p class="wp-block-paragraph">Makefiles can be used to create projects that can be built on different platforms. By abstracting platform-specific commands into variables, developers can create Makefiles that work across different operating systems and environments.</p>



<p class="wp-block-paragraph"><strong>Example</strong>:<br>A Makefile could use conditional checks to determine whether it&#8217;s running on <strong>Linux</strong>, <strong>Windows</strong>, or <strong>macOS</strong>, and adjust the build commands accordingly.</p>



<h4 class="wp-block-heading">5. <strong>Continuous Integration (CI)</strong></h4>



<p class="wp-block-paragraph">Makefiles are often used in CI/CD (Continuous Integration/Continuous Deployment) pipelines to automate builds and tests. CI systems like <strong>Jenkins</strong> or <strong>Travis CI</strong> can use Makefiles to automate the process of building software, running tests, and deploying the results.</p>



<p class="wp-block-paragraph"><strong>Example</strong>:<br>A CI pipeline might automatically execute <code>make</code> commands to compile code, run unit tests, and deploy the application whenever new code is pushed to a version control system (e.g., GitHub).</p>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>How Makefile Works Along with Architecture?</strong></h2>



<p class="wp-block-paragraph">The <strong>make</strong> utility reads the Makefile, processes the rules, and determines which targets need to be updated based on the dependencies. It does this by comparing the <strong>timestamps</strong> of the target files and their dependencies. If a dependency has changed (i.e., its timestamp is newer than the target file), <strong>make</strong> will execute the associated commands to rebuild the target.</p>



<h4 class="wp-block-heading"><strong>1. Target and Dependency Resolution</strong></h4>



<ul class="wp-block-list">
<li>A target is the file that is generated by the build process, such as an executable, object file, or other output.</li>



<li>A dependency is a file required by the target. If any dependency is updated (modified), the target must be rebuilt.</li>



<li>If a target has multiple dependencies, <strong>make</strong> will check if any dependency has changed and will only rebuild the target if necessary.</li>
</ul>



<h4 class="wp-block-heading"><strong>2. Rule Processing</strong></h4>



<ul class="wp-block-list">
<li>A Makefile contains multiple rules, each defining a target, its dependencies, and the commands required to generate the target.</li>



<li>The commands in the Makefile are executed in the order of the dependencies. For example, if an object file (<code>file.o</code>) is a dependency of an executable (<code>file</code>), <strong>make</strong> will first check whether <code>file.o</code> is up-to-date before attempting to link <code>file.o</code> to create the final executable.</li>
</ul>



<h4 class="wp-block-heading"><strong>3. Handling Multiple Rules</strong></h4>



<ul class="wp-block-list">
<li>A Makefile can contain multiple rules for different targets. <strong>make</strong> will follow the dependency chain for each target, ensuring that all prerequisites are built before the target itself.</li>
</ul>



<p class="wp-block-paragraph"><strong>Example</strong>:<br>The following Makefile builds an executable <code>program</code> from two object files <code>main.o</code> and <code>helper.o</code>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
program: main.o helper.o
    gcc -o program main.o helper.o

main.o: main.c
    gcc -c main.c

helper.o: helper.c
    gcc -c helper.c

</pre></div>


<h4 class="wp-block-heading"><strong>4. Phony Targets</strong></h4>



<p class="wp-block-paragraph">Some targets in a Makefile, like <code>clean</code>, do not correspond to actual files but are used to represent tasks (e.g., cleaning up temporary files). These targets are called <strong>phony</strong> targets, and they are always executed when requested.</p>



<p class="wp-block-paragraph"><strong>Example</strong>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
.PHONY: clean
clean:
    rm -f *.o program

</pre></div>


<h4 class="wp-block-heading"><strong>5. Variables</strong></h4>



<p class="wp-block-paragraph">Makefiles support variables that allow for reuse of common values across the file. These variables can simplify complex Makefiles, improve maintainability, and make it easier to modify the build configuration.</p>



<p class="wp-block-paragraph"><strong>Example</strong>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
CC = gcc
CFLAGS = -Wall -g

program: main.o helper.o
    $(CC) $(CFLAGS) -o program main.o helper.o

</pre></div>


<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>Basic Workflow of Makefile</strong></h2>



<p class="wp-block-paragraph">The basic workflow of using a Makefile consists of the following steps:</p>



<ol class="wp-block-list">
<li><strong>Define Targets</strong>:<br>Specify the targets that need to be created, such as executables or intermediate object files.</li>



<li><strong>Specify Dependencies</strong>:<br>List the dependencies of each target. If any dependency changes, the target will be rebuilt.</li>



<li><strong>Write Commands</strong>:<br>Provide the commands to be executed in order to build the target from the dependencies. These commands are executed only if the target is out-of-date.</li>



<li><strong>Run <code>make</code></strong>:<br>Run the <code>make</code> utility on the command line, passing the desired target as an argument. For example, running <code>make program</code> will attempt to build the <code>program</code> target.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h2 class="wp-block-heading"><strong>Step-by-Step Getting Started Guide for Makefile</strong></h2>



<p class="wp-block-paragraph">Here is a step-by-step guide to creating and using a Makefile for a simple C program:</p>



<h4 class="wp-block-heading"><strong>Step 1: Create Your Project Files</strong></h4>



<p class="wp-block-paragraph">Assume you have a C program with the following structure:</p>



<ul class="wp-block-list">
<li><code>main.c</code>: The main source file.</li>



<li><code>helper.c</code>: A helper source file.</li>



<li><code>helper.h</code>: Header file for <code>helper.c</code>.</li>
</ul>



<h4 class="wp-block-heading"><strong>Step 2: Create the Makefile</strong></h4>



<p class="wp-block-paragraph">In your project directory, create a file named <code>Makefile</code> (no extension). Then, write the following contents:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
CC = gcc
CFLAGS = -Wall -g

program: main.o helper.o
    $(CC) $(CFLAGS) -o program main.o helper.o

main.o: main.c
    $(CC) $(CFLAGS) -c main.c

helper.o: helper.c helper.h
    $(CC) $(CFLAGS) -c helper.c

clean:
    rm -f *.o program

</pre></div>


<h4 class="wp-block-heading"><strong>Step 3: Understand the Makefile</strong></h4>



<ul class="wp-block-list">
<li><strong>Variables</strong>: <code>CC</code> and <code>CFLAGS</code> are variables that specify the compiler and the compiler flags, respectively.</li>



<li><strong>Targets</strong>: The targets are <code>program</code>, <code>main.o</code>, <code>helper.o</code>, and <code>clean</code>.</li>



<li><strong>Dependencies</strong>: For example, <code>main.o</code> depends on <code>main.c</code>, and <code>helper.o</code> depends on <code>helper.c</code> and <code>helper.h</code>.</li>



<li><strong>Commands</strong>: The commands after each target are executed when the target needs to be rebuilt.</li>
</ul>



<h4 class="wp-block-heading"><strong>Step 4: Run <code>make</code></strong></h4>



<p class="wp-block-paragraph">Open a terminal in the project directory and type the following command to build the <code>program</code> target:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
make program

</pre></div>


<p class="wp-block-paragraph">The <code>make</code> utility will check if any of the dependencies are outdated and execute the appropriate commands to create the <code>program</code>.</p>



<h4 class="wp-block-heading"><strong>Step 5: Clean the Project</strong></h4>



<p class="wp-block-paragraph">To remove the compiled object files and executable, use the <code>clean</code> target:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
make clean

</pre></div>


<h4 class="wp-block-heading"><strong>Step 6: Modify and Test</strong></h4>



<p class="wp-block-paragraph">Modify the source files (e.g., change <code>main.c</code> or <code>helper.c</code>) and re-run <code>make program</code>. Only the necessary files will be recompiled.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/understanding-makefiles-use-cases-architecture-and-getting-started-guide/">Understanding Makefiles: Use Cases, Architecture, and Getting Started Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/understanding-makefiles-use-cases-architecture-and-getting-started-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exploring Ubuntu: Overview, Use Cases, Architecture, and Getting Started</title>
		<link>https://www.scmgalaxy.com/tutorials/exploring-ubuntu-overview-use-cases-architecture-and-getting-started/</link>
					<comments>https://www.scmgalaxy.com/tutorials/exploring-ubuntu-overview-use-cases-architecture-and-getting-started/#respond</comments>
		
		<dc:creator><![CDATA[Vijay K]]></dc:creator>
		<pubDate>Fri, 16 May 2025 08:54:38 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CloudComputing]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[OperatingSystem]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[TechTutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=12342</guid>

					<description><![CDATA[<p>What is Ubuntu? Ubuntu is a popular open-source Linux-based operating system developed and maintained by Canonical Ltd. It is designed [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/exploring-ubuntu-overview-use-cases-architecture-and-getting-started/">Exploring Ubuntu: Overview, Use Cases, Architecture, and Getting Started</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="760" height="428" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/05/image-66.png" alt="" class="wp-image-12351" style="width:840px;height:auto" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/05/image-66.png 760w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/05/image-66-300x169.png 300w" sizes="auto, (max-width: 760px) 100vw, 760px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h3 class="wp-block-heading"><strong>What is Ubuntu?</strong></h3>



<p class="wp-block-paragraph">Ubuntu is a popular open-source Linux-based operating system developed and maintained by Canonical Ltd. It is designed to be user-friendly, secure, and versatile for both desktop and server environments. Ubuntu is based on Debian Linux and follows a regular release cycle, with Long-Term Support (LTS) versions supported for up to 5 years.</p>



<p class="wp-block-paragraph">Ubuntu provides a complete operating system environment, including a graphical user interface (GUI), command-line tools, development libraries, and software repositories. It supports a wide range of hardware platforms and comes preloaded with essential applications and utilities.</p>



<p class="wp-block-paragraph">Known for its stability and ease of use, Ubuntu is widely adopted by individuals, businesses, educational institutions, and cloud providers.</p>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h3 class="wp-block-heading"><strong>What Are the Major Use Cases of Ubuntu?</strong></h3>



<p class="wp-block-paragraph">Ubuntu’s flexibility and robustness make it suitable for a variety of use cases:</p>



<h4 class="wp-block-heading">1. <strong>Desktop Operating System</strong></h4>



<ul class="wp-block-list">
<li>Ideal for everyday users, developers, and professionals.</li>



<li>Supports a wide range of software for office productivity, multimedia, programming, and gaming.</li>
</ul>



<h4 class="wp-block-heading">2. <strong>Server Operating System</strong></h4>



<ul class="wp-block-list">
<li>Powers web servers, database servers, mail servers, and file servers.</li>



<li>Popular in enterprise and cloud environments due to stability and security.</li>
</ul>



<h4 class="wp-block-heading">3. <strong>Cloud and Virtualization</strong></h4>



<ul class="wp-block-list">
<li>Widely used in cloud computing platforms like AWS, Azure, Google Cloud, and OpenStack.</li>



<li>Supports containerization technologies such as Docker and Kubernetes.</li>
</ul>



<h4 class="wp-block-heading">4. <strong>Development Platform</strong></h4>



<ul class="wp-block-list">
<li>Provides rich development tools and supports programming languages including Python, Java, C++, and more.</li>



<li>Preferred for open-source software development and testing.</li>
</ul>



<h4 class="wp-block-heading">5. <strong>Education and Research</strong></h4>



<ul class="wp-block-list">
<li>Used in academic institutions for teaching operating systems, programming, and system administration.</li>
</ul>



<h4 class="wp-block-heading">6. <strong>IoT and Embedded Systems</strong></h4>



<ul class="wp-block-list">
<li>Lightweight Ubuntu Core variant used in Internet of Things devices.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h3 class="wp-block-heading"><strong>How Ubuntu Works Along with Architecture</strong></h3>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1000" height="451" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/05/image-67.png" alt="" class="wp-image-12352" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/05/image-67.png 1000w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/05/image-67-300x135.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/05/image-67-768x346.png 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">Ubuntu inherits its architecture from Linux and Debian, consisting of several layers working together to provide a full operating system:</p>



<h4 class="wp-block-heading"><strong>Key Architectural Components:</strong></h4>



<ol class="wp-block-list">
<li><strong>Linux Kernel</strong>
<ul class="wp-block-list">
<li>The core of Ubuntu, managing hardware, system resources, and providing essential services like process management, memory management, device drivers, and file systems.</li>
</ul>
</li>



<li><strong>System Libraries</strong>
<ul class="wp-block-list">
<li>Libraries such as GNU C Library (glibc) provide APIs for system calls and basic functions.</li>
</ul>
</li>



<li><strong>System Daemons and Services</strong>
<ul class="wp-block-list">
<li>Background processes handling tasks like networking (NetworkManager), printing (CUPS), and logging (rsyslog).</li>
</ul>
</li>



<li><strong>Init System (systemd)</strong>
<ul class="wp-block-list">
<li>Responsible for bootstrapping the system and managing services during runtime.</li>
</ul>
</li>



<li><strong>User Interface</strong>
<ul class="wp-block-list">
<li>Ubuntu Desktop uses graphical environments like GNOME or KDE.</li>



<li>Ubuntu Server primarily uses command-line interfaces but can run GUIs if needed.</li>
</ul>
</li>



<li><strong>Package Management</strong>
<ul class="wp-block-list">
<li>Uses Advanced Packaging Tool (APT) and DEB packages to manage software installation, updates, and dependencies.</li>
</ul>
</li>



<li><strong>User Applications</strong>
<ul class="wp-block-list">
<li>Desktop software, development tools, utilities, and server applications installed as packages.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h3 class="wp-block-heading"><strong>What Are the Basic Workflows of Ubuntu?</strong></h3>



<p class="wp-block-paragraph">The workflow when using Ubuntu typically includes:</p>



<ol class="wp-block-list">
<li><strong>Installation</strong>
<ul class="wp-block-list">
<li>Download Ubuntu ISO and create bootable media.</li>



<li>Install Ubuntu via guided setup.</li>
</ul>
</li>



<li><strong>System Configuration</strong>
<ul class="wp-block-list">
<li>Set up user accounts, network, software sources, and system settings.</li>
</ul>
</li>



<li><strong>Package Management</strong>
<ul class="wp-block-list">
<li>Use APT to install, update, and remove software packages.</li>
</ul>
</li>



<li><strong>System Updates</strong>
<ul class="wp-block-list">
<li>Regularly update the OS and installed packages for security and feature improvements.</li>
</ul>
</li>



<li><strong>User Interaction</strong>
<ul class="wp-block-list">
<li>Use GUI or CLI for daily tasks such as file management, running applications, and system monitoring.</li>
</ul>
</li>



<li><strong>System Administration</strong>
<ul class="wp-block-list">
<li>Manage services, users, permissions, and backups.</li>
</ul>
</li>



<li><strong>Development and Deployment</strong>
<ul class="wp-block-list">
<li>Write and run software, deploy web and application servers.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity">



<h3 class="wp-block-heading"><strong>Step-by-Step Getting Started Guide for Ubuntu</strong></h3>



<h4 class="wp-block-heading"><strong>Step 1: Download Ubuntu</strong></h4>



<ul class="wp-block-list">
<li>Visit the official site: <a href="https://ubuntu.com/download">ubuntu.com/download</a></li>



<li>Choose Desktop or Server version based on your needs.</li>
</ul>



<h4 class="wp-block-heading"><strong>Step 2: Create Bootable Installation Media</strong></h4>



<ul class="wp-block-list">
<li>Use tools like Rufus (Windows) or Etcher (cross-platform) to create a bootable USB drive.</li>
</ul>



<h4 class="wp-block-heading"><strong>Step 3: Install Ubuntu</strong></h4>



<ul class="wp-block-list">
<li>Boot from USB and follow installation prompts:
<ul class="wp-block-list">
<li>Select language, keyboard layout.</li>



<li>Choose installation type (dual boot or clean install).</li>



<li>Partition disk if needed.</li>



<li>Create user account.</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading"><strong>Step 4: Post-Installation Setup</strong></h4>



<ul class="wp-block-list">
<li>Update system packages: <code>sudo apt update &amp;&amp; sudo apt upgrade</code></li>



<li>Install essential software using: <code>sudo apt install &lt;package_name&gt;</code></li>
</ul>



<h4 class="wp-block-heading"><strong>Step 5: Explore the Desktop or Server</strong></h4>



<ul class="wp-block-list">
<li>For Desktop, familiarize yourself with GNOME interface, software center, terminal.</li>



<li>For Server, learn basic CLI commands, SSH setup, and service management.</li>
</ul>



<h4 class="wp-block-heading"><strong>Step 6: Configure Networking and Security</strong></h4>



<ul class="wp-block-list">
<li>Set up firewall using <code>ufw</code> (Uncomplicated Firewall): <code>sudo ufw enable sudo ufw allow ssh</code></li>



<li>Configure network interfaces if required.</li>
</ul>



<h4 class="wp-block-heading"><strong>Step 7: Customize and Extend</strong></h4>



<ul class="wp-block-list">
<li>Install additional drivers, themes, or development tools.</li>



<li>Explore snap packages for easy app installation: <code>sudo snap install &lt;app_name&gt;</code></li>
</ul>



<h4 class="wp-block-heading"><strong>Step 8: Backup and Maintenance</strong></h4>



<ul class="wp-block-list">
<li>Set up automated backups.</li>



<li>Regularly update the system.</li>
</ul>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/exploring-ubuntu-overview-use-cases-architecture-and-getting-started/">Exploring Ubuntu: Overview, Use Cases, Architecture, and Getting Started</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/exploring-ubuntu-overview-use-cases-architecture-and-getting-started/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is Prometheus &#038; grafana and best course and certification in India?</title>
		<link>https://www.scmgalaxy.com/tutorials/what-is-prometheus-grafana-and-best-course-and-certification-in-india/</link>
					<comments>https://www.scmgalaxy.com/tutorials/what-is-prometheus-grafana-and-best-course-and-certification-in-india/#respond</comments>
		
		<dc:creator><![CDATA[narayan k]]></dc:creator>
		<pubDate>Mon, 04 Oct 2021 12:53:23 +0000</pubDate>
				<category><![CDATA[Grafana]]></category>
		<category><![CDATA[Prometheus]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=9392</guid>

					<description><![CDATA[<p>Prometheus is an open-source system monitoring and alerting toolkit originally built at SoundCloud. Many companies and organizations have adopted Prometheus [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-prometheus-grafana-and-best-course-and-certification-in-india/">What is Prometheus &amp; grafana and best course and certification in India?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana-1024x576.jpg" alt="" class="wp-image-9393" width="572" height="321" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana-1024x576.jpg 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana-300x169.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana-768x432.jpg 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana.jpg 1200w" sizes="auto, (max-width: 572px) 100vw, 572px" /></figure></div>



<p class="wp-block-paragraph"><strong>Prometheus </strong>is an open-source system monitoring and alerting toolkit originally built at SoundCloud. Many companies and organizations have adopted Prometheus and have a very active developer and user community in the project. It is now a standalone open-source project and is maintained independently of any company.</p>



<h4 class="wp-block-heading">Features of Prometheus:</h4>



<ul class="wp-block-list"><li>A multi-dimensional data model with time series data identified by metric name and key/value pairs.</li><li>PromQL, a flexible query language to leverage this dimensionality.</li><li>No reliance on distributed storage; single server nodes are autonomous.</li><li>Time series collection happens via a pull model over HTTP.</li></ul>



<h4 class="wp-block-heading">What is Grafana?</h4>



<p class="wp-block-paragraph">Grafana is an open-source solution for running data analytics, understanding large amounts of data and monitoring our apps with the help of cool customizable dashboards.</p>



<h4 class="wp-block-heading">What are the benefits of Grafana?</h4>



<ul class="wp-block-list"><li>Customizable dashboards are feature-rich and can be configured to display data from a wide range of databases using visualization tools such as heatmaps, histograms, and charts.</li><li>The platform is flexible and easy to use.</li><li>Native support of a broad range of databases.</li></ul>



<h4 class="wp-block-heading">Grafana Features:</h4>



<ul class="wp-block-list"><li><strong>Dashboard templating</strong> &#8211; This is a Grafana feature that is really useful. It allows users to create a dashboard setup to suit their every need.</li><li><strong>Provisioning </strong>&#8211; It can be simple enough to set up a single dashboard with a few clicks, dragging and dropping, but some users need even more ingenuity this way.</li><li><strong>Annotations </strong>&#8211; This Grafana feature lets you mark graphs, which is especially helpful when you need to correlate data in case something misbehaves.</li><li><strong>Custom plugins</strong> &#8211; You can extend the functionality of Grafana with plugins that provide additional tools, visualizations, and more.</li><li><strong>Teams and permissions</strong> &#8211; Where an organization has an instance of Grafana and multiple teams, they usually prefer to have the option of implementing some dashboard isolation.</li></ul>



<h4 class="wp-block-heading">Pre-requisites to learn Prometheus and Grafana:</h4>



<ul class="wp-block-list"><li>Basic experience with Linux/Unix system administration.</li><li>Familiarity with common shell commands, such as ls, cd, curl, etc.</li><li>Some knowledge and/or development experience in Go and Python.</li><li>Some experience working with Kubernetes.</li></ul>



<p class="wp-block-paragraph">If you are planning to learn <strong><a href="https://devopsschool.com/certification/prometheus-with-grafana.html" target="_blank" rel="noreferrer noopener">Prometheus and Grafana</a></strong>, go with <strong>DevOpsSchool </strong>institute. Will provide you online and classroom training and certification course Program by an expert. To get in-depth knowledge of Prometheus and Grafana along with its various applications, check out our interactive, live-online training.</p>



<h4 class="wp-block-heading">Here you can see the Agenda of Prometheus and Grafana Course:</h4>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="425" height="556" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana-1.png" alt="" class="wp-image-9394" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana-1.png 425w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/10/prometheus-grafana-1-229x300.png 229w" sizes="auto, (max-width: 425px) 100vw, 425px" /></figure></div>



<p class="wp-block-paragraph">This course covers the basics of Prometheus and Grafana and their main features. You will develop a critical understanding of why Prometheus and Grafana are useful and how they can be combined with other web development frameworks.</p>



<p class="wp-block-paragraph">You will learn about the basics of Prometheus and Grafana and their advantages. Then, you&#8217;ll cover more advanced topics like integrating Prometheus and Grafana with other frameworks.</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Introduction of Prometheus | Session - 1 | SEP - 2021 | by scmgalaxy" width="900" height="506" src="https://www.youtube.com/embed/zOK_1VwAhHo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Hopefully, I think this information is helpful for you.</p>



<p class="wp-block-paragraph">However, if you want to find out more details, be sure to check out our Prometheus and Grafana course to learn more about this technology.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-prometheus-grafana-and-best-course-and-certification-in-india/">What is Prometheus &amp; grafana and best course and certification in India?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/what-is-prometheus-grafana-and-best-course-and-certification-in-india/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Secure Your Apache Server</title>
		<link>https://www.scmgalaxy.com/tutorials/how-to-secure-your-apache-server/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-to-secure-your-apache-server/#respond</comments>
		
		<dc:creator><![CDATA[Amardeep Dubey]]></dc:creator>
		<pubDate>Fri, 10 Sep 2021 06:35:20 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=8917</guid>

					<description><![CDATA[<p>1.Enable automatic updates Given that the LAMP stack is based on Linux and that the entire open-source community is working [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-secure-your-apache-server/">How to Secure Your Apache Server</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">1.Enable automatic updates</h2>



<p class="wp-block-paragraph">Given that the LAMP stack is based on Linux and that the entire open-source community is working to enhance it, it is also deemed secure. All security updates and patches are accessible as an automatic unattended install on an Ubuntu VPS as soon as they are released in the Ubuntu repos, so make sure you configure your system to automatically install them if you are concerned about security.If you don&#8217;t enable this option on your server and don&#8217;t manually install the latest upgrades and patches, you&#8217;re placing your server at risk of being hacked.</p>



<p class="wp-block-paragraph">Install the unattended-upgrades package to enable automatic unattended upgrades.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo apt-get install unattended-upgrades
</pre></div>


<p class="wp-block-paragraph">Edit the <strong>/etc/apt/apt.conf.d/50unattended-upgrades</strong> file to specify which package categories should be upgraded automatically.</p>



<h2 class="wp-block-heading">2. Configure firewall</h2>



<p class="wp-block-paragraph">Another very important aspect of overall security is having a properly set firewall. ufw is Ubuntu&#8217;s default firewall configuration tool, and it&#8217;s turned off by default. You can use the following commands to enable ufw:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo ufw enable
</pre></div>


<p class="wp-block-paragraph">Allow essential services like OpenSSH and Apache to be accessed:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
</pre></div>


<p class="wp-block-paragraph">It&#8217;s simple to grant access to other services. Simply change the port number in the samples above to the port number of the service you wish to enable access to, and you&#8217;re done. Even if the machine is rebooted, the firewall rules will remain active.</p>



<h2 class="wp-block-heading">3. Disable unused services</h2>



<p class="wp-block-paragraph">If you have active services which you are not using, you can simply disable them. For example, if you have service like Dovecot up and running on your server and you are not using it at all, stop and disable the service using the following commands:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo systemctl stop dovecot.service
sudo systemctl disable dovecot.service
</pre></div>


<h2 class="wp-block-heading">4. Install Fail2ban</h2>



<p class="wp-block-paragraph">Fail2ban is a service that scans log files for excessive login failures and blocks the IP address that is displaying malicious behaviour. If you don&#8217;t use two-factor or public/private authentication techniques on services like OpenSSH, this service comes in handy. Run the following command to install Fail2ban:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo apt-get install fail2ban
</pre></div>


<p class="wp-block-paragraph">Make a copy of the default configuration file so you can make modifications without worrying about system updates overwriting them:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

</pre></div>


<p class="wp-block-paragraph">Edit the <strong><em>jail.local</em> </strong>file:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo nano /etc/fail2ban/jail.local
</pre></div>


<p class="wp-block-paragraph">The <strong>[sshd]</strong> block should look something like this:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&#x5B;sshd]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
bantime = 600
</pre></div>


<p class="wp-block-paragraph">To make the modifications take effect, save the file and restart <strong>Fail2ban:</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo systemctl restart fail2ban.service
</pre></div>


<p class="wp-block-paragraph">Enable <strong>Fail2ban</strong> on system boot:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo systemctl enable fail2ban.service
</pre></div>


<h2 class="wp-block-heading">5. Hide Apache sensitive information</h2>



<p class="wp-block-paragraph">The default Apache setup exposes a great deal of sensitive data that can be used against the service. It&#8217;s critical to keep this information secret, therefore make a configuration file for your new settings:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo nano /etc/apache2/conf-available/custom.conf
</pre></div>


<p class="wp-block-paragraph">Copy and paste the following text:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
ServerTokens Prod
ServerSignature Off
TraceEnable Off
Options all -Indexes
Header unset ETag
Header always unset X-Powered-By
FileETag None
</pre></div>


<p class="wp-block-paragraph">If it isn&#8217;t already enabled, enable the Apache headers module:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo a2enmod headers
</pre></div>


<p class="wp-block-paragraph">Enable the following settings:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo a2enconf custom.conf
</pre></div>


<p class="wp-block-paragraph">To make the modifications take effect, restart Apache:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo systemctl restart apache2.service
</pre></div>


<h2 class="wp-block-heading">6. Install and enable mod_security</h2>



<p class="wp-block-paragraph">Mod security is a web application firewall (WAF) that may be added to Apache as a separate module. It can be used to protect a web server from a variety of threats, including SQL injections, session hijacking, cross-site scripting, and malicious user agents. Run the instructions following to install and enable mod security:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo apt-get install libapache2-modsecurity2
sudo a2enmod security2
</pre></div>


<p class="wp-block-paragraph">You should setup the module and enable the OWASP ModSecurity Core Rule Set after it has been installed (CRS).</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
</pre></div>


<p class="wp-block-paragraph">Then, open the <strong>/etc/modsecurity/modsecurity.conf</strong> file and edit/add the following settings:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
SecRuleEngine On
SecResponseBodyAccess Off
SecRequestBodyLimit 8388608
SecRequestBodyNoFilesLimit 131072
SecRequestBodyInMemoryLimit 262144
</pre></div>


<p class="wp-block-paragraph">Save and close the file. Remove the current CRS and download the OWASP CRS by using the following commands:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo rm -rf /usr/share/modsecurity-crs
sudo git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs
cd /usr/share/modsecurity-crs
sudo mv crs-setup.conf.example crs-setup.conf
</pre></div>


<p class="wp-block-paragraph">Edit the<strong> security2.conf</strong> file in <strong>/etc/apache2/mods-enabled/security2.conf.</strong> It should resemble the following:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;IfModule security2_module&gt;
	SecDataDir /var/cache/modsecurity
	IncludeOptional /etc/modsecurity/*.conf
	IncludeOptional &quot;/usr/share/modsecurity-crs/*.conf&quot;
	IncludeOptional &quot;/usr/share/modsecurity-crs/rules/*.conf
&amp;lt;/IfModule&gt;
</pre></div>


<p class="wp-block-paragraph">Finally, to make the modifications take effect, restart Apache:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo systemctl restart apache2.service
</pre></div>


<h2 class="wp-block-heading">7. Install and enable mod_evasive</h2>



<p class="wp-block-paragraph">Mod evasive is an Apache module that can prevent DoS (Denial of Service), DDoS (Distributed Denial of Service), and brute-force assaults on the web server. Run the following command to install mod evasive on your server:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo apt-get install libapache2-mod-evasive
</pre></div>


<p class="wp-block-paragraph">Open the default configuration file <em><strong>/etc/apache2/mods-enabled/evasive.conf</strong></em> and edit the settings to look like those below:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
&amp;lt;IfModule mod_evasive20.c&gt;
	DOSPageCount        5
	DOSSiteCount        50
	DOSPageInterval     1
	DOSSiteInterval     1
	DOSBlockingPeriod   600
	DOSLogDir           &quot;/var/log/mod_evasive&quot;
&amp;lt;/IfModule&gt;
</pre></div>


<p class="wp-block-paragraph">The file should be saved and closed. Make a folder for the log files:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo mkdir /var/log/mod_evasive
sudo chown -R www-data: /var/log/mod_evasive
</pre></div>


<p class="wp-block-paragraph">Restart Apache:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
sudo systemctl restart apache2.service
</pre></div>


<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-secure-your-apache-server/">How to Secure Your Apache Server</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-to-secure-your-apache-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux security</title>
		<link>https://www.scmgalaxy.com/tutorials/linux-security/</link>
					<comments>https://www.scmgalaxy.com/tutorials/linux-security/#respond</comments>
		
		<dc:creator><![CDATA[Amardeep Dubey]]></dc:creator>
		<pubDate>Thu, 09 Sep 2021 11:47:42 +0000</pubDate>
				<category><![CDATA[Hacking & Security]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=8883</guid>

					<description><![CDATA[<p>User accounts Since the beginning of the course, all the examples presented were run using a user account. A user [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/linux-security/">Linux security</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">User accounts</h2>



<ul class="wp-block-list"><li>Since the beginning of the course, all the examples presented were run</li><li>using a user account.</li><li>A user account consists of a username and a password. This identifies the</li><li>user on the system and, hence, maintains security and accountability.</li><li>Linux also creates groupsfor each user account. A group may contain one or</li><li>more users, all of them sharing the same permissions.</li><li>The system administrator account, sometimes called the superuser, is the</li><li>root. This is the most important account on the system. It must be owned by</li><li>as a few users as possible because of the vast powers it provides.</li></ul>



<h2 class="wp-block-heading">The /etc/passwd file</h2>



<ul class="wp-block-list"><li>This is one of the most important and highly protected system file. It contains various information about the user accounts on the system.</li><li>Each user account information is contained on a single line. A colon (:) is used to separate different fields from each other. Let&#8217;s have a quick look at each one in turn:<ul><li>Username: the string that the user uses for identification. It is a friendly name that is chosen by the system administrator (root) to identify the user. By convention, it is all lowercase characters, it may contain numbers (but cannot start with one), special characters dash (-), udnerscore (_), and – in some distros – the dollar sign ($) at the end.</li><li>Password: a secret group of characters that should be known only to it&#8217;s owner. The /etc/passwd file places an x in this field, indicating that the encrypted password is stored in /etc/shadow file (more on that later).</li></ul></li></ul>



<h2 class="wp-block-heading">UID and GID</h2>



<ul class="wp-block-list"><li><strong>UID: </strong>it is short for user id. This is a unique number that identifies the user account on the system. As a matter of fact, Linux security system does not care about the username of the user account; it works by examining the its UID to provide the appropriate permissions and access rights. Since there are user accounts that are reserved for system accounts, those are assigned UID numbers from 0 (which is the root account) up till 500 (they reach 1000 in some systems). The higher numbers are assigned to normal (non-system) user accounts.</li><li><strong>GID: </strong>short for group id, it is the unique number that identifies a group account. A group contain one or more users that share similar access rights. The main purpose of the existence of groups is to provide certain users with access to specific files and directories while preventing others. Think of a directory on which a team of users are working. Putting those users in a group ensures that all of them will have the same permissions.</li></ul>



<h2 class="wp-block-heading">The comment and the home directory</h2>



<ul class="wp-block-list"><li>The comment field normally includes the user&#8217;s real name. For example, when a username is jdoe, the real name in the comment could be John Doe. It may also contain other personal information like the phone number, address and others.</li><li>The home directory field contains the path to the user&#8217;s home directory. Only the user is the owner of his/her home directory. At the command line, a home directory can be referred to as tilde ~. For example, cd ~ will make you navigate to your home directory.</li></ul>



<h2 class="wp-block-heading">The default shell</h2>



<ul class="wp-block-list"><li>We have mentioned before that bash is not the only shell available for Linux. There are other shells that are available for Linux like ksh, zsh, tsh and so on. The shell field contains the path to the binary file of the specific shell. For example, /bin/bash.</li><li>The default shell is a matter of choice. A user can change hi/her default shell.</li><li>Since all users (including system accounts) must have a default shell. But system accounts – by nature – do not (and should not) have login access to the system. Accordingly, the default shell of such accounts is set to /sbin/nologin. Setting the default shell to /bin/nologin prints a friendly message explaining that logins with this account are not available. Setting it to /bin/false denies login without displaying that message.</li></ul>



<h2 class="wp-block-heading">The /etc/shadow file</h2>



<ul class="wp-block-list"><li>You might think that a file named /etc/passwd should be the one containing the hashed passwords of the users on the system.</li><li>Actually this was the case long ago. But for security reasons, and since /etc/passwd file must be readiable by all users on the system to be able to authenticate them, the hashed password was removed from that file and placed in a more secured file: /etc/shadow .This file has higher level of protection and access restrictions.</li><li>It contains the following information:<ul><li><strong>The salt:</strong> this is a random input that helps make the password more protected</li><li><strong>The hash:</strong> the result of an irreversible mathematical operation. It is performed on the password and the salt combined. To authenticate a user, a hash is computed for the entered password, with the salt input added to it. If both hashes are identical the user is authenticated.</li><li><strong>Password history:</strong> these are some variables that help increase user security. For example, the password must be changed after a specific number of days (configured by the system administrator).</li></ul></li></ul>



<h2 class="wp-block-heading">/etc/shadow fields</h2>



<ul class="wp-block-list"><li><strong>The username: </strong>this is the username of the user and not the UID. It is what links /etc/passwd with /etc/shadow</li><li><strong>The password:</strong> the salted hash of the user password. If this field contains as asterisk or an exclamation mark, this means that the account is locked.</li><li><strong>Last password change:</strong> this is the date of the last password change. The UNIX timestamp is used here. UNIX timestamp is a date/time measurement method. It is the amount of time that passed since POSIX time (1/1/1970 at midnight). This field contains the number of days that passed since POSIX time.</li><li>The number of days till a password can be changed. This is another security measure that prevents users from changing their passwords (as per policy) and then quickly setting it back to the original one.</li><li>The number of days before a user must change the current password. This is sometimes referred to as password age.</li><li>The number of warning days before a password expires. During those days, a warning message will be displayed to the users whose account will expire soon.</li><li><strong>Days between expiration and deactivation:</strong> if configured, the account can be deactivated after it’s expired. The difference is that when the account expires, the password is not erased and the account can be activated again by the system administrator or by the user logging in and changing the password. But if the account is deactivated, the password is deleted and only the system administrator can reactivate the account.</li><li><strong>Expiration date:</strong> the date when the account expires, expressed as the number of days since POSIX time.</li><li><strong>Special flag:</strong> this field is currently not used. It is reserved for future use.</li><li>Notice that some day fields may contain either -1 or 9999, which effectively means that the relevant feature is disabled</li></ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/linux-security/">Linux security</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/linux-security/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Top 51 Linux commands for daily use</title>
		<link>https://www.scmgalaxy.com/tutorials/top-51-linux-commands-for-daily-use/</link>
					<comments>https://www.scmgalaxy.com/tutorials/top-51-linux-commands-for-daily-use/#respond</comments>
		
		<dc:creator><![CDATA[vikashdev k]]></dc:creator>
		<pubDate>Wed, 11 Aug 2021 09:56:12 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux commands for daily use]]></category>
		<category><![CDATA[top 50 linux commands for daily use]]></category>
		<category><![CDATA[top51 linux commands for daily use]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=7766</guid>

					<description><![CDATA[<p>These are the top 51 Linux commands for daily use 1. ip – from Iproute2, a collection of utilities for controlling TCP/IP [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/top-51-linux-commands-for-daily-use/">Top 51 Linux commands for daily use</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">These are the top 51 Linux commands for daily use </p>



<p class="wp-block-paragraph"><strong>1. <code>ip</code> – </strong>from Iproute2, a collection of utilities for controlling TCP/IP networking and traffic control in Linux.<br><strong>2. <code>ls</code> – </strong>list directory contents.<br><strong>3. <code>df</code> –</strong> display disk space usage.<br><strong>4. <code>du</code> – </strong>estimate file space usage.<br><strong>5. <code>free</code> –</strong> display memory usage.<br><strong>6. <code>scp</code> – </strong>securely Copy Files Using SCP, with examples.<br><strong>7. <code>find</code> –</strong> locates files based on some user-specified criteria.<br><strong>8. <code>ncdu</code> – </strong>a disk utility for Unix systems.<br><strong>9. <code>pstree</code> –</strong> display a tree of processes.<br><strong>10. <code>last</code> –</strong> show a listing of last logged-in users.<br><strong>11. <code>w</code> –</strong> show a list of currently logged-in user sessions.<br><strong>12. <code>grep</code> –</strong> Search a file for a pattern of characters, then display all matching lines.                                                  <strong>13. <code>uptime</code> –</strong> shows system uptime and load average.<br><strong>14. <code>top</code> – </strong>shows an overall system view.<br><strong>15. <code>vmstat</code> – </strong>shows system memory, processes, interrupts, paging, block I/O, and CPU info.<br><strong>16. <code>htop</code> –</strong> interactive process viewer and manager.<br><strong>17. <code>dstat</code> –</strong> view processes, memory, paging, I/O, CPU, etc., in real-time. All-in-one for vmstat, iostat, netstat, and ifstat.<br><strong>18. <code>iftop</code> –</strong> network traffic viewer.<code><br></code><strong>19. <code>nethogs</code> –</strong> network traffic analyzer.<br><strong>20. <code>iotop</code> – </strong>interactive I/O viewer. Get an overview of storage r/w activity.<br><strong>21. <code>iostat</code> – </strong>for storage I/O statistics.<br><strong>22. <code>netstat</code> –</strong> for network statistics.<br><strong>23. <code>ss</code> –</strong> utility to investigate sockets.<br><strong>24. <code>atop</code> – </strong>For Linux server performance analysis.<br><strong>25. Glances and nmon – </strong>htop and top Alternatives:<br><strong>26. <code>ssh</code> –</strong> secure command-line access to remote Linux systems.<br><strong>27. <code>sudo</code> –</strong> execute commands with administrative privilege.<br><strong>28. <code>cd</code> –</strong> directory navigation.<br><strong>29. <code>pwd</code> –</strong> shows your current directory location.<br><strong>30. <code>cp</code> –</strong> copying files and folders.<br><strong>31. <code>mv</code> –</strong> moving files and folders.<br><strong>32. <code>rm</code> – </strong>removing files and folders.<br><strong>33. <code>mkdir</code> –</strong> create or make new directories.<br><strong>34. <code>touch</code> –</strong> used to update the access date and/or modification date of a computer file or directory.<br><strong>35. <code>man</code> –</strong> for reading system reference manuals.<br><strong>36. <code>apropos</code> –</strong> Search man page names and descriptions.                                                                                      <strong>37. <code>rsync</code> – </strong>remote file transfers and syncing.<br><strong>38. <code>tar</code> – </strong>an archiving utility.<br><strong>39. <code>gzip</code> –</strong> file compression and decompression.<br><strong>40. <code>b2zip</code> –</strong> similar to gzip. It uses a different compression algorithm.<br><strong>41. <code>zip</code> –</strong> for packaging and compressing (to archive) files.<br><strong>42. <code>locate</code> – </strong>search files in Linux.<br><strong>43. <code>ps</code> –</strong> information about the currently running processes.<br><strong>44.</strong> Making use of Bash scripts. Example: <code>./bashscript.sh</code><br><strong>45. <code>cron</code> –</strong> set up scheduled tasks to run.<br><strong>46. <code>nmcli</code> – </strong>network management.<br><strong>47. <code>ping</code> –</strong> send ICMP ECHO_REQUEST to network hosts.<br><strong>48. <code>traceroute</code> – </strong>check the route packets take to a specified host.<br><strong>49. <code>mtr</code> –</strong> network diagnostic tool.<br><strong>50. <code>nslookup</code> –</strong> query Internet name servers (NS) interactively.<br><strong>51. <code>host</code> – </strong>perform DNS lookups in Linux.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/top-51-linux-commands-for-daily-use/">Top 51 Linux commands for daily use</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/top-51-linux-commands-for-daily-use/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Install and Configure Grafana in RHEL 7</title>
		<link>https://www.scmgalaxy.com/tutorials/install-and-configure-grafana-in-rhel-7/</link>
					<comments>https://www.scmgalaxy.com/tutorials/install-and-configure-grafana-in-rhel-7/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 22 Aug 2018 09:07:44 +0000</pubDate>
				<category><![CDATA[Grafana]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RHEL]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=5204</guid>

					<description><![CDATA[<p>Install and Configure Grafana in RHEL 7 Step 1 &#8211; Download &#38; Install Grafana Download Grafana RPM file RPM for [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/install-and-configure-grafana-in-rhel-7/">Install and Configure Grafana in RHEL 7</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Install and Configure Grafana in RHEL 7</p>
<p><strong>Step 1 &#8211; Download &amp; Install Grafana</strong><br />
Download Grafana RPM file RPM for Linux from https://grafana.com/grafana/download?platform=linux</p>
<p># RHEL 7</p>
<pre>$ sudo yum install initscripts fontconfig -y
$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.2-1.x86_64.rpm
$ sudo yum localinstall grafana-5.2.2-1.x86_64.rpm</pre>
<p><strong>Step 2 &#8211; Understand Grafana Installation details in RHEL/CENTOS</strong></p>
<ol>
<li>Installs binary to /usr/sbin/grafana-server</li>
<li>Copies init.d script to /etc/init.d/grafana-server</li>
<li>Installs default file (environment vars) to /etc/sysconfig/grafana-server</li>
<li>Copies configuration file to /etc/grafana/grafana.ini</li>
<li>Installs systemd service (if systemd is available) name grafana-server.service</li>
<li>The default configuration uses a log file at /var/log/grafana/grafana.log</li>
<li>The default configuration specifies an sqlite3 database at /var/lib/grafana/grafana.db</li>
</ol>
<p><strong>Step 3 &#8211; Start the server (init.d service)</strong></p>
<pre class="brush: plain; title: ; notranslate">$ sudo service grafana-server start</pre>
<p>This will start the grafana-server process as the grafana user, which is created during package installation. The default HTTP port is 3000, and default user and group is admin.</p>
<p><strong>Step 4 &#8211; Configure the Grafana server to start at boot time</strong></p>
<pre class="brush: plain; title: ; notranslate">$ sudo /sbin/chkconfig --add grafana-server
$ sudo systemctl enable grafana-server.service
$ systemctl daemon-reload
$ systemctl start grafana-server
$ systemctl status grafana-server</pre>
<p><strong>Step 5 &#8211; Grafana server Environment file</strong><br />
The systemd service file and init.d script both use the file located at /etc/sysconfig/grafana-server for environment variables used when starting the back-end. Here you can override log directory, data directory and other variables.</p>
<p><strong>Step 6 &#8211; Grafana server Log</strong><br />
By default Grafana will log to <em>/var/log/grafana</em></p>
<p><strong>Step 7 &#8211; Grafana Database</strong><br />
The default configuration specifies a sqlite3 database located at /var/lib/grafana/grafana.db. Please backup this database before upgrades.</p>
<p>You can also use MySQL or Postgres as the Grafana database, as detailed on<br />
http://docs.grafana.org/installation/configuration/#database</p>
<p><strong>Step 8 &#8211; Grafana configuration</strong><br />
The configuration file is located at /etc/grafana/grafana.ini. Go the Configuration page for details on all those options. You can add following data sources</p>
<ol>
<li>Graphite</li>
<li>InfluxDB</li>
<li>OpenTSDB</li>
<li>Prometheus</li>
</ol>
<p><strong>Step 9 &#8211; Server side image rendering</strong><br />
Server side image (png) rendering is a feature that is optional but very useful when sharing visualizations, for example in alert notifications.</p>
<pre class="brush: plain; title: ; notranslate">$ sudo yum install fontconfig -y
$ sudo yum install freetype* -y
$ sudo yum install urw-fonts -y</pre>
<p><strong><br />
Step 10 &#8211; Browse the dashboard<br />
</strong>http://X.X.X.X.:3000/<br />
Username &#8211; admin<br />
Password &#8211; admin</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/install-and-configure-grafana-in-rhel-7/">Install and Configure Grafana in RHEL 7</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/install-and-configure-grafana-in-rhel-7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is SELinux and how its SELinux used in Docker?</title>
		<link>https://www.scmgalaxy.com/tutorials/what-is-selinux-and-how-its-selinux-used-in-docker/</link>
					<comments>https://www.scmgalaxy.com/tutorials/what-is-selinux-and-how-its-selinux-used-in-docker/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 10 Jul 2018 10:06:32 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SELinux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=5070</guid>

					<description><![CDATA[<p>What is SELinux and how its SELinux used in Docker? There are three popular solutions for implementing access control in [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-selinux-and-how-its-selinux-used-in-docker/">What is SELinux and how its SELinux used in Docker?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5109" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2018/07/selinux.jpg" alt="" width="600" height="315" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2018/07/selinux.jpg 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2018/07/selinux-300x158.jpg 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></strong></p>
<p><strong>What is SELinux and how its SELinux used in Docker?</strong></p>
<p>There are three popular solutions for implementing access control in Linux:</p>
<ol>
<li>SELinux</li>
<li>AppArmor</li>
<li>GrSecurity</li>
</ol>
<p>Security-Enhanced Linux (SELinux) is a Linux kernel security module that provides a mechanism for supporting access control security policies. It is a security feature of the Linux kernel. It is designed to protect the server against misconfigurations and/or compromised daemons. It put limits and instructs server daemons or programs what files they can access and what actions they can take by defining a security policy.</p>
<p>SELinux is an implementation of a MAC security mechanism. MAC is an acronym for Mandatory Access Control (MAC). It is built into the Linux kernel and enabled by default on Fedora, CentOS, RHEL and a few other Linux distributions. SELinux allows server admin to define various permissions for all process. It defines how all processes can interact with other parts of the server such as:</p>
<ul>
<li>Pipes</li>
<li>Files</li>
<li>Network ports</li>
<li>Sockets</li>
<li>Directories</li>
<li>Other process</li>
</ul>
<p>SELinux puts restrictions on each of the above object according to a policy. For example, an apache user with full permission can only access /var/www/html directory, but can not touch other parts of the system such as /etc directory without policy modification. If an attacker managed to gain access to sendmail mail or bind dns or apache web server, would only have access to exploited server and the files normally has access as defined in the policy for the server. An attacker can not access the other parts of the system or internal LAN. In other words, damage can be now restricted to the particular server and files. The cracker will not able to get a shell on your server via common daemons such as Apache / BIND / Sendmail as SELinux offers the following security features:</p>
<ul>
<li>Protect users’ data from unauthorized access.</li>
<li>Protect other daemons or programs from unauthorized access.</li>
<li>Protect network ports / sockets / files from unauthorized access.</li>
<li>Protect server against exploits.</li>
<li>Avoid privilege escalation and much more.</li>
</ul>
<p>Please note that SELinux is not a silver bullet for protecting the server. You must follow other security practices such as</p>
<ul>
<li>Implementing firewalls policy.</li>
<li>Server monitoring.</li>
<li>Patching the system on time.</li>
<li>Writing and securing cgi/php/python/perl scripts.</li>
</ul>
<p>The /etc/selinux/config configuration file controls whether SELinux is enabled or disabled, and if enabled, whether SELinux operates in permissive mode or enforc-ing mode.</p>
<p><strong>SETTING OF SELINUX</strong><br />
SELinux is set in three modes.</p>
<p><strong>Enforcing</strong> – SELinux security policy is enforced. IF this is set SELinux is enabled and will try to enforce the SELinux policies strictly</p>
<p><strong>Permissive</strong> – SELinux prints warnings instead of enforcing. This setting will just give warning when any SELinux policy setting is breached</p>
<p><strong>Disabled</strong> – No SELinux policy is loaded. This will totally disable SELinux policies.</p>
<p><strong>SELinux policies</strong><br />
SELinux allows for multiple policies to be installed on the system, but only one policy may be active at any given time. At present, two kinds of SELinux policy exist:</p>
<p><strong>Targeted</strong> &#8211; The targeted policy is designed as a policy where most processes operate without restrictions, and only specific ser-vices are placed into distinct security domains that are confined by the policy.</p>
<p><strong>Strict</strong> &#8211; The strict policy is designed as a policy where all processes are partitioned<br />
into fine-grained security domains and confined by policy.</p>
<p><strong>To put SELinux into enforcing mode:</strong></p>
<pre class="brush: plain; title: ; notranslate">$ sudo setenforce 1</pre>
<p><strong>To query the SELinux status:</strong></p>
<pre class="brush: plain; title: ; notranslate">$ getenforce</pre>
<p><strong>To see SELinux status in simplified way you can use sestatus</strong></p>
<pre class="brush: plain; title: ; notranslate">$ sestatus</pre>
<p><strong>To get elobrated info on difference status of SELinux on different services use -b option along sestatus</strong></p>
<pre class="brush: plain; title: ; notranslate">$ sestatus -b</pre>
<p><strong>How to disable SElinux?</strong></p>
<pre class="brush: plain; title: ; notranslate">We can do it in two ways
1)Permanent way : edit /etc/selinux/config
change the status of SELINUX from enforcing to disabled
SELINUX=enforcing
to
SELINUX=disabled
Save the file and exit.

2)Temporary way : Execute below command
echo 0 &gt; /selinux/enforce
or
setenforce 0

</pre>
<p><strong>How about enabling SELinux?</strong></p>
<pre class="brush: plain; title: ; notranslate">1)Permanent way : edit /etc/selinux/config
change the status of SELINUX from disabled to enforcing
SELINUX=disabled
to
SELINUX=enforcing
Save the file and exit.

2)Temporary way : Execute below command
echo 1 &gt; /selinux/enforce
or
setenforce 1

</pre>
<p><strong>Now lets understand Docker with SELinux?</strong><br />
The interaction between SELinux policy and Docker is focused on two concerns: protection of the host, and protection of containers from one another.</p>
<p>SELinux labels consist of 4 parts:</p>
<p>User:Role:Type:level.</p>
<p>SELinux controls access to processes by Type and Level. Docker offers two forms of SELinux protection: type enforcement and multi-category security (MCS) separation.</p>
<p>Docker has the &#8211;selinux-enabled flag by default in CentOS 7.4.1708. However, in case your image or your configuration management tool is disabling it, as was the case for our puppet module verify this, you verify by running the following comman</p>
<pre class="brush: plain; title: ; notranslate">$ docker info | grep 'Security Options'</pre>
<p><strong>[root@ip-172-31-80-30 ec2-user]# more /etc/selinux/config</strong></p>
<pre class="brush: plain; title: ; notranslate"># This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are pro
tected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

</pre>
<p><strong>Refernece</strong><br />
https://www.cyberciti.biz/faq/what-is-selinux/<br />
https://en.wikipedia.org/wiki/Security-Enhanced_Linux<br />
http://jaormx.github.io/2018/selinux-and-docker-notes/</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-selinux-and-how-its-selinux-used-in-docker/">What is SELinux and how its SELinux used in Docker?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/what-is-selinux-and-how-its-selinux-used-in-docker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Configuring NFS to access the files from remote Linux machine as a mount point</title>
		<link>https://www.scmgalaxy.com/tutorials/configuring-nfs-to-access-the-files-from-remote-linux-machine-as-a-mount-point/</link>
					<comments>https://www.scmgalaxy.com/tutorials/configuring-nfs-to-access-the-files-from-remote-linux-machine-as-a-mount-point/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Jan 2018 09:16:26 +0000</pubDate>
				<category><![CDATA[Unix - Linux]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mount point]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[Remotely]]></category>
		<category><![CDATA[Setup]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=4636</guid>

					<description><![CDATA[<p>I have a 2Tb of storage on a linux box, and i want to use that storage as a mount [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/configuring-nfs-to-access-the-files-from-remote-linux-machine-as-a-mount-point/">Configuring NFS to access the files from remote Linux machine as a mount point</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div>I have a 2Tb of storage on a linux box, and i want to use that storage as a mount point from another machine.</div>
<div>As a root user on the remote machine, specify the mount point details</div>
<div>
<div><strong>$cat /etc/exports</strong></div>
<div>/scratch *(rw)</div>
<div>/fusionapps *(rw,no_root_squash)</div>
</div>
<div>And restart the NFS</div>
<div><strong>sudo /etc/rc.d/init.d/nfs restart</strong> (All services should be in  running condition)</div>
<div><strong>sudo /etc/rc.d/init.d/nfs status</strong> (All services should be  in running condition)</div>
<div>And on the local machine, perfrom the following steps</div>
<div>1. Create the stage dir under / as a root user and assign 777 permissions</div>
<div>2. Ad the entry to /etc/fstab file</div>
<div>slcai664.us.oracle.com:/fusionapps /stage nfs rw,hard,nointr,rsize=131072,wsize=131072,timeo=600,noacl,noatime,nodiratime,lock 0 0</div>
<div>3. Then try &#8220;mount -a&#8221;</div>
<div>If there are any mount point issues, say even as root user, you are not able to modify the files</div>
<div>
<h1><strong>Unable to mount Read-Only file System</strong></h1>
<p>then use</p>
<pre><code>sudo mount -n -o remount,rw /</code></pre>
</div>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/configuring-nfs-to-access-the-files-from-remote-linux-machine-as-a-mount-point/">Configuring NFS to access the files from remote Linux machine as a mount point</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/configuring-nfs-to-access-the-files-from-remote-linux-machine-as-a-mount-point/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linux User Management</title>
		<link>https://www.scmgalaxy.com/tutorials/linux-user-management/</link>
					<comments>https://www.scmgalaxy.com/tutorials/linux-user-management/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 08 Jan 2018 12:30:51 +0000</pubDate>
				<category><![CDATA[Unix - Linux]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux User Management]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=4556</guid>

					<description><![CDATA[<p>ac Print statistics about users&#8217; connect time. accton Turn on accounting of processes. To turn it on type &#8220;accton /var/log/pacct&#8221;. [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/linux-user-management/">Linux User Management</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<table border="0" rules="rows">
<tbody>
<tr>
<td>ac</td>
<td></td>
<td>Print statistics about users&#8217; connect time.</td>
</tr>
<tr>
<td>accton</td>
<td></td>
<td>Turn on accounting of processes. To turn it on type &#8220;accton /var/log/pacct&#8221;.</td>
</tr>
<tr>
<td>adduser</td>
<td></td>
<td>Ex: adduser mark &#8211; Effect: Adds a user to the system named mark</td>
</tr>
<tr>
<td>chage</td>
<td></td>
<td>Used to change the time the user&#8217;s password will expire.</td>
</tr>
<tr>
<td>chfn</td>
<td></td>
<td>Change the user full name field finger information</td>
</tr>
<tr>
<td>chgrp</td>
<td></td>
<td>Changes the group ownership of files.</td>
</tr>
<tr>
<td>chown</td>
<td></td>
<td>Change the owner of file(s ) to another user.</td>
</tr>
<tr>
<td>chpasswd</td>
<td></td>
<td>Update password file in batch.</td>
</tr>
<tr>
<td>chroot</td>
<td></td>
<td>Run command or interactive shell with special root directory.</td>
</tr>
<tr>
<td>chsh</td>
<td></td>
<td>Change the login shell.</td>
</tr>
<tr>
<td>edquota</td>
<td></td>
<td>Used to edit user or group quotas. This program uses the vi editor to edit the quota.user and quota.group files. If the environment variable EDITOR is set to emacs, the emacs editor will be used. Type &#8220;export EDITOR=emacs&#8221; to set that variable.</td>
</tr>
<tr>
<td>faillog</td>
<td></td>
<td>Examine faillog and set login failure limits.</td>
</tr>
<tr>
<td>finger</td>
<td></td>
<td>See what users are running on a system.</td>
</tr>
<tr>
<td>gpasswd</td>
<td></td>
<td>Administer the /etc/group file.</td>
</tr>
<tr>
<td>groupadd</td>
<td></td>
<td>Create a new group.</td>
</tr>
<tr>
<td>grpck</td>
<td></td>
<td>Verify the integrity of group files.</td>
</tr>
<tr>
<td>grpconv</td>
<td></td>
<td>Creates /etc/gshadow from the file /etc/group which converts to shadow passwords.</td>
</tr>
<tr>
<td>grpunconv</td>
<td></td>
<td>Uses the files /etc/passwd and /etc/shadow to create /etc/passwd, then deletes /etc/shadow which converts from shadow passwords.</td>
</tr>
<tr>
<td>groupdel</td>
<td></td>
<td>Delete a group.</td>
</tr>
<tr>
<td>groupmod</td>
<td></td>
<td>Modify a group.</td>
</tr>
<tr>
<td>groups</td>
<td></td>
<td>Print the groups a user is in</td>
</tr>
<tr>
<td>id</td>
<td></td>
<td>Print real and effective user id and group ids.</td>
</tr>
<tr>
<td>last</td>
<td></td>
<td>Display the last users logged on and how long.</td>
</tr>
<tr>
<td>lastb</td>
<td></td>
<td>Shows failed login attempts. This command requires the file /var/log/btmp to exist in order to work. Type &#8220;touch /var/log/btmp&#8221; to begin logging to this file.</td>
</tr>
<tr>
<td>lastcomm</td>
<td></td>
<td>Display information about previous commands in reverse order. Works only if process accounting is on.</td>
</tr>
<tr>
<td>lastlog</td>
<td></td>
<td>Formats and prints the contents of the last login.</td>
</tr>
<tr>
<td>logname</td>
<td></td>
<td>Print user&#8217;s login name.</td>
</tr>
<tr>
<td>newgrp</td>
<td></td>
<td>Lets a suer log in to a new group.</td>
</tr>
<tr>
<td>newusers</td>
<td></td>
<td>Update and create newusers in batch.</td>
</tr>
<tr>
<td>passwd</td>
<td></td>
<td>Set a user&#8217;s pass word.</td>
</tr>
<tr>
<td>pwck</td>
<td></td>
<td>Verify integrity of password files.</td>
</tr>
<tr>
<td>pwconv</td>
<td></td>
<td>Convert to and from shadow passwords and groups.</td>
</tr>
<tr>
<td>quota</td>
<td></td>
<td>Display users&#8217; limits and current disk usage.</td>
</tr>
<tr>
<td>quotaoff</td>
<td></td>
<td>Turns system quotas off.</td>
</tr>
<tr>
<td>quotaon</td>
<td></td>
<td>Turns system quotas on.</td>
</tr>
<tr>
<td>quotacheck</td>
<td></td>
<td>Used to check a filesystem for usage, and update the quota.user file.</td>
</tr>
<tr>
<td>repquota</td>
<td></td>
<td>Lists a summary of quota information on filesystems.</td>
</tr>
<tr>
<td>sa</td>
<td></td>
<td>Generates a summary of information about users&#8217; processes that are stored in the /var/log/pacct file.</td>
</tr>
<tr>
<td>smbclient</td>
<td></td>
<td>Works similar to an ftp client enabling the user to transfer files to and from a windows based computer.</td>
</tr>
<tr>
<td>smbmount</td>
<td></td>
<td>Allows a shared directory on a windows machine to be mounted on the Linux machine.</td>
</tr>
<tr>
<td>smbpasswd</td>
<td></td>
<td>Program to change users passwords for samba.</td>
</tr>
<tr>
<td>su</td>
<td></td>
<td>Ex: su mark &#8211; Effect: changes the user to mark, If not root will need marks password.</td>
</tr>
<tr>
<td>sulogin</td>
<td></td>
<td>Single user login.</td>
</tr>
<tr>
<td>ulimit</td>
<td></td>
<td>A bash builtin command for setting the processes a user can run.</td>
</tr>
<tr>
<td>useradd</td>
<td></td>
<td>Create a new user or update default new user information.</td>
</tr>
<tr>
<td>userdel</td>
<td></td>
<td>Delete a user account and related files.</td>
</tr>
<tr>
<td>usermod</td>
<td></td>
<td>Modify a user account.</td>
</tr>
<tr>
<td>users</td>
<td></td>
<td>Print the user names of users currently logged in.</td>
</tr>
<tr>
<td>utmpdump</td>
<td></td>
<td>Used for debugging.</td>
</tr>
<tr>
<td>vigr</td>
<td></td>
<td>Edit the password or group files.</td>
</tr>
<tr>
<td>vipw</td>
<td></td>
<td>Edit the password or group files.</td>
</tr>
<tr>
<td>w</td>
<td></td>
<td>Display users logged in and what they are doing.</td>
</tr>
<tr>
<td>wall</td>
<td></td>
<td>Send a message to everybody&#8217;s terminal.</td>
</tr>
<tr>
<td>who</td>
<td></td>
<td>Display the users logged in.</td>
</tr>
<tr>
<td>whoami</td>
<td></td>
<td>Print effective user id.</td>
</tr>
</tbody>
</table>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/linux-user-management/">Linux User Management</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/linux-user-management/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Disable IPv6 and Enable IPv4 in Red Hat Linux</title>
		<link>https://www.scmgalaxy.com/tutorials/disable-ipv6-and-enable-ipv4-in-red-hat-linux/</link>
					<comments>https://www.scmgalaxy.com/tutorials/disable-ipv6-and-enable-ipv4-in-red-hat-linux/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Sat, 09 Dec 2017 10:14:45 +0000</pubDate>
				<category><![CDATA[Unix / Linux]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2674</guid>

					<description><![CDATA[<p>rajeshkumar created the topic: Disable IPv6 and Enable IPv4 in Red Hat Linux Disable IPv6 and Enable IPv4 in Red [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/disable-ipv6-and-enable-ipv4-in-red-hat-linux/">Disable IPv6 and Enable IPv4 in Red Hat Linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>rajeshkumar created the topic: Disable IPv6 and Enable IPv4 in Red Hat Linux</strong><br />
Disable IPv6 and Enable IPv4 in Red Hat Linux</p>
<p>check “disable_ipv6″ file to check if IPv6 is disabled,enter:<br />
[root@devops ~]# cat /proc/sys/net/ipv6/conf/all/disable_ipv6<br />
0<br />
if you get “0” value, it means that IPv6 is enabled and “1” means it is disabled.</p>
<p>How to Disable IPv6 in linux system?<br />
vim /etc/sysctl.conf</p>
<p>Adding the below lines into that file:</p>
<p>net.ipv6.conf.all.disable_ipv6 = 1<br />
net.ipv6.conf.default.disable_ipv6 = 1<br />
net.ipv6.conf.lo.disable_ipv6 = 1</p>
<p>Save and close that file, then restart sysctl with the following command:</p>
<p>[root@devops ~]# sysctl -p</p>
<p>Now you can rerun the “ifconfig” command to check if IPv6 lines have been removed.</p>
<p>To Enabled IPv4 </p>
<p>Edit &#8220;/etc/sysconfig/network-scripts/ifcfg-eth0&#8243; file, which is your defualt first NIC configuration file.</p>
<p>If you are using DHCP server to take IP then, edit it like this;</p>
<p>#vi /etc/sysconfig/network-scripts/ifcfg-eth0</p>
<p>ONBOOT=&#8221;yes&#8221;<br />
BOOTPROTO=&#8221;dhcp&#8221;</p>
<p>Save &#038; restart networking service,</p>
<p>#service network restart OR<br />
#/etc/init.d/network restart<br />
Regards,<br />
Rajesh Kumar<br />
Twitt me @ <a href="http://twitter.com/RajeshKumarIn">twitter.com/RajeshKumarIn</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/disable-ipv6-and-enable-ipv4-in-red-hat-linux/">Disable IPv6 and Enable IPv4 in Red Hat Linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/disable-ipv6-and-enable-ipv4-in-red-hat-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Answer some of Linux admin questions&#8230;</title>
		<link>https://www.scmgalaxy.com/tutorials/answer-some-of-linux-admin-questions/</link>
					<comments>https://www.scmgalaxy.com/tutorials/answer-some-of-linux-admin-questions/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Sat, 09 Dec 2017 10:12:46 +0000</pubDate>
				<category><![CDATA[Unix / Linux]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2672</guid>

					<description><![CDATA[<p>scmuser created the topic: Answer some of Linux admin questions&#8230; 1. How to send an email &#124; check email &#124; [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/answer-some-of-linux-admin-questions/">Answer some of Linux admin questions&#8230;</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>scmuser created the topic: Answer some of Linux admin questions&#8230;</strong></p>
<p>1. How to send an email | check email | reply email attachment using command line??<br />
2. How do you connect to the internet in linux?<br />
4. How can i restrict a aceess of the file? (Add user, add group)</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/answer-some-of-linux-admin-questions/">Answer some of Linux admin questions&#8230;</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/answer-some-of-linux-admin-questions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Starting sonar issues in linux</title>
		<link>https://www.scmgalaxy.com/tutorials/starting-sonar-issues-in-linux/</link>
					<comments>https://www.scmgalaxy.com/tutorials/starting-sonar-issues-in-linux/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 08 Dec 2017 08:28:22 +0000</pubDate>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2377</guid>

					<description><![CDATA[<p>scmuser created the topic: Starting sonar issues in linux Hi, when I am starttign a sonar, I am getting following [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/starting-sonar-issues-in-linux/">Starting sonar issues in linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>scmuser created the topic: Starting sonar issues in linux</strong><br />
Hi, when I am starttign a sonar, I am getting following error&#8230;<br />
Any help?</p>
<p><code>Starting sonar..../sonar.sh: line 490: /usr/local/sonar-2.2/bin/linux-x86-64/./wrapper: cannot execute binary file</code></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/starting-sonar-issues-in-linux/">Starting sonar issues in linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/starting-sonar-issues-in-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to access windows share folder from linux</title>
		<link>https://www.scmgalaxy.com/tutorials/how-to-access-windows-share-folder-from-linux/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-to-access-windows-share-folder-from-linux/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 08 Dec 2017 08:26:13 +0000</pubDate>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2375</guid>

					<description><![CDATA[<p>scmuser created the topic: How to access windows share folder from linux Hi, Can you tell me How to access [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-access-windows-share-folder-from-linux/">How to access windows share folder from linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>scmuser created the topic: How to access windows share folder from linux</strong></p>
<p>Hi,</p>
<p>Can you tell me How to access windows share folder from linux?</p>
<p>Reagrs,<br />
scm</p>
<p><strong>scmuser replied the topic: Re:How to access windows share folder from linux</strong></p>
<p>I found solution 1:</p>
<p>Press Alt+f2 and put following shared link such as smb://10.4.40.88/Share in the text box and Run&#8230;</p>
<p><strong>scmuser replied the topic: Re:How to access windows share folder from linux</strong></p>
<p>To test whether Samba is installed or not&#8230;</p>
<p>type following command&#8230;<br />
testparm /etc/samba/smb.conf</p>
<p>Testparm will parse your configuration file and report any unknown parameters or incorrect syntax. It also performs a check for common misconfigurations and will issue a warning if one is found.</p>
<p><strong>chidamla replied the topic: Re:How to access windows share folder from linux</strong><br />
Samba is one method.</p>
<p>Another method is to execute an ftp service in any Windows server and configure the Windows share drive as the home folder in the ftp service. Connect Linux server to the ftp service to transfer files. This set-up is worth it when there needs to be frequent transfer of files.</p>
<p>For one time transfers use, winscp tools.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-access-windows-share-folder-from-linux/">How to access windows share folder from linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-to-access-windows-share-folder-from-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>List all the Grups and users in linux</title>
		<link>https://www.scmgalaxy.com/tutorials/list-all-the-grups-and-users-in-linux/</link>
					<comments>https://www.scmgalaxy.com/tutorials/list-all-the-grups-and-users-in-linux/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 08 Dec 2017 06:52:34 +0000</pubDate>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2299</guid>

					<description><![CDATA[<p>scmuser created the topic: List all the Grups and users in linux Hi, How can we list our all the [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/list-all-the-grups-and-users-in-linux/">List all the Grups and users in linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>scmuser created the topic: List all the Grups and users in linux</strong><br />
Hi,</p>
<p>How can we list our all the users in Linux?</p>
<p>How to list all the users created in linuz machine?</p>
<p><strong>rajeshkumar replied the topic: Re: List all the Grups and users in linux</strong></p>
<p>Following command will work for you&#8230;.</p>
<p><code>less /etc/passwd<br />
less /etc/group</code></p>
<p>Regards,<br />
Rajesh Kumar<br />
Twitt me @ <a href="http://twitter.com/RajeshKumarIn">twitter.com/RajeshKumarIn</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/list-all-the-grups-and-users-in-linux/">List all the Grups and users in linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/list-all-the-grups-and-users-in-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nested for loop in Linux Shell Script</title>
		<link>https://www.scmgalaxy.com/tutorials/nested-for-loop-in-linux-shell-script/</link>
					<comments>https://www.scmgalaxy.com/tutorials/nested-for-loop-in-linux-shell-script/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 08 Dec 2017 06:29:27 +0000</pubDate>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2288</guid>

					<description><![CDATA[<p>scmuser created the topic: Nested for loop in Linux Shell Script As you see the if statement can nested, similarly [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/nested-for-loop-in-linux-shell-script/">Nested for loop in Linux Shell Script</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>scmuser created the topic: Nested for loop in Linux Shell Script</strong></p>
<p>As you see the if statement can nested, similarly loop statement can be nested. You can nest the for loop. To understand the nesting of for loop see the following shell script.<br />
$ vi nestedfor.sh<br />
for (( i = 1; i <= 5; i++ )) ### Outer for loop ###
do

for (( j = 1 ; j <= 5; j++ )) ### Inner for loop ###
do
echo -n "$i "
done

echo "" #### print the new line ###

done

Run the above script as follows:
$ chmod +x nestedfor.sh
$ ./nestefor.sh
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5

Here, for each value of i the inner loop is cycled through 5 times, with the varible j taking values from 1 to 5. The inner for loop terminates when the value of j exceeds 5, and the outer loop terminets when the value of i exceeds 5.

Following script is quite intresting, it prints the chess board on screen.


$ vi chessboard
for (( i = 1; i <= 9; i++ )) ### Outer for loop ###
do
for (( j = 1 ; j <= 9; j++ )) ### Inner for loop ###
do
tot=`expr $i + $j`
tmp=`expr $tot % 2`
if [ $tmp -eq 0 ]; then
echo -e -n "\033[47m "
else
echo -e -n "\033[40m "
fi
done
echo -e -n "\033[40m" #### set back background colour to black
echo "" #### print the new line ###
done

Run the above script as follows:
$ chmod +x chessboard
$ ./chessboard

Above shell script cab be explained as follows:
</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/nested-for-loop-in-linux-shell-script/">Nested for loop in Linux Shell Script</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/nested-for-loop-in-linux-shell-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>List all the users in linux</title>
		<link>https://www.scmgalaxy.com/tutorials/list-all-the-users-in-linux/</link>
					<comments>https://www.scmgalaxy.com/tutorials/list-all-the-users-in-linux/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 08 Dec 2017 06:23:19 +0000</pubDate>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2284</guid>

					<description><![CDATA[<p>rajeshkumar created the topic: List all the users in linux List all the users in Linux cat /etc/passwd &#124; cut [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/list-all-the-users-in-linux/">List all the users in linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>rajeshkumar created the topic: List all the users in linux</strong><br />
List all the users in Linux</p>
<p>cat /etc/passwd | cut -d&#8221;:&#8221; -f1<br />
Regards,<br />
Rajesh Kumar<br />
Twitt me @ <a href="http://twitter.com/RajeshKumarIn">twitter.com/RajeshKumarIn</a></p>
<p><strong>rajeshkumar replied the topic: Re: List all the users in linux</strong><br />
Some of other options are&#8230;.</p>
<p>cat /etc/passwd | gawk &#8216;FS=&#8221;:&#8221; {print $1}&#8217;</p>
<p>ls /home</p>
<p>cat /etc/passwd | cut -d: -f 1,3,6 | grep &#8220;[5-9][0-9][0-9]&#8221; | grep &#8220;/home&#8221; | cut -d: -f1<br />
Regards,<br />
Rajesh Kumar<br />
Twitt me @ <a href="http://twitter.com/RajeshKumarIn">twitter.com/RajeshKumarIn</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/list-all-the-users-in-linux/">List all the users in linux</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/list-all-the-users-in-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Execute Command from Linux to Windows machine</title>
		<link>https://www.scmgalaxy.com/tutorials/execute-command-from-linux-to-windows-machine/</link>
					<comments>https://www.scmgalaxy.com/tutorials/execute-command-from-linux-to-windows-machine/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 08 Dec 2017 06:13:56 +0000</pubDate>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=2272</guid>

					<description><![CDATA[<p>scmuser created the topic: Execute Command from Linux to Windows machine Hi, Could you please help me in my following [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/execute-command-from-linux-to-windows-machine/">Execute Command from Linux to Windows machine</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>scmuser created the topic: Execute Command from Linux to Windows machine</strong><br />
Hi,<br />
Could you please help me in my following scenario…</p>
<p>Problem Statement: In one windows machine, I have one application (BusinessObject) file which has to perform some kind of import jobs upon getting parameters on command line.</p>
<p>The command to execute this import statement in windows is:<br />
java -jar biarengine.jar <<properties file name with location>></p>
<p>As part of automation in my project, I am trying to run this command along with parameter from Linux machine. I mean to say when I fire these command from Linux machine, it should get executed in Windows machine.</p>
<p>My questions is: What are the way we have available on which I can fire these command and make sure these got executed in Windows remotely.<br />
Any help on this?</p>
<p><strong>kd09714 replied the topic: Re: Execute Command from Linux to Windows machine</strong><br />
using rsh you can trigger the command on windows box.</p>
<p>rsh WIN-BOX-NAME &#8220;command to execute on cmd prompt&#8221;;</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/execute-command-from-linux-to-windows-machine/">Execute Command from Linux to Windows machine</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/execute-command-from-linux-to-windows-machine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
