Linux用户组和权限管理

本文详细介绍了Linux的用户和用户组管理,包括安全模型、用户与组的配置文件、用户管理命令以及文件权限的设置。重点讨论了用户身份、用户组的作用,以及如何通过`chown`、`chgrp`、`chmod`等命令来改变文件的所有者、属组和权限。此外,还涵盖了默认文件权限的设置方法和`umask`的使用。
摘要由CSDN通过智能技术生成

1. Linux 安全模型

资源分派:

  • Authentication:认证,验证用户身份
  • Authorization:授权,不同的用户设置不同权限
  • Accouting|Audition:审计

当用户登陆成功时,系统会自动分配令牌token,包括:用户标识和组成员等信息

1.1 用户

Linux中每个用户是通过 User Id (UID)来唯一标识的

  • 管理员:root ,0

  • 普通用户:1-60000 自动分配

    系统用户:1-499(Centos 6 以前 ),1-999(Centos 7以后)

    ​ 对守护进程获取资源进行权限分配

    登陆用户:500+(Centos6 以前), 1000+(Centos7以后)

    ​ 给用户进行交互式登陆使用

1.2 用户组

Linux中可以将一个或多个用户加入用户组中,用户组是通过Group ID(GID)来唯一标识的。

  • 管理员组:root,0

  • 普通组:

    系统用户:1-499(Centos 6 以前 ),1-999(Centos 7以后)

    ​ 对守护进程获取资源进行权限分配

    普通组: 500+(CentOS 6以前), 1000+(CentOS7以后), 给用户使用

1.3 用户和组的关系

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

范例:

[root@uni-dev ~]# id postfix
uid=89(postfix) gid=89(postfix) groups=89(postfix),12(mail)

1.3 安全上下文

Linux 安全上下文Context:运行中的程序,即进程(process),以进程发起者的身份运行,进程所能够访问资源的权限取决于进程的运行者的身份

比如: 分别以root和wang的身份运行/bin/cat /etc/shadow,得到的结果是不同的,资源能否能 被访问,是由运行者的身份决定,非程序本身

范例:

[zeng@uni-dev ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[root@uni-dev ~]# cat /etc/shadow
root:$6$MaLyBu1Z$ie5DSFIg2Ug7OUz9YYVnj7oFUvdBEMPLZdZqtCp/DTA70elnQMvDgFfi0XtsPwuAwhRHJLYCBrUuTTDZ322sC/:18698:0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::

2.用户和组相关文件

2.1 用户和组的主要配置文件

  • /etc/passwd: 用户及其属性信息(名称、UID、主组ID等)
  • /etc/shadow: 用户密码及其相关属性
  • /etc/group: 组及其属性信息
  • /etc/gshadow: 组密码及其相关属性

2.2 passwd 文件格式

  • login name:登录用名(wang)
  • passwd:密码 (x)
  • UID:用户身份编号 (1000)
  • GID:登录默认所在组编号 (1000)
  • GECOS:用户全名或注释
  • home directory:用户主目录 (/home/wang)
  • shell:用户默认使用shell (/bin/bash)

2.3 shadow文件格式

登录用名
用户密码:一般用sha512加密
从1970年1月1日起到密码最近一次被更改的时间
密码再过几天可以被变更(0表示随时可被变更)
密码再过几天可以被变更(0表示随时可被变更)
密码过期前几天系统提醒用户(默认为一周)
密码过期几天后帐号会被锁定
从1970年1月1日算起,多少天后帐号失效
更改密码加密算法:

authconfig   --passalgo=sha256 --update

密码的安全策略

  • 足够长
  • 使用数字、大写字母、小写字母及特殊字符中至少3种
  • 使用随机密码
  • 定期更换,不要使用最近曾经使用过的密码

范例:生成随机密码

[zeng@uni-dev ~]$ tr -dc '[:alnum:]' < /dev/urandom | head -c 12
whBs9QdjXB8c[zeng@uni-dev ~]$ openssl rand -base64 9
hp9/BD/yGYoQ

生成随机密码:

2.4 group 文件格式

群组名称:就是群组名称
群组密码:通常不需要设定,密码是被记录在 /etc/gshadow
GID:就是群组的 ID
以当前组为附加组的用户列表(分隔符为逗号)

2.5 gshdow文件格式

群组名称:就是群的名称
群组密码:
组管理员列表:组管理员的列表,更改组密码和成员
以当前组为附加组的用户列表:多个用户间用逗号分隔

3.用户和组管理命令

用户管理命令

  • useradd
  • usermod
  • Userdel

组账号维护命令

  • groupadd
  • groupmod
  • grouped

3.1 用户创建

useradd 命令可以创建新的Linux用户

格式:

useradd [options] LOGIN

常见选项:

-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中 -G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS 7以后: ID<1000 -m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户

范例:

useradd -r -u 48 -g apache -s /sbin/nologin -d /var/www -c "Apache" apache

useradd 命令默认值设定由/etc/default/useradd定义

[root@centos8 ~]#cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1 #对应/etc/shadow文件第7列,即用户密码过期的宽限期 EXPIRE= #对应/etc/shadow文件第8列,即用户帐号的有效期 SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

显示或更改默认设置

useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR
useradd –D –g GROUP

新建用户的相关文件

  • /etc/default/useradd
  • /etc/skel/*
  • /etc/login.defs

批量创建用户

newusers passwd 格式文件

批量修改用户口令

echo username:passwd | chpasswd

3.2 用户属性修改

usermod命令可以修改用户属性

格式:

usermod [OPTION] login

常见选项:

-u UID:UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使 用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值