13_Linux基础知识及命令————初识用户和进程

一、为什么要引入用户机制

在介绍“用户”之前,需要先对Linux的文件系统有所了解。文件系统是对文件进行组织和管理的模式,是一种数据的抽象。它能够将数据表现为一个个单独的个体,让用户逐一访问

如果在同一台计算机上,Tom 创建了文件 a.txt,那么 Jerry 也可以访问该文件。但是出于安全性考虑,Tom的文件并不希望被Jerry访问到。于是就需要引入一种机制——用以识别文件的编号,这就是用户


二、理解用户

用户包括:

用户名:供人使用,可以是任意字符

用户ID:供计算机使用,是唯一的识别标志。

通常操作系统会建立一个用户信息库,用以成对的存放用户名和用户ID,例如:

{roo,0}  //root 即为用户名,0即是root 用户的ID

{centos,500}// centos 即为用户名,500即是centos 用户的ID

当用户登陆时,计算机就会在信息库中查找用户名所对应的用户ID,然后将资源按需分配给登陆的用户。

Linux是多用户多任务的系统,不同的用户可以创建不同的文件。在Linux中,用户可以分为以下两类:

1. 管理员用户:通常为 root 用户,ID 0

2. 普通用户,可以分为两类:

a)人为登陆的用户

b)只允许运行某些程序,但从来不允许登陆的用户,其目的在于实现某些管理功能,此类用户称为系统用户

所有的0用户都是普通用户,其中系统用户ID号为 1-499500 以上的所有ID号都是可登陆用户


三、系统调用

系统调用也称为模式转换,它有两种模式:

当内核在cpu上运行,就叫做系统运行在内核模式下;

当用户的程序在cpu上运行,就叫做系统运行在用户模式下。

例如当我们执行以下命令:

# mkdir /tmp/a.txt

该命令虽然是用户发出的,但需要操作硬盘,即向硬盘写入数据,因此会发生系统调用,于是会从用户模式进入到内核模式。


四、文件的属主(owner)和属组(group

文件的属主(owner)即为文件的拥有者;

文件的属组(group)即为文件所属的组。

这里我们需要理解组的概念。组可以看成一个容器,它一次性完成了权限设置,用来映射用户群和访问权限,也被称为角色(role),进入组的用户自动继承了组的权限

例如,如果文件a.txt所属的组为mygroup,而mygroupa.txt具有全部的访问权限,那么若用户jerry属于mygroup组,则Jerry自动获得了该文件a.txt的访问权限。


五、什么是进程

window的操作系统中,我们可以通过Ctrl+Alt+Delete 组合键打开任务管理器查看进程(process);在Linux操作系统中,同样也有进程,可以使用以下命令来查看当前正在运行的进程:

# ps -aux | less

我们可以将进程和程序加以对比,来帮助我们理解进程。程序可以看做是存放在硬盘上的二进制码,是死的数据;而进程可以看成是正在执行过程中的程序


进程有自己的生命周期,即从程序启动到运行结束;如果站在操作系统的角度看,进程实际上是资源分配的单位;而从用户的角度看,进程是用户的代理,用户通过进程完成对计算机的操作。


六、进程的类别

进程可以分为以下三类:

1. 守护进程deamon):是后台进程,用来完成操作系统的基本任务,如运行GUI界面所需的进程;

2. 交互式进程interactive):是用户进程,即用户手动发起的进程;

3. 实时进程real time),此处不加赘述,后文将详细介绍该类进程。


七、进程的权限管理

进程和文件一样,也有属组和属主。判断某一进程是否有权限访问资源,取决于发起进程的用户是否有权限访问资源

例如,当用户Tom试图运行命令:

# touch /tmp/b.txt

那么touch 命令发起的进程就属于Tom 用户。

进程的判断顺序通常是:①首先判断属主--->②然后判断属组


13_Linux基础知识及命令————初识用户和进程,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。