I'm asking for Linux-based Operating systems but this question can also be generalized to any other Operating systems. Question : As we all know that many processes can't run as a normal user but they could only run as a root user. for example, the installation and uninstallation process of any application (in Linux) have to be done as the root user, and the question is WHY, WHY NOT IT COULD BE DONE AS NORMAL USER? (moreover, OS can simply switch states of execution of process between User mode and Kernel mode when required, but why there is one more layer of differentiation done as root user and normal user?)
The reason why some processes can only be run as the root user is because they require privileged access to the system's resources and settings. This is done to ensure the security and stability of the operating system.
When a process runs with root privileges, it has access to all of the system's resources, including hardware devices and system files. This can be dangerous if the process is not trusted or if it is compromised by a malicious attacker. Running processes as a normal user provides an additional layer of protection against unauthorized access or malicious activity.
Additionally, running processes as a normal user helps to prevent accidental changes to the system. If a user accidentally runs a command that could cause harm to the system, such as deleting system files or modifying critical system settings, the impact is limited because the user does not have root privileges.
The distinction between root user and normal user also allows for more fine-grained control over the system. By limiting the privileges of normal users, system administrators can ensure that users only have access to the resources and settings that they need to perform their tasks.
In summary, the differentiation between root user and normal user is an important security measure that helps to protect the system against unauthorized access and malicious activity. While it may be inconvenient at times, it is necessary to maintain the security and stability of the operating system.