Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 教程 > Linux教程 > 正文

Linux基础知识十三 初识用户、权限和进程

时间:2014-05-31 00:02 来源:未知 作者:www.51ou.com 阅读:

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

 

在介绍“用户”之前,需要先对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-499,500 以上的所有ID号都是可登陆用户。

 

三、系统调用

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

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

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

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

# mkdir /tmp/a.txt

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

 

 

四、什么是权限

权限管理在Linux系统中起占据着相当重要的地位,它主要是指修改文件的属主、属组以及文件的使用权限等操作。

站在用户的角度,Linux中权限主要分为以下三类:

读取:read,用r表示

写入:write,用w表示

执行:execute,是能被内核所识别的标识,用x表示。

 

站在文件类别的角度,Linxu中权限可以分为以下两类:

a)文件权限:默认情况下,文件(非目录)默认都没有执行权限;

b)目录权限:

只读:目录的只读(r)权限指的是可以对目录执行 ls 命令以查看,但不能使用 -l  选项以查看文件的相关属性,也不能使用cd 命令切换到目录中;

写入:目录的写(w)权限是指可以在目录中创建新文件,注意,对目录的写权限不包含删除命令,但是删除命令可以作用到目录本身,而不是其中的文件,因为这些文件可能属于其他用户。

执行:目录的执行(x)权限是指可以对目录执行ls -l 命令,并且能够使用cd命令切换到目录中,因此通常情况下目录都有x权限,但是文件没有。

wKioL1NNNkPyeaupAAEd_qIkkIM928.jpg

 

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

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

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

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

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

 

五、跟用户和组相关的文件

只要能够存放信息,都可以用来保存用户和密码,我们称之为信息库,通常可以充当信息库的可以是文本文件,如Linux系统中/etc 目录下的相关文件;可以是LDAP(轻量级信息访问协议);可以是数据库,如mysql,nosql等。

 

在Linux中和用户相关的信息主要存放在以下两个文件中:

/etc/passwd: 存放用户的属性信息,可以被任何用户访问;

/etc/shadow: 影子口令,用来保存密码相关的信息,只能被管理员访问。

我们可以用ls -l 命令来查看这两个文件的使用权限:

# ls -l /etc/passwd

# ls -l /etc/shadow

wKiom1NNNpPzUzDBAADf0GScdxg253.jpg

 

和组相关的信息则存放在以下两个文件中:

/etc/group: 用来存放组的属性信息;

/etc/gshadow:用来存放组的密码相关信息。

组的密码作用在于让用户使用该组。如果某用户不在该组中,但想使用该组的权限,就可以切换到该组中,这时就需要组的密码.

 

五、什么是进程

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

# ps -aux | less

wKioL1NNNoyyc0wuAADLQoVCv88291.jpg

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

 

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

 

六、进程的类别

进程可以分为以下三类:

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

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

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

 

七、进程的权限管理

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

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

# touch /tmp/b.txt

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

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

 

本文出自 “重剑无锋 大巧不工” 博客,请务必保留此出处http://wuyelan.blog.51cto.com/6118147/1395139

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《Linux基础知识十三 初识用户、权限和进程》技术文章,《Linux基础知识十三 初识用户、权限和进程》详细使用和说明,有时《Linux基础知识十三 初识用户、权限和进程》可能不完善、敬请谅解!如果《Linux基础知识十三 初识用户、权限和进程》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(1)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片