Rocky虚拟机(Three Days)用户与组管理与目录/文件权限

发布时间 2023-08-20 21:23:34作者: supernova_dark_horse

Three Days

一、用户管理

1、概述
  • Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

  • 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护

  • 每个用户账号都拥有一个唯一的用户名和各自的密码

  • 用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录

  • 增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等,密码存放的文件是/etc/shadow,但是密码文件是加密过的看了也看不到

2、增删改查用户的命令
  • 增加用户命令:useradd 选项 用户名

    • 参数列表

      • -c <comment>:指定一段注释性描述。

      • -d 目录:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

      • -D:变更预设值

      • -g 用户组:指定用户所属的用户组。

      • -G 用户组:用户组 指定用户所属的附加组。

      • -s Shell文件: 指定用户登入后所使用的shell。默认值为/bin/bash

      • -u 用户号:指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

      • -r :建立系统帐号

      • -m:自动建立用户的登入目录

      • -M:不要自动建立用户的登入目录

      • -e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效

      • -f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1

    • 操作实例

  • 删除用户命令:userdel 选项 用户名

    • 参数列表

      • -f:强制删除用户,即使用户当前已登录

      • -r:删除用户的同时,删除与用户相关的所有文件

    • 操作实例

  • 修改用户命令:usermod 选项 用户名

    • 参数列表

      • -c<备注> :修改用户帐号的备注文字。

      • -d登入目录>:修改用户登入时的目录。

      • -e<有效期限>:修改帐号的有效期限。

      • -f<缓冲天数> :修改在密码过期后多少天即关闭该帐号。

      • -g<群组> :修改用户所属的群组。

      • -G<群组> :修改用户所属的附加群组。

      • -l<帐号名称> :修改用户帐号名称。

      • -L :锁定用户密码,使密码无效。

      • -s<shell>:修改用户登入后所使用的shell。

      • -u<uid> :修改用户ID。

      • -U:解除密码锁定

    • 操作实例

  • 查询命令

    • w : 详细查询已登录当前计算机的用户 命令格式:w [-fhlsuV] [用户名称] 不加任何参数,显示当前用户

    • who : 显示已登录当前计算机用户的简单信息

    • logname : 显示当前用户的登录名称

    • users : 用单独的一行显示出当前登录的用户

    • last : 显示近期用户登录情况

    • lastb : 列出登录系统失败的用户信息

    • lastlog : 查看用户上次登录的时间

3、用户设置密码
  • 概述:passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码

  • 设置密码的两种方式

    • 明文:echo "密码" | passwd --stdin 用户名

      • 实操案例

    • 密文:passwd 用户名

      • 参数列表

        • -d:删除密码

        • -f:强迫用户下次登录时必须修改密码

        • -w:密码要到期提前警告的天数

        • -k:更新只能发送在过期之后

        • -l:停止账号使用

        • -S:显示密码信息

        • -u:启用已被停止的账户

        • -x:指定密码最长存活期

        • -g:修改群组密码

        • -i:密码过期后多少天停用账户

        • --help:显示帮助信息

        • --version:显示版本信息

      • 实操案例

 

二、组管理

1、概述
  • 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建

  • 用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新

  • /etc/group 组账户信息、/etc/gshadow 安全组账户信息。、/etc/login.defs Shadow密码套件配置

2、增删改查用户组的命令
  • 添加组命令:groupadd 选项 用户组名

    • 参数列表

      • -g,--gid:指定新建工作组的 id

      • -r,--system:创建系统工作组,系统工作组的组 ID 小于 500

      • -h, --help:显示此帮助信息并推出

      • -K,--key:覆盖配置文件 /etc/login.defs

      • -p,--password:为新组使用此加密过的密码

      • -o,--non-unique:允许添加组 ID 号不唯一的工作组

      • -R,--root:将修改应用到CHROOT_DIR目录,并使用配置

      • -f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的 GID_MIN 已经存在时,选择另一个唯一的 GID(即 -g 关闭)

    • 实操案例

  • 删除组命令:groupdel 用户组名

    • 实操案例

  • 修改组命令:groupmod 选项 用户组名

    • 参数列表

      • -g <群组识别码>:修改GID(组识别码)

      • -o :允许重复使用GID(组识别码)

      • -n <新组名称>:修改组名

      • -p:设置组密码

    • 实操案例

  • 查询组命令:groups 选项

    • 打印指定用户所在组的名称

    • 参数列表

      • username:可以是一到多个,不提供时默认为当前用户

 

 

三、目录与文件的权限

1、概述
  • Linux系统共12位权限位,基本权限位有9位,但还有3位特殊权限位

2、权限构造
  • Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)

  • File Type(文件类型)

    • 普通文件 (-

      • 普通文件(regular file)在 Linux 系统下是最常见的,如文本文件、二进制文件,编写的源代码文件这些都是普通文件,也就是一般意义上的文件。 普通文件中的数据存在系统磁盘中,可以访问文件中的内容,文件中的内容以字节为单位进行存储于访问

    • 套接字文件 (s

      • 套接字文件(socket)是一种进程间通信的方式,与管道文件不同的是,它可以在不同主机上的进程间通信

    • 管道文件(p

      • 管道文件(pipe) 主要用于通进程间信

    • 字符设备文件(c

      • 设备文件(字符设备文件、块设备文件)对应的是硬件设备,字符设备文件一般存放在 Linux 系统/dev/目录下,所以/dev 也称为虚拟文件系统 devfs

    • 块设备文件(b

      • 设备文件(字符设备文件、块设备文件)对应的是硬件设备,在 Linux 系统中,硬件设备会对应到一个设备文件,应用程序通过对设备文件的读写来操控、使用硬件设备。虽然有设备文件,但是设备文件并不对应磁盘上的一个文件,设备文件并不存在于磁盘中,而是由文件系统虚拟出来的,一般是由内存来维护, 当系统关机时,设备文件都会消失

    • 符号链接文件 (l

      • 符号链接文件(link) 类似于 Windows 系统中的快捷方式文件,是一种特殊文件,它的内容指向的是另一个文件路径,当对符号链接文件进行操作时,系统根据情况会对这个操作转移到它指向的文件上去,而不是对它本身进行操作

    • 目录文件(d

      • 目录(directory) 是文件夹,文件夹在 Linux 系统中是一种文件,是一种特殊文件。文件夹中记录了该文件夹本省的路径以及该文件夹下所存放的文件

  • 权限说明

    • 目录r-w-x权限

      • r:read 表示可以 ls 查看该目录的内容

      • w:write 表示可以操作该目录下的任何文件(移动、删除、重命名)

      • x:execute 表示可以进入该目录

    • 文件r-w-x权限

      • r:read 表示可以读取该文件的内容

      • w:write 表示可以编辑该文件的内容

      • x:execute 表示如果文件是可执行的,那么就有执行权限

    • 特殊权限(SUID)(SGID )(SBIT )

      • SUID(4000) 用户设置位 配置在u位

        • 主要是对命令,或者二进制文件,以该二进制文件的属主权限来执行该文件

      • SGID(2000) 组设置位 配置在g位

        • 主要是针对目录进行授权,共享目录

      • SBIT(1000) 粘滞位 配置在o位

        • 粘滞位,即便是该目录拥有w权限,但是除了root用户,其他用户只能对自己的文件进行删除、移动操作

      • 当U(user)G(group)O(other)对文件具有执行权限时

      • 当U(user)G(group)O(other)对文件具没有执行权限时

3、目录(文件)操作命令

增加修改目录(文件)权限命令:chmod 选项 文件/目录

  • 参数列表

    • -c : 若该文件权限确实已经更改,才显示其更改动作

    • -f : 若该文件权限无法被更改也不要显示错误讯息

    • -v : 显示权限变更的详细资料

    • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

    • --help : 显示辅助说明

    • --version : 显示版本

  • 实操案例

  • 修改目录(文件)所属命令:chown和chgrp

    • 超级管理员修改(可以修改用户和组):chown 选项 文件/目录

      • 参数列表

        • user : 新的文件拥有者的使用者 ID

        • group : 新的文件拥有者的使用者组(group)

        • -c : 显示更改的部分的信息

        • -f : 忽略错误信息

        • -h :修复符号链接

        • -v : 显示详细的处理信息

        • -R : 处理指定目录以及其子目录下的所有文件

        • --help : 显示辅助说明

        • --version : 显示版本

      • 实操案例

    • 非管理员修改(只可以修改组):chgrp 选项 文件/目录

      • 参数列表

        • -c 或 --changes:效果类似"-v"参数,但仅回报更改的部分。

        • -f 或 --quiet 或 --silent:不显示错误信息。

        • -h 或 --no-dereference:只对符号连接的文件作修改,而不改动其他任何相关文件。

        • -R 或 --recursive:递归处理,将指定目录下的所有文件及子目录一并处理。

        • -v 或 --verbose:显示指令执行过程。

        • --help:在线帮助。

        • --reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。

        • --version:显示版本信息

      • 实操案例

  • 查看目录(文件)权限和所属用户与所属组的命令:ll(ls -l 缩写)文件/目录

    • 参数列表

      • -d:查看目录的

    • 实操案例

4、扩展umask

1、概述

  • Linux umask命令指定在建立文件时预设的权限掩码,目录默认权限:755,文件默认权限:644

2、命令

  • umask 权限掩码

    • 参数:-S:以文字的方式来表示权限掩码

    • 实操案例

3、借鉴:https://blog.csdn.net/qq_52302132/article/details/127099378