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

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

相关推荐
豪越大豪3 天前
豪越消防一体化安全管控平台:消防管理智能化
大数据·运维开发
Linux运维老纪4 天前
内网YUM源搭建手册(Internal Network yum Source Construction Manual)
linux·网络·阿里云·云计算·运维开发
Linux运维老纪5 天前
Linux之 权限提升(Linux Privilege Escalation)
linux·服务器·数据库·mysql·云计算·运维开发
demonlg01127 天前
Jenkins 共享库(Shared Libraries)使用说明文档
java·运维·python·jenkins·运维开发·devops
demonlg01127 天前
Jenkins CustomTools 插件使用说明文档
运维·jenkins·运维开发·devops
demonlg01127 天前
Jenkins集成Trivy安全漏洞检查指南
java·运维·python·jenkins·运维开发·devops
SG.xf7 天前
k8s的控制应用Helm
linux·运维开发
luckyext9 天前
SQLServer列转行操作及union all用法
运维·数据库·后端·sql·sqlserver·运维开发·mssql
Linux运维老纪10 天前
K8S集群新增和删除Node节点(K8s Cluster Adds and Removes Node Nodes)
linux·云原生·容器·kubernetes·云计算·运维开发
行思理10 天前
php 要达到go的性能,应该如何优化php
开发语言·php·运维开发