Linux系统--账号和权限管理

发布时间:2023年12月26日

目录

一、Linux安全模型

二、用户账号和组账号

2.1??用户帐号类型

2.2? 组账号

?2.3? 用户和组的关系

?三、两个重要文件夹

3.1? 用户账号文件/etc/passwd

3.2??/etc/shadow

四、用户命令

4.1??useradd命令——添加用户

4.2??passwd命令——密码管理

4.3? ?usermod命令——修改用户账号的属性

4.4??userdel——删除用户

4.5? 用户账户的初始配置文件

五、组命令

5.1? groupadd命令——添加组

5.2??gpasswd 命令——添加、设置、删除组成员

?5.3??groupdel命令——删除组账号

六、?查询命令

6.1? finger命令查询用户帐号的详细信息

6.2? w命令查询已登录到主机的用户信息

6.3??who 命令

6.4? users命令


一、Linux安全模型

Authentication认证,验证用户身份 (用户名和密码)
Authorization授权,不同的用户设置不同权限
Accouting|Audition审计, 事后追责

二、用户账号和组账号

2.1??用户帐号类型

  • Linux中每个用户是通过 User Id (UID)来唯一标识的
账户类型UID号描述
管理员0
程序用户1-499 (CentOS 6以前), 1-999 (CentOS 7以后)不登录的用户,系统默认的情况
普通用户500+ (CentOS6以前), 1000+(CentOS7以后)

不指定顺序,给用户进行交互式登录使用

2.2? 组账号

基本组(私有组)

  • 建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户。

  • 在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定

  • 默认新建用户时自动添加同名的组

  • 有且唯一

附加组(公共组)

  • 除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定
  • 可有可无,可以有多个

组标识号:GID

?2.3? 用户和组的关系

  • 用户是员工 ,是职位
  • 员工可以兼职多个岗位
  • 总有一个最重要的身份 :主要组
  • 主要组 必须要一个组 有且唯一
  • 附加组 可有可无 有可以有多个

默认行为当你创建一个新用户时会自动创建一个和之同名的主组

  • 用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组

  • 用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组

?三、两个重要文件夹

3.1? 用户账号文件/etc/passwd

  • 保存用户名称、宿主目录、登录Shell等基本信息
  • 文件位置: /etc/passwd
  • 每一行对应一个用户的帐号记录

limei? 用户名称

3.2??/etc/shadow

  • 存放密码,以及用户密码信息

第1字段limei用户名
第2字段:!!密码,:!!代表不可以登录;若该字段为空,则表示无需密码即可登录
第3字段:19717上次修改密码时间,最后一次修改密码的时间

1970 年 01 月 01 日这是linux诞生的第一年已他作为元年开始计算

date -d '1970-01-01 19717 days'? #计算实际修改日期

第4字段:0最小修改密码间隔时间, 今天 下一次间隔天数,才能修改,频繁修改, 也就是说,该字段规定了从第 3 字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。此字段是为了针对某些人频繁更改账户密码而设计的安全性考虑
第5字段:99999密码有效期。经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第 3 字段(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段,账户不能登录,被锁定。该字段的默认值为 99999,也就是 273 年,可认为是永久生效。
第6字段:7密码到期提醒(提示密码即将过期时间)
第7字段

密码过期后的宽限天数 (密码过期后多少天禁用此用户)

比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。

第8字段:19716账号失效时间 同第 3 个字段一样,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!该字段通常被使用在具有收费服务的系统中。账号无法登录生命值
第9字段保留

四、用户命令

4.1??useradd命令——添加用户

  • 添加用户:查看是否在 passwd和shadow文件中生成信息
  • 在/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录

  • 若未明确指定用户的宿主目录,则在/home 目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。

  • 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/shadow 文件中。

选项

-u

指定uid

-M

不生成家目录

-s

指定用户的登录 shell环境 /sbin/nologin 这个shell比较奇怪,不让登录

-e

指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-d

指定家目录位置

-t

指定基本组

-g

指定用户的基本组名(GID)

-G

指定用户的附加组名(GID)

-c

备注信息

-p

指定加密后的新账户密码

4.2??passwd命令——密码管理

  • 为用户账号设置密码
不加选项可以添加密码
-d清空指定用户的密码,仅使用用户名即可登录系统。
-l锁定用户账
-S查看用户账户的状态(是否被锁定)
-u解锁用户账户。

4.3? ?usermod命令——修改用户账号的属性

  • 常见选项
  • -l 更改用户账号的登录名称(Login Name)

  • -L 锁定用户账户

  • -u 修改用户的 UID 号

  • -U 解锁锁用户账户

  • -d:修改用户的宿主目录位置。

  • -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

  • -g:修改用户的基本组名(或使用 GID 号)

  • -G:修改用户的附加组名(或使用 GID 号)

  • -s:指定用户的登录 Shell

4.4??userdel——删除用户

  • -r 将宿主目录一起删除

4.5? 用户账户的初始配置文件

文件来源

  • 新建用户帐号时,从/etc/skel目录中复制而来
  • cat /etc/default/useradd

主要的用户初始配置文件

  • ~/.bash_profile

#此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件

  • ~/.bashrc

#此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境)

  • ~/.bash_logout

#此文件中的命令将在该用户每次退出时bash shell时使用

五、组命令

组账号文件

与用户帐号文件相类似

/etc/group:保存组帐号基本信息

/etc/gshadow:保存组帐号的密码信息基本不使用

5.1? groupadd命令——添加组

  • -g? 指定组id

5.2??gpasswd 命令——添加、设置、删除组成员

-a向组内添加一个用户
-d从组内删除一个用户成员
-M定义组成员列表,以逗号分隔

?5.3??groupdel命令——删除组账号

六、?查询命令

6.1? finger命令查询用户帐号的详细信息

6.2? w命令查询已登录到主机的用户信息

6.3??who 命令

  • 相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。

6.4? users命令

文章来源:https://blog.csdn.net/weixin_58376680/article/details/135227912
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。