用户在系统上操作,其实是shell启动相应的进程为用户提供服务,或者shell直接和用户交互。
所有运行中的进程都是以某个用户的身份进行的。运行中的进程有其属组和属主。
一个进程能否操作某资源取决于该进程的属主和属组是否有相应的权限。
--------------------------------------------------------------------------------------
用户分两类:
1.管理员:uid=0
2.普通用户:uid=1--65535
系统用户:uid=1--499
在系统启动过程中以自己的身份启动某种程序在后台运行,来使系统具有某种功能。
这种用户没有家目录,不能登录系统。
登陆用户:uid=500-65535
可以登录系统,有自己的家目录。
和用户账号相关的文件:
/etc/passwd 存放账号相关信息
登录名:密码占位符X:UID:基本组的GID:备注:家目录的路径:默认shell
UID: 数字,两个字节长度,可以表示65536个用户
备注:若有多项,可以用逗号分隔
默认shell:必须是系统中已存在的shell(在/etc/shells文件中有记录)
/etc/shadow 存放登陆账户密码的相关信息
登录名:密码密文:最后一次修改时间:密码禁止修改的天数:密码有效天数:密码到期前发提示的天数:密码过期后用户必须在登录时修改密码的天数:账号过期的天数:预留未用字段
密码密文:加密形式的密码,由$隔开的3段组成
$段1 $段2 $段3
段1:1代表是用md5加密
6代表是用sha12加密
段首有“!”表示本账号被锁定
段2:本段内容将和密码一起加密生成 段3. 目的是增加密文破解难度
段3:密码密文
---------------------------------------------------------------------------------------
组:
是用户的容器,也叫用户角色。可以包含若干用户。
组的用户将拥有该组的权限。
组的存在方便了相同权限的批量指派和用户的批量管理。
从系统的角度来看,组分两类:
管理员组
普通组
从用户的角度来看,组可以分两类
基本组:
本职组,在/etc/passwd的 GID 段进行记录
基本组是创建用户账户是创建的(原生的,专属的),或者在建账户时用“-g gid”指定的已存在的组。
额外组:
兼职组,在/etc/group的最后一段(组成员)列出所有以此组为额外组的用户。
在创建用户时使用“-G gid” 指定。
一个用户可以没有额外组,但不能没有基本组
和组相关的文件:
/etc/group 存放组相关信息
组名:组密码占位符:GID:组成员列表(在该组兼职的账户列表)
/etc/gshadow 存放组密码相关信息
组密码的意义:用户可以在自己的基本组和兼职组间切换,从而以某个组成员的名义来工作。在这些组之间切换,不需要提供组密码;如果要切换到和自己没关系的组去,就需要对方组的密码。
--------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
转载于:https://blog.51cto.com/gulingzi/1552506