Linux用户与权限管理
前言
在Linux中会有不同的用户,我们可以给不同的用户以不同的权限,来实现不同的需求。在企业中也是通过创建不同用户分配不同的权限,来实现企业中的不同的职位分工权限大小。
一、管理用户账号
(1)用户账号概述
- 超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的。
- 普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。
- 程序用户: 在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。
①用户标识UID (User IDentity,用户标识号)
- root用户账号UID固定值0
- 程序用户账号的UID默认为Centos7: 1~ 999,Centos5,6: 1~499
- 普通用户的UID默认为Centos7: 1000~ 65535,Centos5, 6: 500~ 65535
②用户账号文件
作用:保存用户名称、宿主目录、登录Shell 等基本信息
位置:文件位置:/etc/passwd
-
每一字段对应一个用户的账户记录:
字段1:用户账号的名称,也是登录系统时使用的识别名称。 字段2:经过加密的用户密码字串,或者密码占位符“x”。 字段3:用户账号的 UID 号。 字段4:所属基本组账号的 GID 号。 字段5:用户全名,可填写与用户相关的说明信息。 字段6:宿主目录,即该用户登录后所在的默认工作目录。 字段7:登录 Shell 等信息,用户完成登录后使用的 Shell
基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一 定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中, 而passwd文件中仅保留密码占位符“x”。
第一列:账户名
第二列:存放真正加密的密码,采用SHA512散列算法,更加安全
第三列:上一次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,date -d "1970-01-01 15775 days"可以查看哪一天改过
第四列:多久之后才可以修改密码,如果是 0,则密码可以随时修改
第五列:密码有效期,默认99999,表示永久生效
第六列:密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出 "修改密码" 的警告信息
第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用
第八列:账号失效时间,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间
第九列:保留,未使用
这里要注意的是第二列!!和*表示没有密码不能登陆,新创建用户也是!!,如果密码前面显示双感叹号表示该账户被锁定了
- 如果在环境生产中程序升级程序失败,出现账号已过期的报错,可以将账号设置为永不过期,即将第五个字段更改为99999,表示不进行限制,即可
- shadow的权限是非常高的,不能进行读取编辑与执行
(2)用户账号管理
①添加用户账号(useradd)
格式:useradd [选项] 用户名
选项 | 作用 |
---|---|
-u | 指定用户的UID号,要求 |