【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 小时前
Elasticsearch实战应用:构建高效搜索与分析平台
大数据·elasticsearch·jenkins·运维开发·技术共享
运维&陈同学3 天前
【第三章】Python基础之元组tuple
linux·开发语言·python·运维开发·devops
Linux运维老纪3 天前
Mongodb可视化管理工具(MongoDB Visual Management Tool)
linux·服务器·数据库·mongodb·云计算·运维开发
哆啦A梦15885 天前
mysql数据表设计经验汇总篇
运维开发
天下闻6 天前
CentOS8 启动错误,enter emergency mode ,开机直接进入紧急救援模式,报错 Failed to mount /home 解决方法
运维·运维开发
_.Switch6 天前
高效灵活的Django URL配置与反向URL实现方案
运维·开发语言·数据库·python·django·sqlite·运维开发
运维&陈同学7 天前
【第三章】Python基础之列表list与随机数
linux·运维·python·云计算·运维开发·devops
致宏Rex8 天前
Nginx 负载均衡详解 x Shell 脚本实战
nginx·负载均衡·运维开发
Ujimatsu9 天前
虚拟机安装Ubuntu 24.04服务器版(命令行版)
linux·运维·服务器·ubuntu·运维开发
IT199510 天前
Linux笔记-对Linux环境变量的进一步认识(2024-08-09)
linux·运维·笔记·运维开发