1、用户(user)的概念;
通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如我们的同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,这从计算机安全角度来说是符合操作规则的;
当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;
2、用户组(group)的概念;
用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;
二、用户(user)和用户组(group)相关的配置文件、命令或目录
1、与用户(user)和用户组(group)相关的配置文件
1)与用户(user)相关的配置文件;
/etc/passwd 注:用户(user)的配置文件;
/etc/shadow 注:用户(user)影子口令文件;
2)与用户组(group)相关的配置文件;
/etc/group 注:用户组(group)配置文件;
/etc/gshadow 注:用户组(group)的影子文件;
2、管理用户(user)和用户组(group)的相关工具或命令;
1)管理用户(user)的工具或命令;
但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/ sudoers来实现;
2)管理用户组(group)的工具或命令;
以上摘自:http://blog.chinaunix.net/uid-20691565-id-3431963.html
补充:
查看用户信息配置文件:/etc/passwd
执行 cat /etc/passwd 会出现用户的信息,这里用其中的一行举例:
每行记录又被冒号(:)分隔为7个字段,其含义如下:
1: 用户名
2:密码(通常用x代替,实际的密码在/etc/shadow)
3:UID(用户标示符:数字)
4:GID (用户所在的组)
5、用户名全称
6、用户主目录
7、 用户所用的命令解析器
其中用户ID,决定了用户的类型:
1. 系统管理员(root): 具有使用系统所有权限的用户,其UID 为0;
2. 普通用户: 即一般用户,其使用系统的权限受限,其UID为500-60000之间;
3. 系统用户:保障系统运行的用户,一般不提供密码登录系统,其UID为1-499之间.
将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件
执行 cat /etc/group 显示的是用户组的信息,这里简单举出一行,作为解释:
由冒号(:)隔开若干个字段,这些字段有:
1:“组名”是用户组的名称,组名不应重复。
2:“密码”用户组的密码。用户组一般都没有密码。
3:“组标识号”与用户标识号类似,也是一个整数。
4:“组内用户列表”是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。有的没有用户或者只有一个