用户组和权限管理

Posted 浇、水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户组和权限管理相关的知识,希望对你有一定的参考价值。

文章目录

1. 用户

  • 任何用户被分配一个独特的用户ID号(UID)
  • UID 0 标识root用户
  • 普通用户账号通常从1000开始
  • 用户名和UID信息通常存储在 /etc/passwd 文件中
  • 当用户登录时它被分配一个主目录并且运行一个程序(通常是一个shell程序)
  • 没有权限许可的用户不能读写或者执行其他用户文件

2. 用户账号文件-/etc/passwd

用于保存用户的账户基本信息


字段1-user1: 用户名称,小写
字段2-x: 密码占位符,表示登录需要密码,rhel8后仅对root生效
字段3-1000: 用户账号的UID号
字段4-1000: 用户的私有组号
字段5-user1: 用户的描述信息,可以登录时代替用户名显示
字段6-/home/user1: 用户家目录
字段7-/bin/bash: 登录shell信息,相当于语法规则

3. 组

  • 每个用户必须属于一个组
  • 每一个字组被分配一个独特的组ID(gid)
  • 每一个用户都有自己的私有组
  • 可以将用户添加到别的组,该组被称为用户的附加组
  • 同一个组中的所有用户能共享属于这个组的文件

4. 组文件信息-/etc/group

用于保存组的基本信息


字段1:组名称
字段2:密码占位符
字段3:组ID
字段4:该组是某某某用户的附加组,即组内成员

5. useradd创建新用户

  • 其语法如下:
    useradd [options] 用户名
  • options说明:
    -u 指定用户uid,如果同时有-o,则可重复使用其他uid
    -g 指定gid,前提是组已经被创建
    -G 指定附加组
    -a 追加附加组,与-G一同使用
    -c comment指定一段注释性描述信息
    -d 指定家目录
    -s 指定登录shell

例:
useradd -u 2000 -g user user1
useradd -s /sbin/nologin -G root Mary

6. 其他相关命令

usermod 修改用户信息,用法与useradd类似
userdel 删除用户 -r 删除家目录和邮箱,彻底删除
家目录:/home/用户名
邮箱:/var/spool/mail/用户名
groupadd 创建组 -g 指定gid
groupmod 修改组信息 -n 指定新组名 -g 指定gid
groupdel 删除组
groupmems 管理组成员
-g 指定组
-a 添加用户
-d 删除用户
-l 列出组内用户
-p 清空用户

7. 密码文件-/etc/shadow

用于保存用户的密码信息

字段1: 用户帐号的名称
字段2: 加密的密码字串信息
字段3: 最近一次修改密码的时间,表示从1970.01.01至今的天数
字段4: 密码的最短使用天数,默认值为0,没有要求
字段5: 密码的最长有效天数,默认值为99999
字段6: 密码即将到期警告天数,默认值为7
字段7: 在密码过期之后账号保持活动的天数,指定天数后账号被锁定,成为无效
字段8: 帐号失效时间,默认值为空,以1970.01.01 的天数表示
字段9: 保留字段(未使用)

8. 配置密码期限

下图显示了相关密码期限参数,可以通过chage命令对其进行密码期限的调整

语法:chage [options] 用户
chage -m 0 -M 90 -W 7 -l 14 user
分别修改用户密码的最短期限,最长期限,警告周期和失效期限
chage -d 0 user 强制要求用户在下一次登录时更新密码
chage -l user 显示用户密码的信息
chage -E 2020-10-10 user 用户将于2020-10-10到期

9. Linux文件安全

  • 每一个文件都有一个uid和gid
  • 任何进程运行时都带一个uid和一到多个gid标识符
  • 通常用于决定那个用户执行这个过程
  • 三种访问类别:
    运行的进程和文件有同样的uid(user)
    运行的进程跟文件有着同样的gid(group)
    其他进程(other)

10. Linux文件系统权限

查看文件和目录的权限
ls -l 文件
ls -ld 当前目录


文件类型:
-:代表普通文件
d:目录
l:链接文件
b:块设备,存储设备,磁盘
c:字符设备,非存储设备,键盘鼠标
p、s:其他特殊文件
权限对文件和目录的影响:

权限对文件的影响对目录的影响
r(读)可以读取文件的内容可以列出目录的内容(文件名)
w(写)可以更改文件的内容可以创建或删除目录中的任一文件
x(执行)可以作为命令执行文件可以进入目录(需要r权限才能读目录内容)

复制文件需要的权限:
对文件有r权限
对文件所在目录有x权限
重命名文件需要的权限:
对目录有w,x权限

11. 权限优先级

  • 如果uid匹配,用户权限适用
  • 否则,如果gid匹配,组权限适用
  • 如果都不匹配,其他权限适用

12. 更改文件和目录的权限

符号方式修改文件权限:
chmod 命令用于修改文件对于某类用户的操作权限
chmod [-R] whowhatwhich FILE
who:设置权限的对象,可以是:u(用户)g(组)o(其他人)a(所有人)
what:属性操作符:+增加权限 -减少权限 =精确设置
which:权限内容:rwx及其组合
FILE:被修改的文件或目录
-R:递归


数字修改文件权限:
使用三个数字(nnn)模式
chmod nnn FILE
通过把数值相加来计算权限
第一个数字代表 u 权限
第二个数字代表 g 权限
第三个数字代表 o 权限

13. 设置文件属主和属组

只有root可以修改文件拥有人,root和文件拥有人可以修改文件拥有组,前提是用户需要在组里


chown [-R] OWNER[:GROUP] FILE…
设置文件属主和属组
chgrp [-R] GROUP FILE…
设置文件属组




以上是关于用户组和权限管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统下用户以及权限管理

Linux账号和权限管理命令

python学生信息管理系统登录权限怎么开启

账号和权限管理(理论知识铺垫)

第五天用户组和权限管理

用户管理系统 - 用户权限设计(RBAC模型)