针对Linux系统是一个多用户多任务的分时操作系统,产生了用户与用户组的管理
多用户多任务分时操作系统允许多个用户共享使用同一台计算机的资源,即在一台计算机上联接几台甚至几十台终端机,终端机可以没有自己的CPU与内存,只有键盘与显示器,每个用户都通过各自的终端机使用这台计算机的资源,计算机按固定的时间片轮流为各个终端服务。由于计算机的处理速度很快,用户感觉不到等待时间,似乎这台计算机专为自己服务一样。
用户:在linux系统中用户名就是一串代表用户身份的字符串,并没有意义,仅是方便人类使用;而Linux 系统是通过 UID 来识别用户身份,分配用户权限的;/etc/passwd 文件中就定义了用户名和 UID 之间的对应关系。 UID:USER ID即用户 ID;每个用户都有唯一的一个 UID,Linux 系统通过 UID 来识别不同的用户;实际上,UID 就是一个 0~65535 之间的数,不同范围的数字表示不同的用户身份,具体如下表所示:
类型uid范围作用超级用户0UID 为 0 就代表这个账号是管理员账号在 Linux 中,只需把其他用户的 UID 修改为 0 就可以了,就可以升级成 为管理员了系统用户1 ~ 499与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的,他们的存在主要是方便系统管理,满足相应的系统进程都文件属主的要求普通用户500~65535普通用户提供给真实用户使用,这类用户一般是由具备系统管理员root的权限的运维人员添加的用户组:linux系统中的用户组(group)就是具有相同特性的用户(user)集合,通过让用户组具有符合需求的操作权限,这样用户组下的所有用户对该文件或目录就会具有相同的权限,这就是用户组的用途;同时用户组的产生很大程度上简化了运维管理工作 GID:全称“Group ID”,简称“组ID”,表示用户初始组的组 ID 号;根据使用性质用户组进行了分类,分类如下表:
类型作用初始组指用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。附加组指用户可以加入多个其他的用户组,并拥有这些组的权限。每个用户只能有一个初始组,除初始组外,用户再加入其他的用户组,这些用户组就是这个用户的附加组。附加组可以有多个,而且用户可以有这些附加组的权限。文件使用":"分割,共分割为7个部分,解读如下
位置名称作用字段1用户名这是用户登陆时使用的账户名称,在系统中是唯一的,不能重名字段2密码占位符x早期的unix系统中,该字段是存放账户和密码的,由于安全原因,后来把这个密码字段内容移到/etc/shadow中了;这里可以看到一个字母x,表示该用户的密码是/etc/shadow文件中保护的;字段3UID用户中介绍了,范围是0-65535字段4GID范围是0-65535;当添加用户时,默认情况下会同时建立一个与用户同名且UID和GID相同的初始组字段5用户说明这个字段是对这个账户的说明字段6用户主目录用户登陆后首先进入的目录,默认建立在/home/用户名 这个目录下字段7登录Shell当前用户登陆后所使用的shell,在centos/rhel系统中,默认的shell是bash注意:若设置为/sbin/nologin时,是禁止此用户交互式访问的,一般系统用户常使用文件使用":"分割,共分割为9个部分,解读如下
位置名称作用字段1用户名对应用户信息中的用户名字段2密码加密密文1.已将密码进行加密处理,显示为加密密文,目前 Linux 的密码采用的是 SHA512 散列加密算法2. “!!” 或 “*”,代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是 “!!”,代表这个用户没有密码,不能登录3."!密文”表示用户密码冻结,用户账户冻结不能登录字段3密码的最后一次修改日期1.计算时间是以 1970 年 1 月 1 日作为 1 不断累加得到的时间2.空字段表示密码年龄功能被禁用。字段4密码最短有效期禁止修改密码的天数,从1970/1/1开始,多少天之内不能修改密码,默认值为0字段5密码最长有效期用户必须在此时期内更改口令的天数;密码的最长有效天数,默认值为99999字段6密码警告期限警告更改密码的期限;密码过期之前警告天数,默认值为7;在用户密码过期前多少天提醒用户更改密码字段7密码过期后的宽限天数在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,完全禁用账户字段8用户到期日帐号失效时间,默认值为空;从1970/1/1日起,到用户被禁用的天数字段9保留字段等待新功能文件使用":"分割,共分割为4个部分,解读如下
位置名称作用字段1组名用户组的名称,在系统中是唯一的,不能重名字段2组密码1.这里的 “x” 仅仅是密码标识,真正加密后的组密码默认保存在 /etc/gshadow 文件中2.用户组密码主要是用来指定组管理员的,如果有用户需要加入或退出某用户组,可以由该组的组管理员替代 root 进行管理。但是这项功能目前很少使用,也很少设置组密码。字段3GIDLinux 系统就是通过 GID 来区分用户组的,同用户名一样,组名也只是为了便于管理员记忆。字段4组中的用户本组的成员用户列表,加入这个组的所有用户账号文件使用":"分割,共分割为4个部分,解读如下
位置名称作用字段1组名用户组的名称字段2加密的组密码加密后的密码字符串,这个字段可以空的或者‘!’;如果是空的或有‘!’,表示没有密码字段3组管理员本组的管理员列表,这个字段也可为空;如果有多个用户组管理员,用‘,’号分隔字段4组附加用户列表本组的成员列表,加入这个组的所有用户账户;列表中多个用户通过‘,’分隔