一.用户与组的概念
1.理解linux多用户,多任务的特性
Linux是一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响,例如某台linux服务器上有4个用户,分别是root、www、ftp和mysql,在同一时间内,root用户可能在查看系统日志,管理维护系统,www用户可能在修改自己的网页程序,ftp用户可能在上传软件到服务器,mysql用户可能在执行自己的SQL查询,每个用户互不干扰,有条不紊的进行着自己的工作,而每个用户之间不能越权访问,比如www用户不能执行mysql用户的SQL查询操作,ftp用户也不能修改www用户的网页程序,因此可知,不同用户具有不同的权限,每个用户是在权限允许的范围内完成不同的任务,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制.
2.linux下用户的角色分类
在linux下用户是根据角色定义的,具体分为三种角色:
超级用户:拥有对系统的最高管理权限,默认是root用户.
普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限,例如上面提到的www用户、ftp用户等.
虚拟用户:也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求.例如系统默认的bin、adm、nobody用户等,一般运行的web服务,默认就是使用的nobody用户,但是nobody用户是不能登录系统的.
3.用户和组的概念
我们知道,Linux是一个多用户多任务的分时操作系统,如果要使用系统资源,就向系统管理员申请一个账户,然后通过这个账户进入系统.这个账户和用户是一个概念,通过建立不同属性的用户,一方面,可以合理的利用和控制系统资源,另一方面也可以帮助用户组织文件,提供对用户文件的安全性保护.
每个用户都用一个唯一的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录.
用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限.这就是用户组,将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了管理工作.
4.用户和组的关系:
用户和用户组的对应关系有:一对一、一对多、多对一和多对多;下图展示了这种关系:
一对一:即一个用户可以存在一个组中,也可以是组中的唯一成员.
一对多:即一个用户可以存在多个用户组中.那么此用户具有多个组的共同权限.
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限.
多对多:多个用户可以存在多个组中.其实就是上面三个对应关系的扩展.
二 用户配置文件概述
1.用户和组相关的配置文件
(1)/etc/passwd文件
系统用户配置文件,是用户管理中最重要的一个文件.这个文件记录了Linux系统中每个用户的一些基本属性,并且对所有用户可读./etc/passwd中每一行记录对应一个用户,每行记录又被冒号分割,其格式和具体含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:默认shell
下面是/etc/passwd文件的部分输出:
[root@localhost ~]# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
|