2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								---
							 
						 
					
						
							
								
									
										
										
										
											2022-09-06 13:26:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								tags:
							 
						 
					
						
							
								
									
										
										
										
											2024-06-16 18:45:04 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  -  operating-systems
							 
						 
					
						
							
								
									
										
										
										
											2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# User space
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-02 15:58:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								User space is the portion of the main memory that the kernel allocates for user
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								processes.
							 
						 
					
						
							
								
									
										
										
										
											2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-02 15:58:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								There is a hierarchy within the user space with several different groups of user
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								processes:
							 
						 
					
						
							
								
									
										
										
										
											2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< dl > 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-12 17:00:04 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< dt > Basic services< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< dd > Run at the bottom level and therefore are closest to ther kernel. Comprises small components that perform single, uncomplicated tasks. Examples include network configuration, the communication bus, and diagnostic logging< / dd >  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< dt > Utiility services< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< dd > The middle level: larger components such as mail, print, and database services< / dd > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< dt > Services controllable by the user< / dt > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< dd > The top level: complicated tasks that the user controls directly such as using a web-browser, editing a text file< / dd > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / dl > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## What is a user?
 
							 
						 
					
						
							
								
									
										
										
										
											2022-09-06 13:26:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								>  A user is an entity that can run processes and own files.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-02 15:58:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								At the level of users, a user is associated with a user name however the kernel
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								does not manage usernames, it identifies users via numeric identifiers called
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								**user IDs**.
							 
						 
					
						
							
								
									
										
										
										
											2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-02 15:58:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Users exist in order to support permissions and access boundaries. A user may
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								terminate or modify the behaviour of its own processes (within limits) but
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								cannot interfere with another user's proceses. In addition, users may own files
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								and choose whether to share them with other users.
							 
						 
					
						
							
								
									
										
										
										
											2022-05-24 15:00:04 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								### Root user (superuser)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-02 15:58:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								A Linux system normally has a number of users in addition to the ones that
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								correspond to the real human users. The most important is **root** . The root
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								user _can_  terminate and alter another user's processes and access any file on
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								the local system.
							 
						 
					
						
							
								
									
										
										
										
											2022-09-06 13:26:44 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								A person who can operate as root is an administrator on a typical user system.