【Linux操作系统教程】用户管理与权限管理你真的懂了吗(三)

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD

如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊 座右铭:不想当开发的测试,不是一个好测试✌️。

如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

文章目录

一、背景

最近经常使用root用户去操作一些文件,导致普通用户无法访问,所以就开始改文件权限和文件所属组,感觉这一块的知识点还是有必要掌握,记在脑子里之后这样就不用另外查阅资料啦。

在Linux系统中可以配置多个用户、多个用户组,也可以将用户加入多个用户组中。

当在命令行输入ls -l时,可以看到下图展示的内容,接下来我们一一讲解。

  • 第一列,表示文件,文件夹的权限控制信息
  • 第二列,表示文件、文件夹所属用户
  • 第三列,表示文件、文件夹所属用户组

权限控制信息

咱们先来聊聊权限控制,权限控制信息这一列总共有10个槽位,例如 drwxr-xr-x

  • 第一列表示文件类型:d 表示文件夹,-表示文件,l表示软连接
  • rwx分别表示读写执行,分别可以用数字 4 2 1 代替;针对文件权限信息,可以使用root权限自由修改,我们一会就会聊到。

二、用户管理

  1. 创建用户

    格式:useradd [-g -d ]用户名

    bash 复制代码
    参数 -g 表示指定用户的组,如果不指定-g,则会创建用户组并自动加入,-g后面的用户组需要已经存在的。
    参数 -d 表示指定用户home路径,如果不指定,则默认是在/home/用户名
    bash 复制代码
    useradd zeng1
    useradd zeng2 -g TestGroup -d /home/zeng
  2. 删除用户

    格式:userdel [-r] 用户名

    bash 复制代码
    参数 -r 表示删除用户的HOME目录,不使用-r,删除用户时,HOME 目录保留
    bash 复制代码
    userdel -r zeng1
  3. 查看用户所属组
    id 用户名

    如果id后面没有加用户名,则表示查看自身

  4. 修改用户所属组
    usermod -aG 用户组 用户名 :将指定用户加入指定的用户组。

  5. 查看当前系统中有哪些用户
    getent passwd

    在上图展示的信息分别为 用户名:密码(x):用户名ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash),enmmm,这一块就先简单了解下吧。

  6. 切换用户------su命令

    su命令来源于Switch User
    su zeng1

    需要注意以下几点:

    (1)切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键 ctrl + d

    (2)使用普通用户,切换到其它用户需要输入密码,如切换到root用户。

    (3)使用root 用户切换到其它用户,无需密码,即可直接切换。

  7. 命令授权 ------sudo
    sudo 命令 在其它命令之前,带上sudo,即可为这一条命令临时赋予root权限。

三、用户组

  1. 创建用户组
    groupadd 用户组名

    bash 复制代码
    groupadd TestGroup
  2. 删除用户组
    groupdel 用户组名

    bash 复制代码
    groupdel TestGroup
  3. 查看系统全部组信息
    getent group

四、修改文件、文件夹的所属用户和用户组------chown

使用命令chown

  1. 修改所属用户
    在root用户下创建一个文件Project,所属用户为root,现在通过chown zeng1 Project ,将所属组修改为zeng1,具体操作如下图所示:

  2. 修改所属用户组
    chown :TestGroup Project: 将Project 所属用户组修改为TestGroup
  3. 其他案例
bash 复制代码
chown root:test hello.txt 将hello.txt 所属用户修改为root,用户组修改为test
chown -R root test 将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则

五、更改权限------chmod

chmod u=rwx,g=rx,o=x hello.txt 更改文件权限
chmod -R u=rwx,g=rx,o=x hello ,更改文件夹权限
注意:-R 对文件夹内的全部内容应用同样规则。

权限 描述 案例
0 表示无任何权限 ---
1 仅有x权限 --x
2 仅有w权限 -w-
3 有w和x权限 -wx
4 仅有r权限 r--
5 有r和x权限 r-x
6 有r和w权限 rw-
7 有rwx权限 rwx
bash 复制代码
chmod 515 hello.txt
chmod 326 hello.txt

在工作中经常使用的命令是chmod和chown,所以这一块要熟知下。

德拉克罗瓦曾说过:无论哪一行,都需要职业的技能。天才总应该伴随着那种导向一个目标的有头脑的不间断的练习,没有这一点,甚至连最幸运的才能,也会无影无踪地消失。

相关推荐
是垚不是土1 天前
基于DDNS-Go动态域名解析配置:实现多网络线路冗余切换方案
运维·开发语言·网络·阿里云·golang·运维开发
乾元3 天前
AI 驱动的网络攻防演练与安全态势推演——从“规则检测”到“行为级对抗”的工程体系
网络·人工智能·安全·web安全·架构·自动化·运维开发
AOwhisky5 天前
用户、用户组管理
linux·运维·运维开发
Data-Miner5 天前
30页实用WORD|《IT运维流程问题管理制度》
运维开发
linweidong7 天前
顺丰运维面试题及参考答案
运维·nginx·容器·ansible·运维开发·防火墙·python面试
乾元9 天前
基于时序数据的异常预测——短期容量与拥塞的提前感知
运维·开发语言·网络·人工智能·python·自动化·运维开发
我送炭你添花9 天前
Pelco KBD300A 模拟器:04+1.Python 打包详解:历史、发展与多种方式对比
python·测试工具·运维开发
我送炭你添花9 天前
Pelco KBD300A 模拟器:06+2.Pelco KBD300A 模拟器项目重构指南
python·重构·自动化·运维开发
我送炭你添花11 天前
Pelco KBD300A 模拟器:06.用 PyQt5 实现 1:1 像素级完美复刻 Pelco KBD300A 键盘
python·qt·自动化·运维开发
运维行者_11 天前
APM 性能监控是什么?从应用监控与网站监控了解基础概念
网络·数据库·云原生·容器·kubernetes·智能路由器·运维开发