【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,所以这一块要熟知下。

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

相关推荐
_.Switch1 天前
Serverless架构与自动化运维
运维·python·缓存·自动化·运维开发
Linux运维老纪2 天前
K8s资源对象监控之kube-state-metrics详解(Detailed Explanation of Kube State Metrics)
网络·安全·云原生·容器·kubernetes·云计算·运维开发
刘艳兵的学习博客3 天前
刘艳兵-DBA018-关于数据库处于ARCHIVELOG模式下的说法正确的是?
数据库·oracle·面试·运维开发·刘艳兵
我的运维人生3 天前
Python网络爬虫:入门与实战
运维开发·技术共享
微刻时光4 天前
Docker部署Redis
运维·redis·docker·容器·运维开发·经验
mhl11074 天前
Linux 上安装 conda 步骤实现
linux·运维·ubuntu·centos·ssh·conda·运维开发
冰魄禾5 天前
SAP ABAP开发学习——BAPI
运维·开发语言·笔记·运维开发·sap·abap
刘艳兵的学习博客5 天前
刘艳兵-DBA023-控制文件是Oracle 数据库用来查找数据库文件,控制文件包含以下哪些信息:
数据库·oracle·面试·运维开发·刘艳兵
我的运维人生6 天前
云原生后端:现代应用架构的核心力量
云原生·架构·运维开发·技术共享
我的运维人生6 天前
云原生后端:现代应用程序开发的关键技术
云原生·运维开发·技术共享